ade7d0808781f671890ab41903b314c7aa16fe94
[WebKit-https.git] / WebCore / ChangeLog
1 2006-08-21  Brady Eidson  <beidson@apple.com>
2
3         Reviewed by Anders
4
5         -Added timer-based, deferred deletion of database records - PageURLs and Icons handled seperately
6          In the near future, we'll also have timer-based deferred *addition* of database records
7         -Keep retain/release counts in a hash instead of a DB table
8         -Keep only one hash record for the SiteIcons
9         -Renamed some methods for clarity
10
11         * bridge/mac/WebCoreIconDatabaseBridge.h: Renamed method for clarity
12         * bridge/mac/WebCoreIconDatabaseBridge.mm: Ditto
13         (-[WebCoreIconDatabaseBridge _hasEntryForIconURL:]): Ditto
14         * loader/icon/IconDatabase.cpp:
15         (WebCore::IconDatabase::IconDatabase):
16         (WebCore::IconDatabase::open): Added new timer setup
17         (WebCore::IconDatabase::iconForPageURL): Only work with one hash of the SiteIcons
18         (WebCore::IconDatabase::retainIconForPageURL): Keep count in a hash
19         (WebCore::IconDatabase::releaseIconForPageURL): Keep count in a hash, use deferred deletion
20         (WebCore::IconDatabase::retainIconURL): Added
21         (WebCore::IconDatabase::releaseIconURL): Added
22         (WebCore::IconDatabase::forgetPageURL):  Added
23         (WebCore::IconDatabase::isIconURLRetained): New and improved simplicity
24         (WebCore::IconDatabase::setIconDataForIconURL): Cleanup
25         (WebCore::IconDatabase::setIconURLForPageURL):
26         (WebCore::IconDatabase::pruneUnretainedIconsOnStartup): Renamed
27         (WebCore::IconDatabase::pruneIconsPendingDeletion): Added
28         (WebCore::IconDatabase::hasEntryForIconURL): Renamed for clarity
29         * loader/icon/IconDatabase.h: Added multiple stuffs
30
31 2006-08-21  Brady Eidson  <beidson@apple.com>
32
33         Reviewed by Maciej's rubberstamp
34
35         Removed stale file references from the Xcode.proj
36
37         * WebCore.xcodeproj/project.pbxproj:
38
39 2006-08-20  Nikolas Zimmermann  <zimmermann@kde.org>
40
41         Reviewed by Maciej. Landed by rwlbuis.
42
43         Fixes parts of: http://bugzilla.opendarwin.org/show_bug.cgi?id=10463
44         WebKit should have Qt platform support
45
46         Removing HelperQt.h usage by creating appropriate operators
47         constructor in some of the platform classes, as suggested by Darin.
48
49         * CMakeLists.txt:
50         * platform/DeprecatedString.h:
51         * platform/Font.h:
52         * platform/PlatformString.h:
53         * platform/qt/ComboBoxQt.cpp:
54         (WebCore::PlatformComboBox::appendItem):
55         (WebCore::PlatformComboBox::appendGroupLabel):
56         (WebCore::PlatformComboBox::setFont):
57         * platform/qt/LineEditQt.cpp:
58         (WebCore::PlatformLineEdit::setFont):
59         (WebCore::PlatformLineEdit::setText):
60         (WebCore::PlatformLineEdit::text):
61         (WebCore::PlatformLineEdit::selectedText):
62         * platform/qt/ListBoxQt.cpp:
63         (WebCore::ListBox::setFont):
64         (WebCore::ListBox::appendItem):
65         * platform/qt/PlatformKeyboardEventQt.cpp:
66         (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
67         * platform/qt/ScrollViewQt.cpp:
68         * platform/qt/StringQt.cpp: Added.
69         (WebCore::String::String):
70         (WebCore::String::operator QString):
71         (WebCore::DeprecatedString::operator QString):
72         * platform/qt/TextEditQt.cpp:
73         * platform/qt/WidgetQt.cpp:
74         (WebCore::Widget::setFont):
75
76 2006-08-18  Steve Falkenburg  <sfalken@apple.com>
77
78         Rubber stamped by adele.
79         
80         Fix call to WebFormDelegate's textFieldDidBeginEditing.
81
82         * rendering/RenderTextControl.cpp:
83         (WebCore::RenderTextControl::subtreeHasChanged):
84
85 2006-08-19  Nikolas Zimmermann  <zimmermann@kde.org>
86
87         Reviewed by Eric. Landed by rwlbuis.
88
89         Next chunk of the implementation for:
90         http://bugzilla.opendarwin.org/show_bug.cgi?id=10467
91
92         WebKit should have Qt platform support
93
94         * platform/qt/KeyboardCodes.h: Added.
95         * platform/qt/PlatformKeyboardEventQt.cpp: Added.
96         (WebCore::keyIdentifierForQtKeyCode):
97         (WebCore::windowsKeyCodeForKeyEvent):
98         (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
99         * platform/qt/PlatformMouseEventQt.cpp: Added.
100         (WebCore::):
101         (WebCore::PlatformMouseEvent::PlatformMouseEvent):
102
103 2006-08-19  Nikolas Zimmermann  <zimmermann@kde.org>
104
105         Reviewed by Eric. Landed by rwlbuis.
106
107         Next chunk of the implementation for:
108         http://bugzilla.opendarwin.org/show_bug.cgi?id=10467
109
110         WebKit should have Qt platform support
111
112         * platform/qt/AffineTransformQt.cpp: Added.
113         (WebCore::AffineTransform::AffineTransform):
114         (WebCore::AffineTransform::setMatrix):
115         (WebCore::AffineTransform::map):
116         (WebCore::AffineTransform::mapRect):
117         (WebCore::AffineTransform::isIdentity):
118         (WebCore::AffineTransform::m11):
119         (WebCore::AffineTransform::m12):
120         (WebCore::AffineTransform::m21):
121         (WebCore::AffineTransform::m22):
122         (WebCore::AffineTransform::dx):
123         (WebCore::AffineTransform::dy):
124         (WebCore::AffineTransform::reset):
125         (WebCore::AffineTransform::scale):
126         (WebCore::AffineTransform::rotate):
127         (WebCore::AffineTransform::translate):
128         (WebCore::AffineTransform::shear):
129         (WebCore::AffineTransform::det):
130         (WebCore::AffineTransform::invert):
131         (WebCore::AffineTransform::operator QMatrix):
132         (WebCore::AffineTransform::operator==):
133         (WebCore::AffineTransform::operator*=):
134         (WebCore::AffineTransform::operator*):
135         * platform/qt/BrowserExtensionQt.cpp: Added.
136         (WebCore::BrowserExtensionQt::BrowserExtensionQt):
137         (WebCore::BrowserExtensionQt::canRunModal):
138         (WebCore::BrowserExtensionQt::createNewWindow):
139         (WebCore::BrowserExtensionQt::canRunModalNow):
140         (WebCore::BrowserExtensionQt::runModal):
141         (WebCore::BrowserExtensionQt::goBackOrForward):
142         (WebCore::BrowserExtensionQt::historyURL):
143         (WebCore::BrowserExtensionQt::setTypedIconURL):
144         (WebCore::BrowserExtensionQt::setIconURL):
145         (WebCore::BrowserExtensionQt::getHistoryLength):
146         * platform/qt/BrowserExtensionQt.h: Added.
147         * platform/qt/CookieJarQt.cpp: Added.
148         (WebCore::setCookies):
149         (WebCore::cookies):
150         (WebCore::cookiesEnabled):
151         * platform/qt/PageQt.cpp: Added.
152         (WebCore::rootWindowForFrame):
153         (WebCore::Page::windowRect):
154         (WebCore::Page::setWindowRect):
155         * platform/qt/PathQt.cpp: Added.
156         (WebCore::Path::Path):
157         (WebCore::Path::~Path):
158         (WebCore::Path::operator=):
159         (WebCore::Path::contains):
160         (WebCore::Path::translate):
161         (WebCore::Path::boundingRect):
162         (WebCore::Path::moveTo):
163         (WebCore::Path::addLineTo):
164         (WebCore::Path::addQuadCurveTo):
165         (WebCore::Path::addBezierCurveTo):
166         (WebCore::Path::addArcTo):
167         (WebCore::Path::closeSubpath):
168         (WebCore::Path::addArc):
169         (WebCore::Path::addRect):
170         (WebCore::Path::addEllipse):
171         (WebCore::Path::clear):
172         * platform/qt/ScreenQt.cpp: Added.
173         (WebCore::screenRect):
174         (WebCore::screenDepth):
175         (WebCore::usableScreenRect):
176
177
178 2006-08-19  Nikolas Zimmermann  <zimmermann@kde.org>
179
180         Reviewed by Eric. Landed by rwlbuis.
181
182         First chunk of the implementation for:
183         http://bugzilla.opendarwin.org/show_bug.cgi?id=10467
184
185         WebKit should have Qt platform support
186
187         * platform/qt/ComboBoxQt.cpp: Added.
188         (WebCore::PlatformComboBox::PlatformComboBox):
189         (WebCore::PlatformComboBox::~PlatformComboBox):
190         (WebCore::PlatformComboBox::setParentWidget):
191         (WebCore::PlatformComboBox::clear):
192         (WebCore::PlatformComboBox::appendItem):
193         (WebCore::PlatformComboBox::appendGroupLabel):
194         (WebCore::PlatformComboBox::appendSeparator):
195         (WebCore::PlatformComboBox::setCurrentItem):
196         (WebCore::PlatformComboBox::sizeHint):
197         (WebCore::PlatformComboBox::frameGeometry):
198         (WebCore::PlatformComboBox::setFrameGeometry):
199         (WebCore::PlatformComboBox::baselinePosition):
200         (WebCore::PlatformComboBox::setFont):
201         (WebCore::PlatformComboBox::focusPolicy):
202         (WebCore::PlatformComboBox::itemSelected):
203         (WebCore::PlatformComboBox::setWritingDirection):
204         (WebCore::PlatformComboBox::populate):
205         (WebCore::PlatformComboBox::populateMenu):
206         * platform/qt/LineEditQt.cpp: Added.
207         (WebCore::PlatformLineEdit::PlatformLineEdit):
208         (WebCore::PlatformLineEdit::~PlatformLineEdit):
209         (WebCore::PlatformLineEdit::setParentWidget):
210         (WebCore::PlatformLineEdit::setColors):
211         (WebCore::PlatformLineEdit::setAlignment):
212         (WebCore::PlatformLineEdit::setCursorPosition):
213         (WebCore::PlatformLineEdit::cursorPosition):
214         (WebCore::PlatformLineEdit::setEdited):
215         (WebCore::PlatformLineEdit::edited):
216         (WebCore::PlatformLineEdit::setFont):
217         (WebCore::PlatformLineEdit::setMaxLength):
218         (WebCore::PlatformLineEdit::maxLength):
219         (WebCore::PlatformLineEdit::setReadOnly):
220         (WebCore::PlatformLineEdit::isReadOnly):
221         (WebCore::PlatformLineEdit::setText):
222         (WebCore::PlatformLineEdit::text):
223         (WebCore::PlatformLineEdit::setWritingDirection):
224         (WebCore::PlatformLineEdit::selectAll):
225         (WebCore::PlatformLineEdit::hasSelectedText):
226         (WebCore::PlatformLineEdit::selectionStart):
227         (WebCore::PlatformLineEdit::selectedText):
228         (WebCore::PlatformLineEdit::setSelection):
229         (WebCore::PlatformLineEdit::sizeForCharacterWidth):
230         (WebCore::PlatformLineEdit::baselinePosition):
231         (WebCore::PlatformLineEdit::focusPolicy):
232         (WebCore::PlatformLineEdit::checksDescendantsForFocus):
233         (WebCore::PlatformLineEdit::setLiveSearch):
234         (WebCore::PlatformLineEdit::setAutoSaveName):
235         (WebCore::PlatformLineEdit::setMaxResults):
236         (WebCore::PlatformLineEdit::setPlaceholderString):
237         (WebCore::PlatformLineEdit::addSearchResult):
238         * platform/qt/ListBoxQt.cpp: Added.
239         (WebCore::ListBox::ListBox):
240         (WebCore::ListBox::~ListBox):
241         (WebCore::ListBox::setParentWidget):
242         (WebCore::ListBox::sizeForNumberOfLines):
243         (WebCore::ListBox::setSelectionMode):
244         (WebCore::ListBox::clear):
245         (WebCore::ListBox::doneAppendingItems):
246         (WebCore::ListBox::setSelected):
247         (WebCore::ListBox::isSelected):
248         (WebCore::ListBox::setEnabled):
249         (WebCore::ListBox::isEnabled):
250         (WebCore::ListBox::setWritingDirection):
251         (WebCore::ListBox::focusPolicy):
252         (WebCore::ListBox::checksDescendantsForFocus):
253         (WebCore::ListBox::clearCachedTextRenderers):
254         (WebCore::ListBox::setFont):
255         (WebCore::ListBox::appendItem):
256         * platform/qt/ScrollViewQt.cpp: Added.
257         (WebCore::ScrollView::ScrollView):
258         (WebCore::ScrollView::~ScrollView):
259         (WebCore::ScrollView::setParentWidget):
260         (WebCore::ScrollView::updateContents):
261         (WebCore::ScrollView::visibleWidth):
262         (WebCore::ScrollView::visibleHeight):
263         (WebCore::ScrollView::visibleContentRect):
264         (WebCore::ScrollView::setContentsPos):
265         (WebCore::ScrollView::resizeContents):
266         (WebCore::ScrollView::contentsX):
267         (WebCore::ScrollView::contentsY):
268         (WebCore::ScrollView::contentsWidth):
269         (WebCore::ScrollView::contentsHeight):
270         (WebCore::ScrollView::viewportToContents):
271         (WebCore::ScrollView::contentsToViewport):
272         (WebCore::ScrollView::scrollOffset):
273         (WebCore::ScrollView::scrollBy):
274         (WebCore::ScrollView::hScrollBarMode):
275         (WebCore::ScrollView::vScrollBarMode):
276         (WebCore::ScrollView::suppressScrollBars):
277         (WebCore::ScrollView::setHScrollBarMode):
278         (WebCore::ScrollView::setVScrollBarMode):
279         (WebCore::ScrollView::setScrollBarsMode):
280         (WebCore::ScrollView::setStaticBackground):
281         (WebCore::ScrollView::addChild):
282         (WebCore::ScrollView::removeChild):
283         (WebCore::ScrollView::scrollPointRecursively):
284         (WebCore::ScrollView::inWindow):
285         * platform/qt/TextEditQt.cpp: Added.
286         (WebCore::PlatformTextEdit::PlatformTextEdit):
287         (WebCore::PlatformTextEdit::~PlatformTextEdit):
288         (WebCore::PlatformTextEdit::setParentWidget):
289         (WebCore::PlatformTextEdit::setColors):
290         (WebCore::PlatformTextEdit::setAlignment):
291         (WebCore::PlatformTextEdit::setLineHeight):
292         (WebCore::PlatformTextEdit::setCursorPosition):
293         (WebCore::PlatformTextEdit::getCursorPosition):
294         (WebCore::PlatformTextEdit::setFont):
295         (WebCore::PlatformTextEdit::setReadOnly):
296         (WebCore::PlatformTextEdit::isReadOnly):
297         (WebCore::PlatformTextEdit::setDisabled):
298         (WebCore::PlatformTextEdit::isDisabled):
299         (WebCore::PlatformTextEdit::hasSelectedText):
300         (WebCore::PlatformTextEdit::setText):
301         (WebCore::PlatformTextEdit::text):
302         (WebCore::PlatformTextEdit::textWithHardLineBreaks):
303         (WebCore::PlatformTextEdit::focusPolicy):
304         (WebCore::PlatformTextEdit::setWordWrap):
305         (WebCore::PlatformTextEdit::wordWrap):
306         (WebCore::PlatformTextEdit::setScrollBarModes):
307         (WebCore::PlatformTextEdit::setWritingDirection):
308         (WebCore::PlatformTextEdit::selectionStart):
309         (WebCore::PlatformTextEdit::selectionEnd):
310         (WebCore::PlatformTextEdit::setSelectionStart):
311         (WebCore::PlatformTextEdit::setSelectionEnd):
312         (WebCore::PlatformTextEdit::selectAll):
313         (WebCore::PlatformTextEdit::setSelectionRange):
314         (WebCore::PlatformTextEdit::sizeWithColumnsAndRows):
315         (WebCore::PlatformTextEdit::checksDescendantsForFocus):
316         * platform/qt/WidgetQt.cpp: Added.
317         (WebCore::WidgetPrivate::WidgetPrivate):
318         (WebCore::WidgetPrivate::~WidgetPrivate):
319         (WebCore::Widget::Widget):
320         (WebCore::Widget::~Widget):
321         (WebCore::Widget::setClient):
322         (WebCore::Widget::client):
323         (WebCore::Widget::frameGeometry):
324         (WebCore::Widget::hasFocus):
325         (WebCore::Widget::setFocus):
326         (WebCore::Widget::clearFocus):
327         (WebCore::Widget::font):
328         (WebCore::Widget::setFont):
329         (WebCore::Widget::setCursor):
330         (WebCore::Widget::show):
331         (WebCore::Widget::hide):
332         (WebCore::Widget::setQWidget):
333         (WebCore::Widget::qwidget):
334         (WebCore::Widget::setParentWidget):
335         (WebCore::Widget::parentWidget):
336         (WebCore::Widget::setFrameGeometry):
337         (WebCore::Widget::mapFromGlobal):
338         (WebCore::Widget::scaleFactor):
339         (WebCore::Widget::lockDrawingFocus):
340         (WebCore::Widget::unlockDrawingFocus):
341         (WebCore::Widget::paint):
342         (WebCore::Widget::enableFlushDrawing):
343         (WebCore::Widget::isEnabled):
344         (WebCore::Widget::setIsSelected):
345         (WebCore::Widget::disableFlushDrawing):
346         (WebCore::Widget::setEnabled):
347         (WebCore::Widget::focusPolicy):
348
349 2006-08-19  Nikolas Zimmermann  <zimmermann@kde.org>
350
351         Reviewed by Eric. Landed by rwlbuis.
352
353         First chunk of the implementation for:
354         http://bugzilla.opendarwin.org/show_bug.cgi?id=10467
355
356         WebKit should have Qt platform support
357
358         * platform/qt/ColorQt.cpp: Added.
359         (WebCore::Color::Color):
360         (WebCore::Color::operator QColor):
361         * platform/qt/FloatPointQt.cpp: Added.
362         (WebCore::FloatPoint::FloatPoint):
363         (WebCore::FloatPoint::operator QPointF):
364         * platform/qt/FloatRectQt.cpp: Added.
365         (WebCore::FloatRect::FloatRect):
366         (WebCore::FloatRect::operator QRectF):
367         * platform/qt/IntPointQt.cpp: Added.
368         (WebCore::IntPoint::IntPoint):
369         (WebCore::IntPoint::operator QPoint):
370         * platform/qt/IntRectQt.cpp: Added.
371         (WebCore::IntRect::IntRect):
372         (WebCore::IntRect::operator QRect):
373         * platform/qt/IntSizeQt.cpp: Added.
374         (WebCore::IntSize::IntSize):
375         (WebCore::IntSize::operator QSize):
376
377  2006-08-18  Nikolas Zimmermann  <zimmermann@kde.org>
378  
379          Reviewed by Eric. Landed by rwlbuis.
380  
381          Fixes: http://bugzilla.opendarwin.org/show_bug.cgi?id=10470
382          The Qt platform needs a KCanvas device.
383  
384          * kcanvas/device/qt/KCanvasClipperQt.cpp: Added.
385          (WebCore::KCanvasClipperQt::applyClip):
386          * kcanvas/device/qt/KCanvasClipperQt.h: Added.
387          (WebCore::KCanvasClipperQt::KCanvasClipperQt):
388          * kcanvas/device/qt/KCanvasPathQt.cpp: Added.
389          (WebCore::KCanvasPathQt::KCanvasPathQt):
390          (WebCore::KCanvasPathQt::~KCanvasPathQt):
391          (WebCore::KCanvasPathQt::isEmpty):
392          (WebCore::KCanvasPathQt::moveTo):
393          (WebCore::KCanvasPathQt::lineTo):
394          (WebCore::KCanvasPathQt::curveTo):
395          (WebCore::KCanvasPathQt::closeSubpath):
396          (WebCore::KCanvasPathQt::boundingBox):
397          (WebCore::KCanvasPathQt::strokeBoundingBox):
398          (WebCore::KCanvasPathQt::strokeContainsPoint):
399          (WebCore::KCanvasPathQt::containsPoint):
400          * kcanvas/device/qt/KCanvasPathQt.h: Added.
401          (WebCore::KCanvasPathQt::qtPath):
402          * kcanvas/device/qt/KRenderingDeviceQt.cpp: Added.
403          (WebCore::KRenderingDeviceContextQt::KRenderingDeviceContextQt):
404          (WebCore::KRenderingDeviceContextQt::~KRenderingDeviceContextQt):
405          (WebCore::KRenderingDeviceContextQt::concatCTM):
406          (WebCore::KRenderingDeviceContextQt::ctm):
407          (WebCore::KRenderingDeviceContextQt::mapFromVisual):
408          (WebCore::KRenderingDeviceContextQt::mapToVisual):
409          (WebCore::KRenderingDeviceContextQt::clearPath):
410          (WebCore::KRenderingDeviceContextQt::addPath):
411          (WebCore::KRenderingDeviceContextQt::createGraphicsContext):
412          (WebCore::KRenderingDeviceContextQt::painter):
413          (WebCore::KRenderingDeviceContextQt::pathBBox):
414          (WebCore::KRenderingDeviceContextQt::setFillRule):
415          (WebCore::KRenderingDeviceContextQt::fillPath):
416          (WebCore::KRenderingDeviceContextQt::strokePath):
417          (WebCore::KRenderingDeviceQt::KRenderingDeviceQt):
418          (WebCore::KRenderingDeviceQt::~KRenderingDeviceQt):
419          (WebCore::KRenderingDeviceQt::popContext):
420          (WebCore::KRenderingDeviceQt::pushContext):
421          (WebCore::KRenderingDeviceQt::qtContext):
422          (WebCore::KRenderingDeviceQt::contextForImage):
423          (WebCore::KRenderingDeviceQt::stringForPath):
424          (WebCore::KRenderingDeviceQt::createResource):
425          (WebCore::KRenderingDeviceQt::createPaintServer):
426          (WebCore::KRenderingDeviceQt::createFilterEffect):
427
428 2006-08-17  Nikolas Zimmermann  <zimmermann@kde.org>
429
430         Reviewed by Eric. Landed by rwlbuis.
431
432         Fixes: http://bugzilla.opendarwin.org/show_bug.cgi?id=10466
433         WebKit should have Qt platform support.
434
435         * platform/Color.h:
436         * platform/Cursor.h:
437         (WebCore::Cursor::Cursor):
438         * platform/FloatPoint.h:
439         * platform/FloatRect.h:
440         * platform/GlyphBuffer.h:
441         (WebCore::GlyphBuffer::glyphAt):
442         (WebCore::GlyphBuffer::advanceAt):
443         (WebCore::GlyphBuffer::add):
444         * platform/GraphicsContext.h:
445         * platform/ImageSource.h:
446         * platform/IntPoint.h:
447         * platform/IntRect.h:
448         * platform/IntSize.h:
449         * platform/ListBox.h:
450         * platform/Path.h:
451         * platform/PlatformKeyboardEvent.h:
452         * platform/PlatformMouseEvent.h:
453         * platform/ResourceLoader.h:
454         * platform/ResourceLoaderClient.h:
455         * platform/ResourceLoaderInternal.h:
456         (WebCore::ResourceLoaderInternal::ResourceLoaderInternal):
457         * platform/ScrollView.h:
458         * platform/Widget.h:
459
460 2006-08-17  Nikolas Zimmermann  <zimmermann@kde.org>
461
462         Reviewed by Eric. Landed by rwlbuis.
463
464         Fixes: http://bugzilla.opendarwin.org/show_bug.cgi?id=10465
465         General WebKit Linux build fixes.
466
467         * kcanvas/KCanvasFilters.cpp:
468         (WebCore::operator<<):
469         * kcanvas/RenderSVGImage.cpp:
470         * ksvg2/css/SVGCSSStyleSelector.cpp:
471         * ksvg2/svg/SVGAnimateColorElement.cpp:
472         * ksvg2/svg/SVGMaskElement.cpp:
473         * ksvg2/svg/SVGPatternElement.cpp:
474         * page/Frame.h:
475         * rendering/RenderStyle.h:
476         (WebCore::RenderStyle::deleteBindingURIs):
477         * xml/DOMParser.cpp:
478
479 2006-08-17  Nikolas Zimmermann  <zimmermann@kde.org>
480
481         Reviewed by Eric. Landed by rwlbuis.
482
483         Fixes: http://bugzilla.opendarwin.org/show_bug.cgi?id=10464
484         Offer a cmake build system for Qt platform.
485
486         * CMakeLists.txt: Added.
487
488 2006-08-17  David Harrison  <harrison@apple.com>
489
490         Reviewed by John Sullivan.
491
492         <rdar://problem/4671069> REGRESSION: Popup buttons in web pages aren't exposed as AXPopupButtons
493
494         Accessorized RenderMenuList objects.
495         
496         * bridge/mac/WebCoreAXObject.mm:
497         (-[WebCoreAXObject mouseButtonListener]):
498         Trivial formatting.
499         
500         (-[WebCoreAXObject actionElement]):
501         Return the HTMLSelectElement.
502         
503         (-[WebCoreAXObject firstChild]):
504         (-[WebCoreAXObject lastChild]):
505         (-[WebCoreAXObject previousSibling]):
506         (-[WebCoreAXObject nextSibling]):
507         (-[WebCoreAXObject parentObject]):
508         (-[WebCoreAXObject parentObjectUnignored]):
509         (-[WebCoreAXObject isAttachment]):
510         (-[WebCoreAXObject attachmentView]):
511         Trivial formatting.
512
513         (-[WebCoreAXObject role]):
514         Return NSAccessibilityPopUpButtonRole.
515
516         (-[WebCoreAXObject subrole]):
517         Trivial formatting.
518         
519         (-[WebCoreAXObject roleDescription]):
520         Return NSAccessibilityPopUpButtonRole.
521         
522         (-[WebCoreAXObject textUnderElement]):
523         Trivial formatting.
524
525         (-[WebCoreAXObject value]):
526         Return the RenderMenuList::text().
527         
528         (-[WebCoreAXObject position]):
529          Trivial formatting.
530
531         (-[WebCoreAXObject accessibilityIsIgnored]):
532         - Ignore popup menu items because AppKit does.
533         - Remove redundant check for buttonTag (earlier isControl() check suffices).
534         
535         (-[WebCoreAXObject accessibilityAttributeNames]):
536         (-[WebCoreAXObject accessibilityActionNames]):
537         (-[WebCoreAXObject accessibilityAttributeValue:]):
538         Trivial formatting.
539         
540         (-[WebCoreAXObject doAXTextMarkerRangeForUnorderedTextMarkers:]):
541         Removed old debugging code that is no longer needed.
542         Trivial formatting.
543         
544         (-[WebCoreAXObject doAXSentenceTextMarkerRangeForTextMarker:]):
545         (-[WebCoreAXObject doAXParagraphTextMarkerRangeForTextMarker:]):
546         (-[WebCoreAXObject removeAXObjectID]):
547         Trivial formatting.
548         
549         * html/HTMLSelectElement.cpp:
550         (WebCore::HTMLSelectElement::accessKeyAction):
551         Call click() instead of focus().
552         
553         * rendering/RenderMenuList.cpp:
554         (WebCore::RenderMenuList::text):
555         Added for easy access to popup's current text.
556         
557         * rendering/RenderMenuList.h:
558         (WebCore::RenderMenuList::isMenuList):
559         * rendering/RenderObject.h:
560         (WebCore::RenderObject::isMenuList):
561         Added so popups can be identified.
562
563 2006-08-17  David Harrison  <harrison@apple.com>
564
565         Reviewed by Maciej.
566
567         <rdar://problem/4527201> REGRESSION: AXTextMarkerRangeForUnorderedTextMarkers returns out of order range
568
569         Test cases added: None.  Manual AX testing is way too awkward, and automated testing
570         is not possible.  See following bug...
571             <rdar://problem/4256882> Need automated testing support for accessibility APIs
572
573         * bridge/mac/AXObjectCacheMac.mm:
574         (WebCore::AXObjectCache::visiblePositionForTextMarker):
575         Validate the marker by comparing the node and offset to those of the resulting VisiblePosition.
576
577 2006-08-17  Nikolas Zimmermann  <zimmermann@kde.org>
578
579         Reviewed by Anders.
580
581         Fixes: http://bugzilla.opendarwin.org/show_bug.cgi?id=10447
582         AffineTransform should be multi-platform compatible
583
584         * platform/AffineTransform.h:
585         * platform/cg/AffineTransformCG.cpp:
586         (WebCore::AffineTransform::m11):
587         (WebCore::AffineTransform::m12):
588         (WebCore::AffineTransform::m21):
589         (WebCore::AffineTransform::m22):
590         (WebCore::AffineTransform::dx):
591         (WebCore::AffineTransform::dy):
592
593 2006-08-16  David Hyatt  <hyatt@apple.com>
594
595         Fix an issue with CSS2 system fonts where they did not respect text
596         zoom.  This was most visible with the new control fonts used for form
597         controls (they stopped swapping between small/mini/regular as you zoomed).
598
599         Reviewed by beth
600
601         * css/cssstyleselector.cpp:
602         (WebCore::CSSStyleSelector::applyProperty):
603
604 2006-08-15  Justin Garcia  <justin.garcia@apple.com>
605
606         Reviewed by thatcher
607         
608         First part of fix for:
609         <rdar://problem/4384589>
610         Mail hung on paste text
611         
612         Fixes:
613         <http://bugzilla.opendarwin.org/show_bug.cgi?id=8592>
614         Extra line left after deleting whitespace:pre text
615         <rdar://problem/4128080> Paste as HTML does not yield equivalent style
616         <rdar://problem/4046469> Box styles on first element aren't copied/pasted
617         Copy/paste of arstechnica.com
618         
619         Here's how we avoid adding redundant style information on paste: insert 
620         the fragment and do a test rendering, save away style information for 
621         every node in the fragment, remove all style information from the fragment, 
622         remove the fragment, insert it into the appropriate place in the document, 
623         then restore only those styles gathered during the test insertion that aren't
624         redundant.  Restoring the styles in this way results in an ApplyStyleCommand 
625         and a layout for nearly every inserted node.  
626         Instead we want to insert the fragment into the document without removing the 
627         style information, then mark style nodes and inline style declarations for 
628         removal if they are redundant, and sweep to remove them.  This means that we 
629         can't rely on ReplacementFragment::wasBlock anymore, because blocks will now 
630         have style spans around them.  This patch removes the use of wasBlock in 
631         ReplaceSelectionCommand.
632         
633         * editing/CompositeEditCommand.cpp:
634         (WebCore::CompositeEditCommand::moveParagraphs): Added code
635         to remove the line placeholder left after a move from preserveNewline text.
636         * editing/DeleteSelectionCommand.cpp:
637         (WebCore::DeleteSelectionCommand::doApply): Don't add a placeholder if 
638         we're deleting a paragraph in preserveNewline text.
639         * editing/JSEditor.cpp: Pass true to prevent nesting.
640         * editing/ReplaceSelectionCommand.cpp: Removed wasBlock and friends.
641         (WebCore::ReplacementFragment::ReplacementFragment): Ditto.
642         (WebCore::ReplacementFragment::saveRenderingInfo): Ditto.
643         (WebCore::RenderingInfo::RenderingInfo): Ditto.
644         (WebCore::ReplaceSelectionCommand::ReplaceSelectionCommand):
645         (WebCore::ReplaceSelectionCommand::shouldMergeStart): Combined the to/from
646         merging rules into one method.
647         (WebCore::ReplaceSelectionCommand::shouldMergeEnd):
648         (WebCore::ReplaceSelectionCommand::shouldMerge):
649         (WebCore::ReplaceSelectionCommand::doApply): 
650         Don't do nesting prevention when pasting into an empty paragraph, this
651         fixes 4046469, the common cause of paste fidelity bugs, but needs
652         to be tweaked a little because this can lead to margin/border build-up
653         on repeated copy/pastes.
654         Don't track startPos in addition to insertionPos.  It was never used.
655         Fixed a bug where a fragment starting with an interchange newline would
656         cause content to be put outside of an editable region when pasting at the 
657         very end of it.
658         Adjust insertionPos before insertion (not during) and do not consult wasBlock
659         to decide whether or not to do so.
660         Changed the way we do the start merge: insert the fragment, then stich 
661         paragraphs together, in the same way that we do the end merge.  This 
662         doesn't require wasBlock and fixes bugs.
663         Replaced some uses of insertionPos with endOfInsertedContent.
664         Fixed a bug in the expansion of the last incoming br (a "collapsed" br
665         is one where !isStartOfParagraph([br,0])).
666         Removed the special case code that did the end merge for the preserveNewline 
667         case, since this patch fixes the moveParagraph bug in the preserveNewline case.
668         Removed some unused variables.
669         (WebCore::ReplaceSelectionCommand::shouldRemoveEndBR): An endBR that was 
670         holding a line open should always be displaced by inserted content, unless 
671         the inserted content ends with a br.
672         (WebCore::ReplaceSelectionCommand::updateNodesInserted):
673         * editing/ReplaceSelectionCommand.h:
674         (WebCore::RenderingInfo::style):
675         * editing/markup.cpp:
676         (WebCore::createMarkup): Only add mail blockquotes and list/table/pre when
677         annotate is true (when we're creating markup for the pasteboard).
678
679 2006-08-16  John Sullivan  <sullivan@apple.com>
680
681         Reviewed by Brady Eidson
682         
683         - fixed <rdar://problem/4637156> underlines appearing in white selection text
684
685         * rendering/InlineFlowBox.cpp:
686         (WebCore::InlineFlowBox::paintDecorations):
687         bail out if phase is PaintPhaseSelection and forceWhiteText is true
688
689 2006-08-16  Brady Eidson  <beidson@apple.com>
690
691         Reviewed by John
692
693         Updated the DB version number and added a helpful comment explaining its meaning
694
695         * loader/icon/IconDatabase.cpp:
696
697 2006-08-16  Brady Eidson  <beidson@apple.com>
698
699         Reviewed by Maciej
700
701         Major refactoring of new iconDB:
702         -Instead of private browsing being handled by in-memory tables, it's now handled
703          by a separate in-memory database with the same table names.  This allows us to 
704          re-use the same SQL on either the main or private-browsing database
705         -So it follows, I broke out much of the SQL queries into seperate methods suffixed with
706          "Query" that take a database as the method's argument so the same language can run on
707          both private and main tables
708         -Now that we have two DBs, moved the retain/release count to the m_mainDB
709         -While I was at it, updated the schema to combine the Icon and IconResource table - cuts 
710          down on some high-usage, low value queries which were too expensive
711         -Ditched the _url -> url convention for escaping urls for SQL.  Now its url and escapedURL
712         -Pruned tons of unused methods from previous revisions
713
714      * bridge/mac/WebCoreIconDatabaseBridge.h: Removed isIconExpiredForPageURL as it was never used 
715         * bridge/mac/WebCoreIconDatabaseBridge.mm: Ditto
716         * loader/icon/IconDatabase.cpp:
717         (WebCore::IconDatabase::IconDatabase): Updated initializer list
718         (WebCore::IconDatabase::open): Sets up both databases
719         (WebCore::IconDatabase::close): Closes both databases
720         (WebCore::IconDatabase::isEmpty): Queries both databases for at least 1 record
721         (WebCore::IconDatabase::isValidDatabase): Reflect the updated schema
722         (WebCore::IconDatabase::clearDatabaseTables): Ditto - and takes DB as a parameter
723         (WebCore::IconDatabase::createDatabaseTables): Ditto
724         (WebCore::IconDatabase::imageDataForIconURL): style cleanup, and using a query-function
725         (WebCore::IconDatabase::setPrivateBrowsingEnabled): Resets private DB instead of private tables
726         (WebCore::IconDatabase::isIconExpiredForIconURL): Uses a query-function on each DB
727         (WebCore::IconDatabase::iconURLForPageURL): Uses a query-function on each DB
728         (WebCore::IconDatabase::retainIconForPageURL): Retain count DB changes 
729         (WebCore::IconDatabase::releaseIconForPageURL): Ditto
730         (WebCore::IconDatabase::isIconURLRetained): Determine if it's time to prune a released icon yet
731         (WebCore::IconDatabase::forgetIconForIconURLFromDatabase): Alot simpler
732         (WebCore::IconDatabase::setIconDataForIconURL): Style cleanup
733         (WebCore::IconDatabase::setHaveNoIconForIconURL): Ditto
734         (WebCore::IconDatabase::setIconURLForPageURL): Ditto - and using a query-function
735         (WebCore::IconDatabase::establishIconIDForIconURL): Style cleanup
736         (WebCore::IconDatabase::pruneUnreferencedIcons): DB name change
737         (WebCore::IconDatabase::pruneUnretainedIcons): Ditto
738         (WebCore::IconDatabase::hasIconForIconURL): Simpler, using a query-function
739         (WebCore::IconDatabase::~IconDatabase):
740         (WebCore::pageURLTableIsEmptyQuery): Self-explanatory SQL query
741         (WebCore::imageDataForIconURLQuery): Self-explanatory SQL query
742         (WebCore::timeStampForIconURLQuery): Self-explanatory SQL query
743         (WebCore::iconURLForPageURLQuery): Self-explanatory SQL query
744         (WebCore::forgetPageURLQuery): Self-explanatory SQL query
745         (WebCore::setIconIDForPageURLQuery): Self-explanatory SQL query
746         (WebCore::getIconIDForIconURLQuery): Self-explanatory SQL query
747         (WebCore::addIconForIconURLQuery): Self-explanatory SQL query
748         (WebCore::hasIconForIconURLQuery): Self-explanatory SQL query
749      * loader/icon/IconDatabase.h: Some new/changed methods, pruned methods, and new comments
750         (WebCore::IconDatabase::isOpen):  Changed our meaning of "isOpen" to reflect the 2 databases
751
752 2006-08-15  Jonas Witt <jonas.witt@gmail.com>
753
754         Reviewed by Darin.
755
756         - added ObjC wrappers for the KeyboardEvent and WheelEvent initializers
757           http://bugzilla.opendarwin.org/show_bug.cgi?id=9736
758
759         * bindings/objc/DOMEvents.mm:
760         (-[DOMKeyboardEvent initKeyboardEvent::::::::::]):
761         * bindings/objc/DOMEventsNonstandard.mm:
762         (-[DOMWheelEvent initWheelEvent:::::::::::]):
763         * bindings/objc/DOMPrivate.h:
764
765         - added an initializer for the WheelEvent
766
767         * dom/WheelEvent.cpp:
768         (WebCore::WheelEvent::initWheelEvent):
769         * dom/WheelEvent.h:
770
771 2006-08-15  Mark Rowe  <opendarwin.org@bdash.net.nz>
772
773         Reviewed by Tim H.
774
775         Build fix:  DWARF and -gfull are incompatible with symbol separation.
776
777         * WebCore.xcodeproj/project.pbxproj:
778
779 2006-08-15  Mark Rowe  <opendarwin.org@bdash.net.nz>
780
781         Reviewed by Tim H.
782
783         http://bugzilla.opendarwin.org/show_bug.cgi?id=10394
784         Bug 10394: WebKit Release and Production configurations should enable dead code stripping
785
786         * WebCore.xcodeproj/project.pbxproj:
787
788 2006-08-15  Geoffrey Garen  <ggaren@apple.com>
789
790         Reviewed by Darin.
791         
792         - This patch reworks a previous fix for <rdar://problem/3524912> repro 
793         crash in KHTMLParser::parseToken, due to parser's current element being 
794         destroyed (www.gnnetcom.dk), along with subsequent adjustments to fix
795         leaks.
796         
797         The previous solutions caused a ~2% performance regression on iBench HTML,
798         due to RefPtr churn. The optimizations here gain back that ~2% plus ~1% more,
799         for a total win of ~3% vs current TOT.
800         
801         We can merge this fix to the branch to fix <rdar://problem/4661982> 
802         (crash in KHTMLParser::popBlock).
803         
804         The solution here is:
805         (1) Don't let the parser ref document nodes -- that causes leaks.
806         (2) Handle ref/deref manually, to avoid RefPtr churn. Specifically, when 
807         moving a node between stacks or to/from 'current', rather than deref'ing
808         and then ref'ing again, simply move the node, along with its refcount, to
809         its new location, and overwrite its old location.
810  
811         * WebCore.xcodeproj/project.pbxproj:
812         * html/HTMLParser.cpp:
813         (WebCore::HTMLStackElem::HTMLStackElem):
814         (WebCore::HTMLStackElem::derefNode):
815         (WebCore::HTMLParser::HTMLParser):
816         (WebCore::HTMLParser::setCurrent):
817         (WebCore::HTMLParser::insertNode):
818         (WebCore::HTMLParser::popNestedHeaderTag):
819         (WebCore::HTMLParser::handleResidualStyleCloseTagAcrossBlocks):
820         (WebCore::HTMLParser::reopenResidualStyleTags):
821         (WebCore::HTMLParser::pushBlock):
822         (WebCore::HTMLParser::popBlock):
823         (WebCore::HTMLParser::popOneBlockCommon):
824         (WebCore::HTMLParser::popOneBlock):
825         (WebCore::HTMLParser::moveOneBlockToStack):
826         * html/HTMLParser.h:
827
828 2006-08-15  Mark Rowe  <opendarwin.org@bdash.net.nz>
829
830         Reviewed by Tim H.
831
832         http://bugzilla.opendarwin.org/show_bug.cgi?id=10384
833         Bug 10384: Switch to DWARF for Release configuration
834
835         * WebCore.xcodeproj/project.pbxproj:
836
837 2006-08-15  Mark Rowe  <opendarwin.org@bdash.net.nz>
838
839         Reviewed by Hyatt.
840         Tweaked and landed by Darin.
841
842         http://bugzilla.opendarwin.org/show_bug.cgi?id=10399
843         Bug 10399: RenderTextArea is unused
844
845         * WebCore.vcproj/WebCore/WebCore.vcproj:
846         * WebCore.xcodeproj/project.pbxproj:
847         * WebCoreSources.bkl:
848         Removed RenderTextArea source files.
849
850         * html/HTMLTextAreaElement.cpp: Removed include of RenderTextArea.h.
851         * html/HTMLTextAreaElement.h: Removed forward declaration of RenderTextArea.
852
853         * platform/mac/WidgetMac.mm: (WebCore::Widget::paint): Updated a comment.
854
855         * platform/TextBox.h: Removed.
856         * platform/mac/TextBoxMac.mm: Removed.
857         * platform/mac/WebCoreTextArea.h: Removed.
858         * platform/mac/WebCoreTextArea.mm: Removed.
859         * rendering/RenderTextArea.cpp: Removed.
860         * rendering/RenderTextArea.h: Removed.
861
862 2006-08-15  Brady Eidson  <beidson@apple.com>
863
864         Reviewed by THE OTHER Maciej...
865
866         Two small fixes -
867         1) Renamed retain/release methods to add PageUrl in - we're being consistent and clear in the WebCore API
868         2) Fixed a bug where a null SiteIcon reference would be added into the pageURLToSiteIcon map causing a
869         null dereference later
870
871         * bridge/mac/WebCoreIconDatabaseBridge.mm:
872         (-[WebCoreIconDatabaseBridge retainIconForURL:]):  Changed IconDatabase method name
873         (-[WebCoreIconDatabaseBridge releaseIconForURL:]):  ditto
874         * loader/icon/IconDatabase.cpp:
875         (WebCore::IconDatabase::retainIconForPageURL):  Name change
876         (WebCore::IconDatabase::releaseIconForPageURL):  ditto
877         (WebCore::IconDatabase::setIconURLForPageURL):  Added the null site-icon check when changing a PageURL's iconURL
878         * loader/icon/IconDatabase.h:  Some renames
879
880 2006-08-14  Eric Seidel  <eric@eseidel.com>
881
882         Reviewed by mjs.
883
884         <mask>, <marker>, <pattern> inside <defs> do not work
885         http://bugzilla.opendarwin.org/show_bug.cgi?id=6548
886
887         * ksvg2/svg/SVGDefsElement.cpp:
888         (WebCore::SVGDefsElement::SVGDefsElement): moved to .cpp file
889         (WebCore::SVGDefsElement::isValid): moved to .cpp file
890         (WebCore::SVGDefsElement::rendererIsNeeded): Added.
891         (WebCore::SVGDefsElement::createRenderer): Added.
892         * ksvg2/svg/SVGDefsElement.h:
893         * ksvg2/svg/SVGGElement.cpp:
894         (WebCore::SVGGElement::SVGGElement): adjusted spacing
895         (WebCore::SVGGElement::parseMappedAttribute): adjusted spacing
896         (WebCore::SVGDummyElement::SVGDummyElement): adjusted spacing
897
898 2006-08-14  Eric Seidel  <eric@eseidel.com>
899
900         Reviewed by darin and mjs.
901         
902         Add better SVGLoad event support.
903         http://bugzilla.opendarwin.org/show_bug.cgi?id=6010
904         There will still need to be additional support added for <link> and <script> elements.
905         Not all of the error -> loaded -> error transition cases work yet.
906
907         * dom/EventTargetNode.cpp:
908         (WebCore::EventTargetNode::dispatchGenericEvent):
909         * html/HTMLImageLoader.cpp:
910         (WebCore::HTMLImageLoader::dispatchLoadEvent):
911         * html/HTMLImageLoader.h:
912         (WebCore::HTMLImageLoader::haveFiredLoadEvent):
913         (WebCore::HTMLImageLoader::setHaveFiredLoadEvent):
914         * ksvg2/misc/SVGImageLoader.cpp:
915         (WebCore::SVGImageLoader::SVGImageLoader):
916         (WebCore::SVGImageLoader::dispatchLoadEvent):
917         * ksvg2/misc/SVGImageLoader.h:
918         * ksvg2/svg/SVGAElement.cpp:
919         (WebCore::SVGAElement::parseMappedAttribute):
920         * ksvg2/svg/SVGAnimatedBoolean.h:
921         * ksvg2/svg/SVGElement.cpp:
922         (WebCore::SVGElement::SVGElement):
923         (WebCore::SVGElement::parseMappedAttribute):
924         (WebCore::SVGElement::haveLoadedRequiredResources):
925         (WebCore::SVGElement::sendSVGLoadEventIfPossible):
926         (WebCore::SVGElement::closeRenderer):
927         * ksvg2/svg/SVGElement.h:
928         (WebCore::SVGElement::rendererIsNeeded):
929         (WebCore::svg_dynamic_cast):
930         * ksvg2/svg/SVGExternalResourcesRequired.h:
931         * ksvg2/svg/SVGImageElement.cpp:
932         (SVGImageElement::SVGImageElement):
933         (SVGImageElement::haveLoadedRequiredResources):
934         * ksvg2/svg/SVGImageElement.h:
935         * ksvg2/svg/SVGSVGElement.cpp:
936         (WebCore::SVGSVGElement::parseMappedAttribute):
937         * ksvg2/svg/SVGScriptElement.cpp:
938         (WebCore::SVGScriptElement::SVGScriptElement):
939         (WebCore::SVGScriptElement::parseMappedAttribute):
940         (WebCore::SVGScriptElement::executeScript):
941         * xml/xmlhttprequest.cpp:
942         (WebCore::XMLHttpRequest::callReadyStateChangeListener): use new Event() instead of createEvent
943
944 2006-08-14  Anders Carlsson  <acarlsson@apple.com>
945
946         Reviewed by Maciej.
947
948         http://bugzilla.opendarwin.org/show_bug.cgi?id=10393
949         Autogenerate NodeIterator and TreeWalker.
950         
951         * DerivedSources.make:
952         * WebCore.xcodeproj/project.pbxproj:
953         Add new files.
954         
955         * bindings/js/JSNodeIteratorCustom.cpp: Added.
956         (WebCore::JSNodeIterator::mark):
957         * bindings/js/JSTreeWalkerCustom.cpp: Added.
958         (WebCore::JSTreeWalker::mark):
959         
960         * bindings/js/kjs_traversal.cpp:
961         * bindings/js/kjs_traversal.h:
962         Remove implementations of DOMNodeIterator and DOMTreeWalker.
963
964         * bindings/scripts/CodeGeneratorJS.pm:
965         Add "CustomMarkFunction" attribute for classes where mark() needs to be overridden.
966         
967         * bindings/objc/DOM.mm:
968         (-[DOMNodeIterator detach]):
969         * dom/NodeIterator.cpp:
970         (WebCore::NodeIterator::detach):
971         * dom/NodeIterator.h:
972         Get rid of exception in detach, it isn't used at all and this function can't throw an exception according to the spec.
973         * dom/NodeIterator.idl: Added.
974         * dom/TreeWalker.idl: Added.
975
976 2006-08-14  Brady Eidson  <beidson@apple.com>
977
978         Reviewed by John
979
980         The changes are plentiful, but small, mostly to improve performance
981         1) Add a bool flag to SiteIcon to stop it from querying the database over and over
982         2) Added a pageURL->iconURL hashmap to cache database results, as an optimization
983         3) Fix a bug in setIconURLForPageURL code where the pageURL would still point to an old icon
984         4) Added isIconURLRetained() to optimize the retain count check
985         5) Prune old, unused code
986
987         * loader/icon/IconDatabase.cpp:
988         (WebCore::IconDatabase::imageDataForIconID): Removed unused code
989         (WebCore::IconDatabase::imageDataForIconURL): Removed unused code
990         (WebCore::IconDatabase::imageDataForPageURL): Removed unused code
991         (WebCore::IconDatabase::isIconExpiredForIconURL): Removed LOG msg
992         (WebCore::IconDatabase::isIconExpiredForPageURL): Removed LOG msg
993         (WebCore::IconDatabase::iconURLForPageURL): Added a hashmap cache to avoid common queries
994         (WebCore::IconDatabase::releaseIconForURL): Changed to is isRetained() instead of retainCount()
995         (WebCore::IconDatabase::isIconURLRetained): Added - we don't care about the actual retain count
996           for an icon so much as whether or not it is retained
997         (WebCore::IconDatabase::setIconURLForPageURL): If the new and old iconURLs are the same, skip the
998           SQLite code
999         * loader/icon/IconDatabase.h:  Added new methods/variables
1000         * loader/icon/SiteIcon.cpp:
1001         (SiteIcon::SiteIcon): Added a flag so it only queries the database for icon data once
1002         (SiteIcon::getImage): Ditto
1003
1004 2006-08-14  David Hyatt  <hyatt@apple.com>
1005
1006         Fix for bug 10385, add more support for crappy pseudo-XML-in-HTML.
1007
1008         Reviewed by ggaren
1009
1010         Added fast/parser/bad-xml-slash.html
1011
1012         * html/HTMLTokenizer.cpp:
1013         (WebCore::HTMLTokenizer::parseTag):
1014
1015 2006-08-14  Darin Adler  <darin@apple.com>
1016
1017         Reviewed by John Sullivan.
1018
1019         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=10204
1020           REGRESSION: title tag parsing problem breaks Travelocity and Google Analytics pages
1021
1022         Test: fast/parser/title-error-test.html
1023
1024         * html/HTMLParser.cpp: (WebCore::HTMLParser::handleError): Fixed an error
1025         handling case that was skipping until a </style> tag in code that was shared
1026         between both <title> and <style>. Also rearranged the code a tiny bit.
1027
1028 2006-08-14  Darin Adler  <darin@apple.com>
1029
1030         Reviewed by Hyatt.
1031
1032         - fixed some storage leaks
1033           (part of http://bugzilla.opendarwin.org/show_bug.cgi?id=10259)
1034
1035         * platform/mac/ResourceLoaderMac.mm: (WebCore::ResourceLoader::start):
1036         Rearrange code so that "delete this" is called any time the function returns
1037         false -- ownership was inconsistent before.
1038
1039         * rendering/RenderContainer.cpp: (WebCore::RenderContainer::removeChildNode):
1040         Call deleteLineBoxWrapper even when documentBeingDestroyed() is true, because
1041         some of what it does has to be done during destruction. A little awkward since
1042         I preserved the order of operations. Perhaps we could structure this better later.
1043
1044 2006-08-14  David Harrison  <harrison@apple.com>
1045
1046         Reviewed by John Sullivan and Geoff Garen.
1047
1048         <rdar://problem/3854950> AX Seed: Blackboard Learning Systems - frame names need to be put in AXDescription AXAttribute
1049
1050         Test cases added: None.  Manual AX testing is way too awkward, and automated testing
1051         is not possible.  See following bug...
1052             <rdar://problem/4256882> Need automated testing support for accessibility APIs
1053
1054         * bridge/mac/WebCoreAXObject.mm:
1055         (-[WebCoreAXObject accessibilityDescription]):
1056         For a web area, return the name of the owning frame or iframe.
1057         
1058         (-[WebCoreAXObject accessibilityAttributeNames]):
1059         Advertize NSAccessibilityDescriptionAttribute.
1060         
1061         (-[WebCoreAXObject rendererForView:]):
1062         Clean up some old naming.
1063
1064 2006-08-11  Anders Carlsson  <acarlsson@apple.com>
1065
1066         Reviewed by Darin.
1067
1068         http://bugzilla.opendarwin.org/show_bug.cgi?id=10353
1069         XMLSerializer and DOMParser should have real implementations
1070         
1071         Make real implementation files for DOMParser and XMLSerializer and wrap them
1072         using our bindings generation.
1073         
1074         * DerivedSources.make:
1075         * WebCore.xcodeproj/project.pbxproj:
1076         * bindings/js/JSDOMParser.cpp: Removed.
1077         * bindings/js/JSDOMParser.h: Removed.
1078         * bindings/js/JSXMLSerializer.cpp: Removed.
1079         * bindings/js/JSXMLSerializer.h: Removed.
1080         * bindings/js/kjs_window.cpp:
1081         (KJS::Window::getValueProperty):
1082         * bindings/js/kjs_window.h:
1083         (KJS::Window::):
1084         * page/DOMWindow.idl:
1085         * xml/DOMParser.cpp: Added.
1086         (WebCore::DOMParser::parseFromString):
1087         * xml/DOMParser.h: Added.
1088         * xml/DOMParser.idl: Added.
1089         * xml/XMLSerializer.cpp: Added.
1090         (WebCore::XMLSerializer::serializeToString):
1091         * xml/XMLSerializer.h: Added.
1092         * xml/XMLSerializer.idl: Added.
1093
1094 2006-08-14  Maciej Stachowiak  <mjs@apple.com>
1095
1096         Reviewed by Brady.
1097
1098         - removed WebKit-level dependencies from WebFormDataStream. Use WebCore version of system interface
1099
1100         * WebCore.exp: export new functions
1101         * platform/mac/WebCoreSystemInterface.h: Added CFReadStream related functions
1102         * platform/mac/WebCoreSystemInterface.mm: ditto
1103
1104 2006-08-13  Maks Orlovich  <maksim@kde.org>
1105
1106         Reviewed (and tweaked a little) by Maciej.
1107         
1108         - shrank the size of JSObject by 8 bytes and made the corresponding reduction to the cell size, resulting
1109         in a 1.2% speed improvement on JS iBench (and probably overall memory savings).
1110
1111         The WebCore part of this is to expect only FunctionImp to have a scope, not all JSObjects.
1112         
1113         * bindings/js/kjs_events.cpp:
1114         (KJS::JSLazyEventListener::parseCode):
1115
1116 2006-08-12  Eric Seidel  <eric@eseidel.com>
1117
1118         Reviewed by hyatt and mjs.
1119
1120         Fix two missing null checks causing layout test crashes.
1121
1122         * css/cssstyleselector.cpp:
1123         (WebCore::CSSStyleSelector::adjustRenderStyle): check e for null (null for pseudo styles)
1124         * kcanvas/RenderSVGContainer.cpp:
1125         (WebCore::RenderSVGContainer::requiresLayer): check parent()->element() for null
1126
1127
1128 2006-08-11  Eric Seidel  <eric@eseidel.com>
1129
1130         Reviewed by andersca.
1131
1132         The outermost <svg> element needs to clip itself
1133         http://bugzilla.opendarwin.org/show_bug.cgi?id=5358
1134
1135         * css/cssstyleselector.cpp:
1136         (WebCore::CSSStyleSelector::adjustRenderStyle): adjust for SVG overflow rules
1137         * kcanvas/RenderSVGContainer.cpp:
1138         (WebCore::RenderSVGContainer::requiresLayer): only require layers for absolute/relative positioning of outermost SVG
1139         (WebCore::RenderSVGContainer::paint):
1140         * kcanvas/device/KRenderingDevice.h:
1141         * kcanvas/device/quartz/KRenderingDeviceQuartz.h: remove dead methods
1142         * kcanvas/device/quartz/KRenderingDeviceQuartz.mm: remove dead methods
1143         (WebCore::KRenderingDeviceContextQuartz::KRenderingDeviceContextQuartz):
1144         * ksvg2/svg/SVGPaint.cpp: spacing changes
1145         (WebCore::SVGPaint::SVGPaint): spacing cleanup
1146         * ksvg2/svg/SVGSVGElement.cpp:
1147         (WebCore::SVGSVGElement::parseMappedAttribute): spacing cleanup
1148         * platform/GraphicsContext.h: Added concatCTM
1149         * platform/cg/GraphicsContextCG.cpp:
1150         (WebCore::GraphicsContext::concatCTM): Added.
1151
1152 2006-08-11  Brady Eidson  <beidson@apple.com>
1153
1154         Reviewed by Maciej
1155
1156         Renamed a method/parameter for clarity and consistency, as well as some style
1157         cleanups and removing some ridiculously verbose log messages.
1158         Also added an _isEmpty method to the database and bridge for WebKit's use.
1159         Finally, added a central way for both WebKit and WebCore to get the icon database filename
1160
1161         * bridge/mac/WebCoreIconDatabaseBridge.h:  Added _isEmpty and defaultDatabaseFilename
1162         * bridge/mac/WebCoreIconDatabaseBridge.mm:  Removed an unnecessary semicolon off most of these methods
1163         (-[WebCoreIconDatabaseBridge openSharedDatabaseWithPath:]):
1164         (-[WebCoreIconDatabaseBridge closeSharedDatabase]):
1165         (-[WebCoreIconDatabaseBridge isOpen]):
1166         (-[WebCoreIconDatabaseBridge _isEmpty]):  Added
1167         (-[WebCoreIconDatabaseBridge setPrivateBrowsingEnabled:]):
1168         (-[WebCoreIconDatabaseBridge privateBrowsingEnabled]):
1169         (-[WebCoreIconDatabaseBridge iconForPageURL:withSize:]):
1170         (-[WebCoreIconDatabaseBridge iconURLForPageURL:]):
1171         (-[WebCoreIconDatabaseBridge defaultIconWithSize:]):
1172         (-[WebCoreIconDatabaseBridge retainIconForURL:]):
1173         (-[WebCoreIconDatabaseBridge releaseIconForURL:]):
1174         (-[WebCoreIconDatabaseBridge _setIconData:forIconURL:]):
1175         (-[WebCoreIconDatabaseBridge _setHaveNoIconForIconURL:]):
1176         (-[WebCoreIconDatabaseBridge _setIconURL:forPageURL:]):
1177         (-[WebCoreIconDatabaseBridge _hasIconForIconURL:]):
1178         (-[WebCoreIconDatabaseBridge defaultDatabaseFilename]):  Added
1179
1180         * loader/icon/IconDatabase.cpp:
1181         (WebCore::IconDatabase::defaultDatabaseFilename):  Added
1182         (WebCore::IconDatabase::open):  
1183         (WebCore::IconDatabase::isEmpty):  Added
1184         (WebCore::IconDatabase::retainIconForURL):  Removed log message
1185         (WebCore::IconDatabase::releaseIconForURL):  Removed log message
1186         * loader/icon/IconDatabase.h: 
1187
1188 2006-08-11  David Hyatt  <hyatt@apple.com>
1189
1190         Eliminate RenderImageButton.
1191
1192         Reviewed by darin
1193
1194         * WebCore.xcodeproj/project.pbxproj:
1195         * bridge/mac/WebCoreAXObject.mm:
1196         (-[WebCoreAXObject isImageButton]):
1197         * html/HTMLInputElement.cpp:
1198         (WebCore::HTMLInputElement::createRenderer):
1199         * rendering/RenderImage.h:
1200         (WebCore::RenderImage::isImage):
1201
1202 2006-08-11  Adele Peterson  <adele@apple.com>
1203
1204         Reviewed by Brady.
1205
1206         - Fix for <rdar://problem/4656274> 
1207         REGRESSION: option elements are selected when added regardless of "selected" property
1208
1209         Test: fast/forms/option-constructor-selected.html
1210
1211         * html/HTMLSelectElement.cpp: (WebCore::HTMLSelectElement::setOption):
1212         When adding an option element, check that the option element is selected before calling setSelectedIndex.
1213
1214 2006-08-11  David Hyatt  <hyatt@apple.com>
1215
1216         Fix for bug 10349, make sure to call setChanged when an anchor changes
1217         from not being a link to being a link (and vice versa).
1218
1219         Test is in fast/dynamic/link-href-change.html
1220
1221         Reviewed by darin
1222
1223         * html/HTMLAnchorElement.cpp:
1224         (WebCore::HTMLAnchorElement::HTMLAnchorElement):
1225         (WebCore::HTMLAnchorElement::parseMappedAttribute):
1226         * html/HTMLAnchorElement.h:
1227         * html/HTMLAreaElement.cpp:
1228         (WebCore::HTMLAreaElement::parseMappedAttribute):
1229
1230 2006-08-09  Rob Buis  <buis@kde.org>
1231
1232         Reviewed by Darin.
1233
1234         Revert an over-optimization step that messed up the HashSet lookup.
1235
1236         * dom/DOMImplementation.cpp:
1237
1238 2006-08-12  Oliver  <ojh16@student.canterbury.ac.nz>
1239
1240         Rubber stamped by tim
1241
1242         Removed commented out code
1243
1244         * kcanvas/RenderSVGImage.cpp:
1245         (WebCore::RenderSVGImage::paint):
1246
1247 2006-08-12  Oliver  <ojh16@student.canterbury.ac.nz>
1248
1249         Reviewed by geoff
1250
1251         Fixed regression in SVG image layout
1252         (see bug #10346)
1253
1254         * kcanvas/RenderSVGImage.cpp:
1255         (WebCore::RenderSVGImage::paint):
1256
1257 2006-08-10  Anders Carlsson  <acarlsson@apple.com>
1258
1259         Rubber-stamped by Maciej.
1260
1261         Move xpath to xml.
1262         
1263         * DerivedSources.make:
1264         * WebCore.vcproj/WebCore/WebCore.vcproj:
1265         * WebCore.xcodeproj/project.pbxproj:
1266         * xpath/XPathEvaluator.cpp: Removed.
1267         * xpath/XPathEvaluator.h: Removed.
1268         * xpath/XPathEvaluator.idl: Removed.
1269         * xpath/XPathExpression.cpp: Removed.
1270         * xpath/XPathExpression.h: Removed.
1271         * xpath/XPathExpression.idl: Removed.
1272         * xpath/XPathNSResolver.cpp: Removed.
1273         * xpath/XPathNSResolver.h: Removed.
1274         * xpath/XPathNSResolver.idl: Removed.
1275         * xpath/XPathNamespace.cpp: Removed.
1276         * xpath/XPathNamespace.h: Removed.
1277         * xpath/XPathResult.cpp: Removed.
1278         * xpath/XPathResult.h: Removed.
1279         * xpath/XPathResult.idl: Removed.
1280         * xpath/impl/XPathExpressionNode.cpp: Removed.
1281         * xpath/impl/XPathExpressionNode.h: Removed.
1282         * xpath/impl/XPathFunctions.cpp: Removed.
1283         * xpath/impl/XPathFunctions.h: Removed.
1284         * xpath/impl/XPathGrammar.y: Removed.
1285         * xpath/impl/XPathParser.cpp: Removed.
1286         * xpath/impl/XPathParser.h: Removed.
1287         * xpath/impl/XPathPath.cpp: Removed.
1288         * xpath/impl/XPathPath.h: Removed.
1289         * xpath/impl/XPathPredicate.cpp: Removed.
1290         * xpath/impl/XPathPredicate.h: Removed.
1291         * xpath/impl/XPathStep.cpp: Removed.
1292         * xpath/impl/XPathStep.h: Removed.
1293         * xpath/impl/XPathUtil.cpp: Removed.
1294         * xpath/impl/XPathUtil.h: Removed.
1295         * xpath/impl/XPathValue.cpp: Removed.
1296         * xpath/impl/XPathValue.h: Removed.
1297         * xpath/impl/XPathVariableReference.cpp: Removed.
1298         * xpath/impl/XPathVariableReference.h: Removed.
1299
1300 2006-08-10  David Harrison  <harrison@apple.com>
1301
1302         Reviewed by John Sullivan.
1303
1304         <rdar://problem/4600112> REGRESSION: VO no longer able to review text within an edit field on web pages
1305
1306         Test cases added: None.  Manual AX testing is way too awkward, and automated testing
1307         is not possible.  See following bug...
1308             <rdar://problem/4256882> Need automated testing support for accessibility APIs
1309
1310         * bridge/mac/WebCoreAXObject.mm:
1311         (-[WebCoreAXObject value]):
1312         Add handling for text input fields.
1313
1314 2006-08-09  Graham Dennis  <graham.dennis@gmail.com>
1315
1316         Reviewed by Darin.
1317
1318         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=10247
1319         REGRESSION: Unable to build webkit without SVG/XPATH
1320
1321         * bindings/js/kjs_binding.cpp:
1322         (KJS::setDOMException):
1323         * bindings/js/kjs_dom.cpp:
1324         (KJS::toJS):
1325         * bindings/js/kjs_html.cpp:
1326         (KJS::HTMLElementFunction::callAsFunction):
1327         * bindings/js/kjs_proxy.cpp:
1328         * bindings/js/kjs_proxy.h:
1329         * bindings/objc/DOMInternal.h:
1330         * bindings/objc/DOMInternal.mm:
1331         (raiseDOMException):
1332         * bindings/objc/DOMXPath.mm:
1333         * bindings/objc/DOMXPathInternal.h:
1334         * bindings/scripts/CodeGeneratorJS.pm:
1335         * bridge/mac/WebCoreFrameBridge.mm:
1336         (+[WebCoreFrameBridge supportedNonImageMIMETypes]):
1337         * css/CSSGrammar.y:
1338         * css/CSSStyleDeclaration.cpp:
1339         (WebCore::propertyID):
1340         * css/cssparser.cpp:
1341         (WebCore::CSSParser::parseValue):
1342         * css/cssparser.h:
1343         * css/cssstyleselector.cpp:
1344         (WebCore::CSSStyleSelector::loadDefaultStyle):
1345         (WebCore::CSSStyleSelector::applyProperty):
1346         * css/cssstyleselector.h:
1347         * dom/Document.cpp:
1348         (WebCore::Document::Document):
1349         (WebCore::Document::~Document):
1350         (WebCore::Document::createElementNS):
1351         (WebCore::Document::implicitClose):
1352         (WebCore::Document::recalcStyleSelector):
1353         (WebCore::Document::createEvent):
1354         * dom/Document.h:
1355         * dom/Document.idl:
1356         * dom/Node.cpp:
1357         (WebCore::Node::createRendererIfNeeded):
1358         * dom/Node.h:
1359         * dom/XMLTokenizer.cpp:
1360         (WebCore::XMLTokenizer::endElementNs):
1361         (WebCore::XMLTokenizer::insertErrorMessageBlock):
1362         * html/HTMLEmbedElement.cpp:
1363         * html/HTMLEmbedElement.h:
1364         * html/HTMLObjectElement.cpp:
1365         * html/HTMLObjectElement.h:
1366         * kcanvas/KCanvasCreator.cpp:
1367         * kcanvas/KCanvasCreator.h:
1368         * kcanvas/KCanvasFilters.cpp:
1369         * kcanvas/KCanvasFilters.h:
1370         * kcanvas/KCanvasImage.h:
1371         * kcanvas/KCanvasMatrix.cpp:
1372         * kcanvas/KCanvasMatrix.h:
1373         * kcanvas/KCanvasPath.cpp:
1374         * kcanvas/KCanvasPath.h:
1375         * kcanvas/KCanvasResourceListener.h:
1376         * kcanvas/KCanvasResources.cpp:
1377         * kcanvas/KCanvasResources.h:
1378         * kcanvas/KCanvasTreeDebug.cpp:
1379         * kcanvas/RenderForeignObject.cpp:
1380         * kcanvas/RenderForeignObject.h:
1381         * kcanvas/RenderPath.cpp:
1382         * kcanvas/RenderPath.h:
1383         * kcanvas/RenderSVGContainer.cpp:
1384         * kcanvas/RenderSVGContainer.h:
1385         * kcanvas/RenderSVGImage.cpp:
1386         * kcanvas/RenderSVGImage.h:
1387         * kcanvas/RenderSVGText.cpp:
1388         * kcanvas/RenderSVGText.h:
1389         * kcanvas/device/KRenderingDevice.cpp:
1390         * kcanvas/device/KRenderingDevice.h:
1391         * kcanvas/device/KRenderingFillPainter.cpp:
1392         * kcanvas/device/KRenderingFillPainter.h:
1393         * kcanvas/device/KRenderingPaintServer.h:
1394         * kcanvas/device/KRenderingPaintServerGradient.cpp:
1395         * kcanvas/device/KRenderingPaintServerGradient.h:
1396         * kcanvas/device/KRenderingPaintServerPattern.cpp:
1397         * kcanvas/device/KRenderingPaintServerPattern.h:
1398         * kcanvas/device/KRenderingPaintServerSolid.cpp:
1399         * kcanvas/device/KRenderingPaintServerSolid.h:
1400         * kcanvas/device/KRenderingStrokePainter.cpp:
1401         * kcanvas/device/KRenderingStrokePainter.h:
1402         * kcanvas/device/quartz/KCanvasFilterQuartz.h:
1403         * kcanvas/device/quartz/KCanvasFilterQuartz.mm:
1404         * kcanvas/device/quartz/KCanvasItemQuartz.mm:
1405         * kcanvas/device/quartz/KCanvasMaskerQuartz.mm:
1406         * kcanvas/device/quartz/KCanvasPathQuartz.mm:
1407         * kcanvas/device/quartz/KCanvasResourcesQuartz.mm:
1408         * kcanvas/device/quartz/KRenderingDeviceQuartz.h:
1409         * kcanvas/device/quartz/KRenderingDeviceQuartz.mm:
1410         * kcanvas/device/quartz/KRenderingPaintServerGradientQuartz.mm:
1411         * kcanvas/device/quartz/KRenderingPaintServerQuartz.mm:
1412         * kcanvas/device/quartz/QuartzSupport.h:
1413         * kcanvas/device/quartz/QuartzSupport.mm:
1414         * ksvg2/bindings/js/JSSVGElementWrapperFactory.cpp:
1415         * ksvg2/bindings/js/JSSVGElementWrapperFactory.h:
1416         * ksvg2/css/SVGCSSParser.cpp:
1417         * ksvg2/css/SVGCSSStyleSelector.cpp:
1418         * ksvg2/css/SVGRenderStyle.cpp:
1419         * ksvg2/css/SVGRenderStyle.h:
1420         * ksvg2/css/SVGRenderStyleDefs.cpp:
1421         * ksvg2/css/SVGRenderStyleDefs.h:
1422         * ksvg2/ecma/GlobalObject.cpp:
1423         * ksvg2/ecma/GlobalObject.h:
1424         * ksvg2/events/JSSVGLazyEventListener.cpp:
1425         * ksvg2/events/JSSVGLazyEventListener.h:
1426         * ksvg2/events/SVGZoomEvent.cpp:
1427         * ksvg2/events/SVGZoomEvent.h:
1428         * ksvg2/ksvg.h:
1429         * ksvg2/misc/KCanvasRenderingStyle.cpp:
1430         * ksvg2/misc/KCanvasRenderingStyle.h:
1431         * ksvg2/misc/KSVGTimeScheduler.cpp:
1432         * ksvg2/misc/KSVGTimeScheduler.h:
1433         * ksvg2/misc/SVGDocumentExtensions.cpp:
1434         * ksvg2/misc/SVGDocumentExtensions.h:
1435         * ksvg2/misc/SVGImageLoader.cpp:
1436         * ksvg2/misc/SVGImageLoader.h:
1437         * ksvg2/svg/DOMList.h:
1438         * ksvg2/svg/SVGAElement.cpp:
1439         * ksvg2/svg/SVGAElement.h:
1440         * ksvg2/svg/SVGAngle.cpp:
1441         * ksvg2/svg/SVGAngle.h:
1442         * ksvg2/svg/SVGAnimateColorElement.cpp:
1443         * ksvg2/svg/SVGAnimateColorElement.h:
1444         * ksvg2/svg/SVGAnimateElement.cpp:
1445         * ksvg2/svg/SVGAnimateElement.h:
1446         * ksvg2/svg/SVGAnimateTransformElement.cpp:
1447         * ksvg2/svg/SVGAnimateTransformElement.h:
1448         * ksvg2/svg/SVGAnimatedAngle.cpp:
1449         * ksvg2/svg/SVGAnimatedAngle.h:
1450         * ksvg2/svg/SVGAnimatedBoolean.cpp:
1451         * ksvg2/svg/SVGAnimatedBoolean.h:
1452         * ksvg2/svg/SVGAnimatedColor.cpp:
1453         * ksvg2/svg/SVGAnimatedColor.h:
1454         * ksvg2/svg/SVGAnimatedEnumeration.cpp:
1455         * ksvg2/svg/SVGAnimatedEnumeration.h:
1456         * ksvg2/svg/SVGAnimatedInteger.cpp:
1457         * ksvg2/svg/SVGAnimatedInteger.h:
1458         * ksvg2/svg/SVGAnimatedLength.cpp:
1459         * ksvg2/svg/SVGAnimatedLength.h:
1460         * ksvg2/svg/SVGAnimatedLengthList.cpp:
1461         * ksvg2/svg/SVGAnimatedLengthList.h:
1462         * ksvg2/svg/SVGAnimatedNumber.cpp:
1463         * ksvg2/svg/SVGAnimatedNumber.h:
1464         * ksvg2/svg/SVGAnimatedNumberList.cpp:
1465         * ksvg2/svg/SVGAnimatedNumberList.h:
1466         * ksvg2/svg/SVGAnimatedPathData.cpp:
1467         * ksvg2/svg/SVGAnimatedPathData.h:
1468         * ksvg2/svg/SVGAnimatedPoints.cpp:
1469         * ksvg2/svg/SVGAnimatedPoints.h:
1470         * ksvg2/svg/SVGAnimatedPreserveAspectRatio.cpp:
1471         * ksvg2/svg/SVGAnimatedPreserveAspectRatio.h:
1472         * ksvg2/svg/SVGAnimatedRect.cpp:
1473         * ksvg2/svg/SVGAnimatedRect.h:
1474         * ksvg2/svg/SVGAnimatedString.cpp:
1475         * ksvg2/svg/SVGAnimatedString.h:
1476         * ksvg2/svg/SVGAnimatedTemplate.h:
1477         * ksvg2/svg/SVGAnimatedTransformList.cpp:
1478         * ksvg2/svg/SVGAnimatedTransformList.h:
1479         * ksvg2/svg/SVGAnimationElement.cpp:
1480         * ksvg2/svg/SVGAnimationElement.h:
1481         * ksvg2/svg/SVGCircleElement.cpp:
1482         * ksvg2/svg/SVGCircleElement.h:
1483         * ksvg2/svg/SVGClipPathElement.cpp:
1484         * ksvg2/svg/SVGClipPathElement.h:
1485         * ksvg2/svg/SVGColor.cpp:
1486         * ksvg2/svg/SVGColor.h:
1487         * ksvg2/svg/SVGComponentTransferFunctionElement.cpp:
1488         * ksvg2/svg/SVGComponentTransferFunctionElement.h:
1489         * ksvg2/svg/SVGCursorElement.cpp:
1490         * ksvg2/svg/SVGCursorElement.h:
1491         * ksvg2/svg/SVGDOMImplementation.cpp:
1492         * ksvg2/svg/SVGDOMImplementation.h:
1493         * ksvg2/svg/SVGDefsElement.cpp:
1494         * ksvg2/svg/SVGDefsElement.h:
1495         * ksvg2/svg/SVGDescElement.cpp:
1496         * ksvg2/svg/SVGDescElement.h:
1497         * ksvg2/svg/SVGDocument.cpp:
1498         * ksvg2/svg/SVGDocument.h:
1499         * ksvg2/svg/SVGElement.cpp:
1500         * ksvg2/svg/SVGElement.h:
1501         * ksvg2/svg/SVGElementInstance.cpp:
1502         * ksvg2/svg/SVGElementInstance.h:
1503         * ksvg2/svg/SVGElementInstanceList.cpp:
1504         * ksvg2/svg/SVGElementInstanceList.h:
1505         * ksvg2/svg/SVGEllipseElement.cpp:
1506         * ksvg2/svg/SVGEllipseElement.h:
1507         * ksvg2/svg/SVGExternalResourcesRequired.cpp:
1508         * ksvg2/svg/SVGExternalResourcesRequired.h:
1509         * ksvg2/svg/SVGFEBlendElement.cpp:
1510         * ksvg2/svg/SVGFEBlendElement.h:
1511         * ksvg2/svg/SVGFEColorMatrixElement.cpp:
1512         * ksvg2/svg/SVGFEColorMatrixElement.h:
1513         * ksvg2/svg/SVGFEComponentTransferElement.cpp:
1514         * ksvg2/svg/SVGFEComponentTransferElement.h:
1515         * ksvg2/svg/SVGFECompositeElement.cpp:
1516         * ksvg2/svg/SVGFECompositeElement.h:
1517         * ksvg2/svg/SVGFEDiffuseLightingElement.cpp:
1518         * ksvg2/svg/SVGFEDiffuseLightingElement.h:
1519         * ksvg2/svg/SVGFEDisplacementMapElement.cpp:
1520         * ksvg2/svg/SVGFEDisplacementMapElement.h:
1521         * ksvg2/svg/SVGFEDistantLightElement.cpp:
1522         * ksvg2/svg/SVGFEDistantLightElement.h:
1523         * ksvg2/svg/SVGFEFloodElement.cpp:
1524         * ksvg2/svg/SVGFEFloodElement.h:
1525         * ksvg2/svg/SVGFEFuncAElement.cpp:
1526         * ksvg2/svg/SVGFEFuncAElement.h:
1527         * ksvg2/svg/SVGFEFuncBElement.cpp:
1528         * ksvg2/svg/SVGFEFuncBElement.h:
1529         * ksvg2/svg/SVGFEFuncGElement.cpp:
1530         * ksvg2/svg/SVGFEFuncGElement.h:
1531         * ksvg2/svg/SVGFEFuncRElement.cpp:
1532         * ksvg2/svg/SVGFEFuncRElement.h:
1533         * ksvg2/svg/SVGFEGaussianBlurElement.cpp:
1534         * ksvg2/svg/SVGFEGaussianBlurElement.h:
1535         * ksvg2/svg/SVGFEImageElement.cpp:
1536         * ksvg2/svg/SVGFEImageElement.h:
1537         * ksvg2/svg/SVGFELightElement.cpp:
1538         * ksvg2/svg/SVGFELightElement.h:
1539         * ksvg2/svg/SVGFEMergeElement.cpp:
1540         * ksvg2/svg/SVGFEMergeElement.h:
1541         * ksvg2/svg/SVGFEMergeNodeElement.cpp:
1542         * ksvg2/svg/SVGFEMergeNodeElement.h:
1543         * ksvg2/svg/SVGFEOffsetElement.cpp:
1544         * ksvg2/svg/SVGFEOffsetElement.h:
1545         * ksvg2/svg/SVGFEPointLightElement.cpp:
1546         * ksvg2/svg/SVGFEPointLightElement.h:
1547         * ksvg2/svg/SVGFESpecularLightingElement.cpp:
1548         * ksvg2/svg/SVGFESpecularLightingElement.h:
1549         * ksvg2/svg/SVGFESpotLightElement.cpp:
1550         * ksvg2/svg/SVGFESpotLightElement.h:
1551         * ksvg2/svg/SVGFETileElement.cpp:
1552         * ksvg2/svg/SVGFETileElement.h:
1553         * ksvg2/svg/SVGFETurbulenceElement.cpp:
1554         * ksvg2/svg/SVGFETurbulenceElement.h:
1555         * ksvg2/svg/SVGFilterElement.cpp:
1556         * ksvg2/svg/SVGFilterElement.h:
1557         * ksvg2/svg/SVGFilterPrimitiveStandardAttributes.cpp:
1558         * ksvg2/svg/SVGFilterPrimitiveStandardAttributes.h:
1559         * ksvg2/svg/SVGFitToViewBox.cpp:
1560         * ksvg2/svg/SVGFitToViewBox.h:
1561         * ksvg2/svg/SVGForeignObjectElement.cpp:
1562         * ksvg2/svg/SVGForeignObjectElement.h:
1563         * ksvg2/svg/SVGGElement.cpp:
1564         * ksvg2/svg/SVGGElement.h:
1565         * ksvg2/svg/SVGGradientElement.cpp:
1566         * ksvg2/svg/SVGGradientElement.h:
1567         * ksvg2/svg/SVGHelper.cpp:
1568         * ksvg2/svg/SVGHelper.h:
1569         * ksvg2/svg/SVGImageElement.cpp:
1570         * ksvg2/svg/SVGImageElement.h:
1571         * ksvg2/svg/SVGLangSpace.cpp:
1572         * ksvg2/svg/SVGLangSpace.h:
1573         * ksvg2/svg/SVGLength.cpp:
1574         * ksvg2/svg/SVGLength.h:
1575         * ksvg2/svg/SVGLengthList.cpp:
1576         * ksvg2/svg/SVGLengthList.h:
1577         * ksvg2/svg/SVGLineElement.cpp:
1578         * ksvg2/svg/SVGLineElement.h:
1579         * ksvg2/svg/SVGLinearGradientElement.cpp:
1580         * ksvg2/svg/SVGLinearGradientElement.h:
1581         * ksvg2/svg/SVGList.h:
1582         * ksvg2/svg/SVGLocatable.cpp:
1583         * ksvg2/svg/SVGLocatable.h:
1584         * ksvg2/svg/SVGMarkerElement.cpp:
1585         * ksvg2/svg/SVGMarkerElement.h:
1586         * ksvg2/svg/SVGMaskElement.cpp:
1587         * ksvg2/svg/SVGMaskElement.h:
1588         * ksvg2/svg/SVGMatrix.cpp:
1589         * ksvg2/svg/SVGMatrix.h:
1590         * ksvg2/svg/SVGNumber.cpp:
1591         * ksvg2/svg/SVGNumber.h:
1592         * ksvg2/svg/SVGNumberList.cpp:
1593         * ksvg2/svg/SVGNumberList.h:
1594         * ksvg2/svg/SVGPaint.cpp:
1595         * ksvg2/svg/SVGPaint.h:
1596         * ksvg2/svg/SVGPathElement.cpp:
1597         * ksvg2/svg/SVGPathElement.h:
1598         * ksvg2/svg/SVGPathSeg.cpp:
1599         * ksvg2/svg/SVGPathSeg.h:
1600         * ksvg2/svg/SVGPathSegArc.cpp:
1601         * ksvg2/svg/SVGPathSegArc.h:
1602         * ksvg2/svg/SVGPathSegClosePath.cpp:
1603         * ksvg2/svg/SVGPathSegClosePath.h:
1604         * ksvg2/svg/SVGPathSegCurvetoCubic.cpp:
1605         * ksvg2/svg/SVGPathSegCurvetoCubic.h:
1606         * ksvg2/svg/SVGPathSegCurvetoCubicSmooth.cpp:
1607         * ksvg2/svg/SVGPathSegCurvetoCubicSmooth.h:
1608         * ksvg2/svg/SVGPathSegCurvetoQuadratic.cpp:
1609         * ksvg2/svg/SVGPathSegCurvetoQuadratic.h:
1610         * ksvg2/svg/SVGPathSegCurvetoQuadraticSmooth.cpp:
1611         * ksvg2/svg/SVGPathSegCurvetoQuadraticSmooth.h:
1612         * ksvg2/svg/SVGPathSegLineto.cpp:
1613         * ksvg2/svg/SVGPathSegLineto.h:
1614         * ksvg2/svg/SVGPathSegLinetoHorizontal.cpp:
1615         * ksvg2/svg/SVGPathSegLinetoHorizontal.h:
1616         * ksvg2/svg/SVGPathSegLinetoVertical.cpp:
1617         * ksvg2/svg/SVGPathSegLinetoVertical.h:
1618         * ksvg2/svg/SVGPathSegList.cpp:
1619         * ksvg2/svg/SVGPathSegList.h:
1620         * ksvg2/svg/SVGPathSegMoveto.cpp:
1621         * ksvg2/svg/SVGPathSegMoveto.h:
1622         * ksvg2/svg/SVGPatternElement.cpp:
1623         * ksvg2/svg/SVGPatternElement.h:
1624         * ksvg2/svg/SVGPoint.cpp:
1625         * ksvg2/svg/SVGPoint.h:
1626         * ksvg2/svg/SVGPointList.cpp:
1627         * ksvg2/svg/SVGPointList.h:
1628         * ksvg2/svg/SVGPolyElement.cpp:
1629         * ksvg2/svg/SVGPolyElement.h:
1630         * ksvg2/svg/SVGPolygonElement.cpp:
1631         * ksvg2/svg/SVGPolygonElement.h:
1632         * ksvg2/svg/SVGPolylineElement.cpp:
1633         * ksvg2/svg/SVGPolylineElement.h:
1634         * ksvg2/svg/SVGPreserveAspectRatio.cpp:
1635         * ksvg2/svg/SVGPreserveAspectRatio.h:
1636         * ksvg2/svg/SVGRadialGradientElement.cpp:
1637         * ksvg2/svg/SVGRadialGradientElement.h:
1638         * ksvg2/svg/SVGRect.cpp:
1639         * ksvg2/svg/SVGRect.h:
1640         * ksvg2/svg/SVGRectElement.cpp:
1641         * ksvg2/svg/SVGRectElement.h:
1642         * ksvg2/svg/SVGSVGElement.cpp:
1643         * ksvg2/svg/SVGSVGElement.h:
1644         * ksvg2/svg/SVGScriptElement.cpp:
1645         * ksvg2/svg/SVGScriptElement.h:
1646         * ksvg2/svg/SVGSetElement.cpp:
1647         * ksvg2/svg/SVGSetElement.h:
1648         * ksvg2/svg/SVGStopElement.cpp:
1649         * ksvg2/svg/SVGStopElement.h:
1650         * ksvg2/svg/SVGStringList.cpp:
1651         * ksvg2/svg/SVGStringList.h:
1652         * ksvg2/svg/SVGStylable.cpp:
1653         * ksvg2/svg/SVGStylable.h:
1654         * ksvg2/svg/SVGStyleElement.cpp:
1655         * ksvg2/svg/SVGStyleElement.h:
1656         * ksvg2/svg/SVGStyledElement.cpp:
1657         * ksvg2/svg/SVGStyledElement.h:
1658         * ksvg2/svg/SVGStyledLocatableElement.cpp:
1659         * ksvg2/svg/SVGStyledLocatableElement.h:
1660         * ksvg2/svg/SVGStyledTransformableElement.cpp:
1661         * ksvg2/svg/SVGStyledTransformableElement.h:
1662         * ksvg2/svg/SVGSwitchElement.cpp:
1663         * ksvg2/svg/SVGSwitchElement.h:
1664         * ksvg2/svg/SVGSymbolElement.cpp:
1665         * ksvg2/svg/SVGSymbolElement.h:
1666         * ksvg2/svg/SVGTRefElement.cpp:
1667         * ksvg2/svg/SVGTRefElement.h:
1668         * ksvg2/svg/SVGTSpanElement.cpp:
1669         * ksvg2/svg/SVGTSpanElement.h:
1670         * ksvg2/svg/SVGTests.cpp:
1671         * ksvg2/svg/SVGTests.h:
1672         * ksvg2/svg/SVGTextContentElement.cpp:
1673         * ksvg2/svg/SVGTextContentElement.h:
1674         * ksvg2/svg/SVGTextElement.cpp:
1675         * ksvg2/svg/SVGTextElement.h:
1676         * ksvg2/svg/SVGTextPositioningElement.cpp:
1677         * ksvg2/svg/SVGTextPositioningElement.h:
1678         * ksvg2/svg/SVGTitleElement.cpp:
1679         * ksvg2/svg/SVGTitleElement.h:
1680         * ksvg2/svg/SVGTransform.cpp:
1681         * ksvg2/svg/SVGTransform.h:
1682         * ksvg2/svg/SVGTransformList.cpp:
1683         * ksvg2/svg/SVGTransformList.h:
1684         * ksvg2/svg/SVGTransformable.cpp:
1685         * ksvg2/svg/SVGTransformable.h:
1686         * ksvg2/svg/SVGURIReference.cpp:
1687         * ksvg2/svg/SVGURIReference.h:
1688         * ksvg2/svg/SVGUseElement.cpp:
1689         * ksvg2/svg/SVGUseElement.h:
1690         * ksvg2/svg/SVGViewElement.cpp:
1691         * ksvg2/svg/SVGViewElement.h:
1692         * ksvg2/svg/SVGZoomAndPan.cpp:
1693         * ksvg2/svg/SVGZoomAndPan.h:
1694         * ksvg2/svg/svgpathparser.cpp:
1695         * ksvg2/svg/svgpathparser.h:
1696         * page/DOMWindow.idl:
1697         * page/Frame.cpp:
1698         (WebCore::Frame::Frame):
1699         (WebCore::Frame::begin):
1700         (WebCore::Frame::pauseTimeouts):
1701         (WebCore::Frame::resumeTimeouts):
1702         * platform/GraphicsContext.h:
1703         * platform/cg/GraphicsContextCG.cpp:
1704         * rendering/RenderLayer.cpp:
1705         (WebCore::RenderLayer::isTransparent):
1706         * rendering/RenderObject.cpp:
1707         (WebCore::RenderObject::containingBlock):
1708         * rendering/RenderObject.h:
1709         * rendering/RenderStyle.cpp:
1710         (WebCore::RenderStyle::RenderStyle):
1711         (WebCore::RenderStyle::inheritFrom):
1712         (WebCore::RenderStyle::operator==):
1713         (WebCore::RenderStyle::inheritedNotEqual):
1714         (WebCore::RenderStyle::diff):
1715         * rendering/RenderStyle.h:
1716         * rendering/RenderTreeAsText.cpp:
1717         (WebCore::write):
1718         (WebCore::externalRepresentation):
1719         * xpath/XPathEvaluator.cpp:
1720         * xpath/XPathEvaluator.h:
1721         * xpath/XPathExpression.cpp:
1722         * xpath/XPathExpression.h:
1723         * xpath/XPathNSResolver.cpp:
1724         * xpath/XPathNSResolver.h:
1725         * xpath/XPathNamespace.cpp:
1726         * xpath/XPathNamespace.h:
1727         * xpath/XPathResult.cpp:
1728         * xpath/XPathResult.h:
1729         * xpath/impl/XPathExpressionNode.cpp:
1730         * xpath/impl/XPathExpressionNode.h:
1731         * xpath/impl/XPathFunctions.cpp:
1732         * xpath/impl/XPathFunctions.h:
1733         * xpath/impl/XPathGrammar.y:
1734         * xpath/impl/XPathParser.cpp:
1735         * xpath/impl/XPathParser.h:
1736         * xpath/impl/XPathPath.cpp:
1737         * xpath/impl/XPathPath.h:
1738         * xpath/impl/XPathPredicate.cpp:
1739         * xpath/impl/XPathPredicate.h:
1740         * xpath/impl/XPathStep.cpp:
1741         * xpath/impl/XPathStep.h:
1742         * xpath/impl/XPathUtil.cpp:
1743         * xpath/impl/XPathUtil.h:
1744         * xpath/impl/XPathValue.cpp:
1745         * xpath/impl/XPathValue.h:
1746         * xpath/impl/XPathVariableReference.cpp:
1747         * xpath/impl/XPathVariableReference.h:
1748
1749         Change all #if SVG_SUPPORT to #ifdef SVG_SUPPORT and
1750         #if XPATH_SUPPORT to #ifdef XPATH_SUPPORT
1751         (except for one #if !SVG_SUPPORT to a #ifndef SVG_SUPPORT
1752         in RenderTreeAsText.cpp)
1753
1754 2006-08-08  Rob Buis  <buis@kde.org>
1755
1756         Reviewed by Darin.
1757
1758         http://bugzilla.opendarwin.org/show_bug.cgi?id=10230
1759         SVGDOMImplementation should die (and be rolled into DOMImplementation)
1760
1761         Delete SVGDOMImplementation and references to it. The
1762         svg specific functionality is now in DOMImplementation.
1763
1764         * WebCore.xcodeproj/project.pbxproj:
1765         * dom/DOMImplementation.cpp:
1766         (WebCore::svgFeatureSet):
1767         (WebCore::DOMImplementation::hasFeature):
1768         (WebCore::DOMImplementation::createDocument):
1769         (WebCore::DOMImplementation::createSVGDocument):
1770         * dom/DOMImplementation.h:
1771         * ksvg2/bindings/idl/svg/SVGDOMImplementation.idl: Removed.
1772         * ksvg2/misc/KSVGTimeScheduler.cpp:
1773         * ksvg2/svg/SVGColor.cpp:
1774         * ksvg2/svg/SVGComponentTransferFunctionElement.cpp:
1775         * ksvg2/svg/SVGDocument.cpp:
1776         (WebCore::SVGDocument::SVGDocument):
1777         * ksvg2/svg/SVGDocument.h:
1778         * ksvg2/svg/SVGElement.cpp:
1779         (WebCore::SVGElement::isSupported):
1780         * ksvg2/svg/SVGFEBlendElement.cpp:
1781         * ksvg2/svg/SVGFEColorMatrixElement.cpp:
1782         * ksvg2/svg/SVGFEComponentTransferElement.cpp:
1783         * ksvg2/svg/SVGFECompositeElement.cpp:
1784         * ksvg2/svg/SVGFEDiffuseLightingElement.cpp:
1785         * ksvg2/svg/SVGFEDisplacementMapElement.cpp:
1786         * ksvg2/svg/SVGFEFloodElement.cpp:
1787         * ksvg2/svg/SVGFEGaussianBlurElement.cpp:
1788         * ksvg2/svg/SVGFELightElement.cpp:
1789         * ksvg2/svg/SVGFEMergeElement.cpp:
1790         * ksvg2/svg/SVGFEOffsetElement.cpp:
1791         * ksvg2/svg/SVGFESpecularLightingElement.cpp:
1792         * ksvg2/svg/SVGFETileElement.cpp:
1793         * ksvg2/svg/SVGFETurbulenceElement.cpp:
1794         * ksvg2/svg/SVGGradientElement.cpp:
1795         * ksvg2/svg/SVGPatternElement.cpp:
1796         * ksvg2/svg/SVGPolyElement.cpp:
1797         * ksvg2/svg/SVGStopElement.cpp:
1798         * ksvg2/svg/SVGStyledElement.cpp:
1799         * ksvg2/svg/SVGStyledTransformableElement.cpp:
1800         * ksvg2/svg/SVGTests.cpp:
1801         (WebCore::SVGTests::isValid):
1802         * ksvg2/svg/SVGTransformable.cpp:
1803         * page/Frame.cpp:
1804         (WebCore::Frame::begin):
1805
1806 2006-08-07  Brady Eidson  <beidson@apple.com>
1807
1808         Reviewed by Anders and John
1809
1810         Icons can now refresh when new data is sent from WebKit, both on disk and in memory
1811
1812         * bridge/mac/WebCoreIconDatabaseBridge.h:
1813         * bridge/mac/WebCoreIconDatabaseBridge.mm:
1814         (WebCore::IconDatabase::loadIconFromURL):  Allows WebCore/Kit to kick off a load
1815         outside of any greater context
1816         (-[WebCoreIconDatabaseBridge isIconExpiredForIconURL:]):
1817         (-[WebCoreIconDatabaseBridge isIconExpiredForPageURL:]): Allows WebKit
1818         to get whether or not an icon has expired
1819
1820         * loader/icon/IconDatabase.cpp:
1821         (WebCore::IconDatabase::recreateDatabase): Changed database schema slightly
1822         (WebCore::IconDatabase::createPrivateTables): Changed database schema slightly
1823         (WebCore::IconDatabase::iconForPageURL): 
1824         (WebCore::IconDatabase::isIconExpiredForIconURL): Get if an icon has expired
1825         (WebCore::IconDatabase::isIconExpiredForPageURL): Get if an icon has expired
1826         (WebCore::IconDatabase::setIconDataForIconURL): Force a refresh of the in memory
1827         image when new icon data is loaded
1828         (WebCore::IconDatabase::setIconURLForPageURL): added a check for null iconID
1829
1830         * loader/icon/IconDatabase.h: added/changed some methods
1831         * loader/icon/SiteIcon.cpp:
1832         (SiteIcon::getImage): simplified/removed debugging code
1833         (SiteIcon::manuallySetImageData): allow the image data to be changed when new icon
1834         data is loaded
1835
1836 2006-08-05  Darin Adler  <darin@apple.com>
1837
1838         Reviewed by Eric Seidel.
1839
1840         - fix a storage leak
1841
1842         * rendering/RenderView.cpp: (WebCore::RenderView::setSelection):
1843         Delete the values if we are going to exit without using the maps.
1844         Otherwise all the values leak.
1845
1846 2006-08-05  Darin Adler  <darin@apple.com>
1847
1848         Reviewed by Hyatt.
1849
1850         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=10213
1851           REGRESSION: Crash in WebCore::RenderLayer::isTransparent involving <iframe> and <select>
1852
1853         Test: fast/frames/iframe-option-crash.xhtml
1854
1855         * rendering/RenderView.cpp: (WebCore::RenderView::paintBoxDecorations):
1856         Check for a nil renderer.
1857
1858 2006-08-04  David Hyatt  <hyatt@apple.com>
1859
1860         Fix for Radar bug #4644045, regression where dragging selection no longer
1861         works for floats contained inside layers.  I added an optimization to
1862         refine dirty rect checking for layers, and it incorrectly excluded floats
1863         from the paint bounds since PaintPhaseSelection was not considered when
1864         analyzing the floatRect().
1865
1866         Reviewed by beth
1867
1868         * rendering/RenderBlock.cpp:
1869         (WebCore::RenderBlock::paint):
1870
1871 2006-08-04  David Hyatt  <hyatt@apple.com>
1872
1873         Fix remove() so that it is equivalent to calling removeChild on the
1874         parent.  This involved moving three operations that remove did.
1875
1876         (1) Move the accessibility object cache removal into the destroy methods,
1877         since this really should just happen when a render object is going away.
1878
1879         (2) removeFromObjectLists shifted into removeChild, which means it will
1880         now be called more often (this is a correct change).  Note that there is
1881         also now a new guard on removeFromObjectLists so that it won't do any
1882         work unless the document is not being destroyed.
1883
1884         (3) The big one.  deleteLineBoxWrapper was not getting called to clean up
1885         the line box tree.  This moved right into RenderContainer's removeChildNode so
1886         that it is now done even in the lowest level RenderContainer removal primitive.
1887
1888         Reviewed by beth
1889
1890         * rendering/RenderContainer.cpp:
1891         (WebCore::RenderContainer::removeChildNode):
1892         (WebCore::RenderContainer::removeChild):
1893         * rendering/RenderObject.cpp:
1894         (WebCore::RenderObject::removeFromObjectLists):
1895         (WebCore::RenderObject::destroy):
1896         * rendering/RenderObject.h:
1897         (WebCore::RenderObject::remove):
1898         * rendering/RenderWidget.cpp:
1899         (WebCore::RenderWidget::destroy):
1900
1901 2006-08-04  David Hyatt  <hyatt@apple.com>
1902
1903         Back out the fix for list marker crashes.  The actual bug here is that
1904         there is a confusing mismatch between remove() and removeChild() in the
1905         render tree.  remove() does a little bit of extra work that removeChild
1906         should be doing instead (so that remove() can just be a shorthand for
1907         removeChild).
1908
1909         This conservative fix does not solve the remove/removeChild mismatch
1910         but instead just changes the list marker updating code to use remove
1911         instead.
1912
1913         Reviewed by beth
1914
1915         Test Case: fast/lists/dynamic-marker-crash.html
1916
1917         * rendering/ListMarkerBox.cpp:
1918         * rendering/ListMarkerBox.h:
1919         * rendering/RenderListItem.cpp:
1920         (WebCore::RenderListItem::updateMarkerLocation):
1921
1922 2006-08-04  Sam Weinig  <sam.weinig@gmail.com>
1923
1924         Reviewed by Darin.
1925
1926         - patch for http://bugzilla.opendarwin.org/show_bug.cgi?id=10192
1927           Make WebCore (and friends) compile with -Wshorten-64-to-32
1928
1929           * Adds -Wshorten-64-to-32 flag to Xcode project.
1930           * Adds 'f' to float literals where expecting a float.
1931           * Use cosf() instead of cos() when assigning to a float.
1932
1933         * WebCore.xcodeproj/project.pbxproj:
1934         * kcanvas/device/quartz/filters/WKDiffuseLightingFilter.m:
1935         (+[WKDiffuseLightingFilter initialize]):
1936         * kcanvas/device/quartz/filters/WKDiscreteTransferFilter.m:
1937         (-[WKDiscreteTransferFilter outputImage]):
1938         * kcanvas/device/quartz/filters/WKDisplacementMapFilter.m:
1939         (+[WKDisplacementMapFilter initialize]):
1940         * kcanvas/device/quartz/filters/WKSpecularLightingFilter.m:
1941         (+[WKSpecularLightingFilter initialize]):
1942         * kcanvas/device/quartz/filters/WKSpotLightFilter.m:
1943         (-[WKSpotLightFilter outputImage]):
1944         * kcanvas/device/quartz/filters/WKTableTransferFilter.m:
1945         (-[WKTableTransferFilter outputImage]):
1946
1947 2006-08-03  David Hyatt  <hyatt@apple.com>
1948
1949         Fix for bug 10229, don't bother trying to clear when no floats are
1950         present.  I suspect there's still a bug in the math that follows, but
1951         this fix is safer in that it just does the obvious thing (and doesn't
1952         compute any clearance if no floats are even around).
1953
1954         Reviewed by maciej
1955
1956         * ChangeLog:
1957         * rendering/RenderBlock.cpp:
1958         (WebCore::RenderBlock::getClearDelta):
1959
1960 2006-08-03  Justin Garcia  <justin.garcia@apple.com>
1961
1962         Reviewed by harrison
1963         
1964         <rdar://problem/4641033/4515463/4052426/4046570/4053718/4053724/4060115/4062858>
1965         Copy/Paste fidelity was bad.
1966
1967         * editing/ApplyStyleCommand.cpp:
1968         (WebCore::ApplyStyleCommand::applyInlineStyle):
1969         * editing/markup.cpp:
1970         (WebCore::startMarkup): We were not adding non-inheritable styles
1971         to the markup for an element unless they were in the elements inline
1972         style declaration.
1973
1974 2006-08-03  Sam Weinig  <sam.weinig@gmail.com>
1975
1976         Reviewed by Darin.
1977
1978         - patch for http://bugzilla.opendarwin.org/show_bug.cgi?id=10176
1979           Make WebCore compile with -Wundef
1980
1981           * Adds -Wundef flag to Xcode project
1982           * Converts #ifs to #ifdef and #ifndefs where needed.
1983           * Replaces #ifdef WIN32 with #if PLATFORM(WIN_OS) or PLATFORM(WIN)
1984             (and in one instance in config.h with #if !COMPILER(MSVC))
1985           * Added #define YYMAXDEPTH 10000 in XPathGrammar.y and CSSGrammar.y
1986             to fix a warning from within Bison.
1987           * Cleaned up style a little in surrounding code.
1988
1989         * WebCore.xcodeproj/project.pbxproj:
1990         * bridge/mac/WebCoreAXObject.mm:
1991         (-[WebCoreAXObject doAXTextMarkerRangeForUnorderedTextMarkers:]):
1992         * config.h:
1993         * css/CSSGrammar.y:
1994         * css/MediaFeatureNames.cpp:
1995         * css/MediaFeatureNames.h:
1996         * css/cssparser.cpp:
1997         * dom/ContainerNode.cpp:
1998         (WebCore::ContainerNode::setActive):
1999         * dom/Element.cpp:
2000         (WebCore::Element::attach):
2001         * dom/Element.h:
2002         * dom/EventNames.cpp:
2003         * dom/EventNames.h:
2004         * dom/NamedAttrMap.h:
2005         * dom/Position.cpp:
2006         * dom/QualifiedName.cpp:
2007         * dom/QualifiedName.h:
2008         * dom/Range.h:
2009         * dom/XMLTokenizer.cpp:
2010         (WebCore::XMLTokenizer::error):
2011         * html/HTMLTokenizer.cpp:
2012         (WebCore::HTMLTokenizer::scriptHandler):
2013         (WebCore::HTMLTokenizer::scriptExecution):
2014         (WebCore::HTMLTokenizer::parseTag):
2015         (WebCore::HTMLTokenizer::continueProcessing):
2016         (WebCore::HTMLTokenizer::write):
2017         (WebCore::HTMLTokenizer::timerFired):
2018         (WebCore::HTMLTokenizer::notifyFinished):
2019         * kcanvas/device/quartz/KCanvasFilterQuartz.h:
2020         * kcanvas/device/quartz/KRenderingDeviceQuartz.h:
2021         * ksvg2/css/SVGRenderStyle.h:
2022         * ksvg2/css/SVGRenderStyleDefs.h:
2023         * ksvg2/scripts/make_names.pl:
2024         * loader/CachedResource.h:
2025         * loader/LoaderFunctions.h:
2026         * loader/loader.h:
2027         * page/Frame.cpp:
2028         * page/FrameTree.cpp:
2029         * page/FrameView.cpp:
2030         (WebCore::FrameView::clear):
2031         (WebCore::FrameView::layout):
2032         (WebCore::FrameView::layoutTimerFired):
2033         (WebCore::FrameView::scheduleRelayout):
2034         (WebCore::FrameView::unscheduleRelayout):
2035         * platform/AtomicString.cpp:
2036         * platform/AtomicString.h:
2037         * platform/Cursor.h:
2038         * platform/DeprecatedArray.h:
2039         * platform/DeprecatedString.cpp:
2040         (WebCore::allocateHandle):
2041         (WebCore::initializeHandleNodeBlock):
2042         (WebCore::freeHandle):
2043         * platform/FloatPoint.h:
2044         * platform/FloatRect.h:
2045         * platform/FloatSize.h:
2046         * platform/GraphicsContext.h:
2047         * platform/Image.h:
2048         * platform/IntPoint.h:
2049         * platform/IntRect.h:
2050         (WebCore::IntRect::inflateX):
2051         (WebCore::IntRect::inflateY):
2052         * platform/IntSize.h:
2053         * platform/PlatformKeyboardEvent.h:
2054         * platform/PlatformMouseEvent.h:
2055         * platform/PlatformString.h:
2056         * platform/ResourceLoader.h:
2057         * platform/ResourceLoaderInternal.h:
2058         (WebCore::ResourceLoaderInternal::ResourceLoaderInternal):
2059         * platform/ScrollView.h:
2060         * platform/StaticConstructors.h:
2061         * platform/StreamingTextDecoderICU.cpp:
2062         (WebCore::StreamingTextDecoderICU::convert):
2063         * platform/StringImpl.h:
2064         * platform/Widget.h:
2065         * platform/mac/BlockExceptions.mm:
2066         * platform/mac/ColorMac.mm:
2067         (+[WebCoreControlTintObserver WebCore]):
2068         * platform/mac/FloatPointMac.mm:
2069         * platform/mac/FloatRectMac.mm:
2070         * platform/mac/FloatSizeMac.mm:
2071         * platform/mac/FontMac.mm:
2072         * platform/mac/GraphicsContextMac.mm:
2073         (WebCore::GraphicsContext::drawFocusRing):
2074         * platform/mac/IntPointMac.mm:
2075         * platform/mac/IntRectMac.mm:
2076         * platform/mac/IntSizeMac.mm:
2077         * platform/mac/WebCoreSystemInterface.h:
2078         * rendering/RenderBlock.h:
2079         * rendering/RenderTableCell.h:
2080         * rendering/bidi.cpp:
2081         (WebCore::appendRun):
2082         (WebCore::RenderBlock::layoutInlineChildren):
2083         * xml/XSLTProcessor.cpp:
2084         (WebCore::parseErrorFunc):
2085         * xpath/impl/XPathGrammar.y:
2086
2087 2006-08-03  Adam Roben  <aroben@apple.com>
2088
2089         Reviewed by Maciej and Beth.
2090
2091         Fix use-after-dispose heap corruption bug.
2092
2093         * rendering/ListMarkerBox.cpp:
2094         (WebCore::ListMarkerBox::destroy): Only call removeChild if we're not
2095         destroying the document
2096
2097 2006-08-03  Adam Roben  <aroben@apple.com>
2098
2099         Reviewed by Anders.
2100
2101         - Fixed Windows build.
2102
2103         * platform/Color.cpp:
2104         (WebCore::makeRGBAFromHSLA): Whitespace change
2105         * platform/win/TemporaryLinkStubs.cpp: Add new method stubs
2106         (PlatformScrollBar::PlatformScrollBar):
2107         (PlatformScrollBar::~PlatformScrollBar):
2108         (PlatformScrollBar::width):
2109         (PlatformScrollBar::height):
2110         (PlatformScrollBar::setEnabled):
2111         (PlatformScrollBar::paint):
2112         (PlatformScrollBar::setScrollBarValue):
2113         (PlatformScrollBar::setKnobProportion):
2114         (PlatformScrollBar::setRect):
2115         (ScrollBar::ScrollBar):
2116         (ScrollBar::scroll):
2117         (ScrollBar::setValue):
2118
2119 2006-08-02  Justin Garcia  <justin.garcia@apple.com>
2120
2121         Reviewed by mjs
2122         
2123         <http://bugzilla.opendarwin.org/show_bug.cgi?id=10225>
2124         GMail Editor: Change Hilite Color doesn't work
2125
2126         * editing/JSEditor.cpp: Added support for execCommand("HiliteColor", ...).
2127         It's what GMail uses to implement text hiliting.  It's just a synonym for BackColor.
2128         * editing/SelectionController.cpp:
2129         (WebCore::SelectionController::nodeWillBeRemoved): Moved a comment
2130         a more appropriate place.
2131
2132 2006-08-03  Mitz Pettel  <opendarwin.org@mitzpettel.com>
2133
2134         Reviewed by Adele and Darin.
2135
2136         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=10177
2137           REGRESSION: Successfully dragging text into a disabled field
2138
2139         Test: fast/forms/textfield-drag-into-disabled.html
2140
2141         * rendering/RenderTextControl.cpp:
2142         (WebCore::RenderTextControl::createDivStyle): Changed to set -webkit-user-modify
2143         to read-only on the inner div if the control is disabled.       
2144         (WebCore::RenderTextControl::updateFromElement): Ditto.
2145
2146 2006-08-03  Mitz Pettel  <opendarwin.org@mitzpettel.com>
2147
2148         Reviewed by Darin.
2149
2150         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=10198
2151           REGRESSION: WebKit r15750 crashes while loading anthem.com
2152
2153         Test: fast/overflow/generated-content-crash.html
2154
2155         * rendering/RenderLayer.cpp:
2156         (WebCore::RenderLayer::updateScrollInfoAfterLayout): Added a null check for
2157         the renderer's element. Generated content does not have an element and
2158         therefore does not need to maintain overflow status.
2159
2160 2006-08-03  Mitz Pettel  <opendarwin.org@mitzpettel.com>
2161
2162         Reviewed by Anders.
2163
2164         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=10202
2165           REGRESSION: Repro crash when loading an empty image document
2166
2167         Test: fast/tokenizer/image-empty-crash.html
2168
2169         * loader/ImageDocument.cpp:
2170         (WebCore::ImageTokenizer::stopParsing): Added null check for m_imageElement.
2171         (WebCore::ImageTokenizer::finish): Ditto.
2172
2173 2006-08-03  Darin Adler  <darin@apple.com>
2174
2175         Reviewed by Anders.
2176
2177         - clean up "flip"-related code a tiny bit
2178
2179         * platform/Screen.h: Removed redundant parameter names.
2180         * platform/mac/ScreenMac.mm:
2181         (WebCore::flipScreenRect): Changed to call flipScreenPoint so we only have one
2182         copy of the flipping code.
2183         (WebCore::flipScreenPoint): Fixed indentation.
2184
2185         * bridge/mac/WebCoreFrameBridge.mm: (globalPoint): Removed type casts and
2186         simplified a bit.
2187
2188         * platform/mac/PlatformMouseEventMac.mm: (WebCore::globalPositionForEvent):
2189         * platform/mac/WheelEventMac.mm: (WebCore::globalPositionForEvent):
2190         Removed unneeded local variable.
2191
2192 2006-08-02  David Hyatt  <hyatt@apple.com>
2193
2194         Abstract RenderLayer scrollbar creation and destruction so that there
2195         is a clean spot in which to drop in engine scrollbar stuff.
2196
2197         Reviewed by timo
2198
2199         * platform/ScrollBar.h:
2200         (WebCore::ScrollBar::hasPlatformScrollBars):
2201         * rendering/RenderLayer.cpp:
2202         (WebCore::RenderLayer::createScrollbar):
2203         (WebCore::RenderLayer::destroyScrollbar):
2204         (WebCore::RenderLayer::setHasHorizontalScrollbar):
2205         (WebCore::RenderLayer::setHasVerticalScrollbar):
2206         * rendering/RenderLayer.h:
2207
2208 2006-08-02  Mitz Pettel  <opendarwin.org@mitzpettel.com>
2209
2210         Reviewed by Darin.
2211
2212         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=3438
2213           incorrect display of transparent 1x1 PNGs
2214
2215         Test: fast/replaced/image-solid-color-with-alpha.html
2216
2217         * platform/mac/ImageMac.mm:
2218         (WebCore::Image::checkForSolidColor): Changed to divide each color component
2219         by the alpha component. You need to do that since the bitmap context has
2220         premultiplied alpha but m_solidColor should be non-premultiplied.
2221
2222 2006-08-02  Adam Roben  <aroben@apple.com>
2223
2224         Reviewed by Brady.
2225
2226         - Remove redundant #include
2227
2228         * loader/loader.cpp:
2229
2230 2006-07-31  Sam Weinig  <sam.weinig@gmail.com>
2231
2232         Reviewed by Darin.
2233
2234         - patch for http://bugzilla.opendarwin.org/show_bug.cgi?id=9955
2235         Colors scaled from [0, 1] range to [0, 255] incorrectly
2236         
2237         Fixes scaling issue and fixes Color to follow style guidelines.
2238
2239         * css/cssstyleselector.cpp:
2240         (WebCore::CSSStyleSelector::getColorFromPrimitiveValue):
2241         * platform/Color.cpp:
2242         (WebCore::calcHue):
2243         (WebCore::makeRGBAFromHSLA):
2244         (WebCore::Color::Color):
2245         (WebCore::Color::name):
2246         (WebCore::Color::setNamedColor):
2247         (WebCore::Color::light):
2248         (WebCore::Color::dark):
2249         (WebCore::blend):
2250         * platform/Color.h:
2251         (WebCore::Color::Color):
2252         (WebCore::Color::isValid):
2253         (WebCore::Color::red):
2254         (WebCore::Color::green):
2255         (WebCore::Color::blue):
2256         (WebCore::Color::alpha):
2257         (WebCore::Color::rgb):
2258         (WebCore::Color::setRGB):
2259         (WebCore::operator==):
2260         (WebCore::operator!=):
2261         * rendering/RenderObject.cpp:
2262         (WebCore::RenderObject::drawBorder):
2263
2264 2006-07-31  Mitz Pettel  <opendarwin.org@mitzpettel.com>
2265
2266         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=10158
2267           REGRESSION: Selection highlight is dark and opaque when solid-color images are used
2268
2269         Reviewed by Darin.
2270
2271         Pixel test: fast/backgrounds/solid-color-context-restore.html
2272
2273         * platform/mac/ImageMac.mm:
2274         (WebCore::Image::draw): Added calls to preserve the graphics context
2275         around the painting of a solid color image.
2276         (WebCore::Image::drawTiled): Ditto.
2277
2278 2006-07-31  Maciej Stachowiak  <mjs@apple.com>
2279
2280         Rubber-stamped by Tim Hatcher.
2281
2282         - renamed TransferJob to ResourceLoader
2283
2284         * Projects/gdk/webcore-gdk.bkl:
2285         * WebCore.vcproj/WebCore/WebCore.vcproj:
2286         * WebCore.xcodeproj/project.pbxproj:
2287         * WebCoreSources.bkl:
2288         * bridge/mac/FrameMac.mm:
2289         * bridge/mac/WebCoreResourceLoaderImp.h:
2290         * bridge/mac/WebCoreResourceLoaderImp.mm:
2291         (-[WebCoreResourceLoaderImp redirectedToURL:]):
2292         (-[WebCoreResourceLoaderImp addData:]):
2293         (-[WebCoreResourceLoaderImp finishJobAndHandle:]):
2294         * bridge/win/FrameWin.cpp:
2295         * dom/XMLTokenizer.cpp:
2296         (WebCore::openFunc):
2297         * loader/Cache.cpp:
2298         * loader/LoaderFunctions.h:
2299         * loader/loader.cpp:
2300         (WebCore::Loader::servePendingRequests):
2301         (WebCore::Loader::receivedAllData):
2302         (WebCore::Loader::receivedResponse):
2303         (WebCore::Loader::receivedData):
2304         (WebCore::Loader::cancelRequests):
2305         (WebCore::Loader::jobForRequest):
2306         * loader/loader.h:
2307         * loader/mac/LoaderFunctionsMac.mm:
2308         (WebCore::ServeSynchronousRequest):
2309         * platform/ResourceLoader.cpp: Added.
2310         (WebCore::ResourceLoader::ResourceLoader):
2311         (WebCore::ResourceLoader::isErrorPage):
2312         (WebCore::ResourceLoader::error):
2313         (WebCore::ResourceLoader::setError):
2314         (WebCore::ResourceLoader::queryMetaData):
2315         (WebCore::ResourceLoader::addMetaData):
2316         (WebCore::ResourceLoader::kill):
2317         (WebCore::ResourceLoader::url):
2318         (WebCore::ResourceLoader::postData):
2319         (WebCore::ResourceLoader::method):
2320         (WebCore::ResourceLoader::client):
2321         * platform/ResourceLoader.h: Added.
2322         (WebCore::ResourceLoader::getInternal):
2323         * platform/ResourceLoaderClient.h: Added.
2324         (WebCore::ResourceLoaderClient::~ResourceLoaderClient):
2325         (WebCore::ResourceLoaderClient::receivedRedirect):
2326         (WebCore::ResourceLoaderClient::receivedResponse):
2327         (WebCore::ResourceLoaderClient::receivedData):
2328         (WebCore::ResourceLoaderClient::receivedAllData):
2329         * platform/ResourceLoaderInternal.h: Added.
2330         (WebCore::ResourceLoaderInternal::ResourceLoaderInternal):
2331         * platform/TransferJob.cpp: Removed.
2332         * platform/TransferJob.h: Removed.
2333         * platform/TransferJobClient.h: Removed.
2334         * platform/TransferJobInternal.h: Removed.
2335         * platform/gdk/FrameGdk.cpp:
2336         (WebCore::FrameGdk::openURL):
2337         (WebCore::FrameGdk::urlSelected):
2338         (WebCore::FrameGdk::receivedData):
2339         (WebCore::FrameGdk::receivedAllData):
2340         * platform/gdk/FrameGdk.h:
2341         * platform/gdk/ResourceLoaderCurl.cpp: Added.
2342         (WebCore::ResourceLoaderInternal::~ResourceLoaderInternal):
2343         (WebCore::ResourceLoader::~ResourceLoader):
2344         (WebCore::ResourceLoader::start):
2345         (WebCore::ResourceLoader::cancel):
2346         * platform/gdk/ResourceLoaderManager.cpp: Added.
2347         (WebCore::ResourceLoaderManager::ResourceLoaderManager):
2348         (WebCore::ResourceLoaderManager::get):
2349         (WebCore::ResourceLoaderManager::useSimpleTransfer):
2350         (WebCore::writeCallback):
2351         (WebCore::ResourceLoaderManager::downloadTimerCallback):
2352         (WebCore::ResourceLoaderManager::remove):
2353         (WebCore::ResourceLoaderManager::add):
2354         (WebCore::ResourceLoaderManager::cancel):
2355         * platform/gdk/ResourceLoaderManager.h: Added.
2356         * platform/gdk/TemporaryLinkStubs.cpp:
2357         (WebCore::ServeSynchronousRequest):
2358         (WebCore::ResourceLoader::assembleResponseHeaders):
2359         (WebCore::ResourceLoader::retrieveCharset):
2360         * platform/gdk/TransferJobCurl.cpp: Removed.
2361         * platform/gdk/TransferJobManager.cpp: Removed.
2362         * platform/gdk/TransferJobManager.h: Removed.
2363         * platform/mac/ResourceLoaderMac.mm: Added.
2364         (WebCore::ResourceLoaderInternal::~ResourceLoaderInternal):
2365         (WebCore::ResourceLoader::~ResourceLoader):
2366         (WebCore::ResourceLoader::start):
2367         (WebCore::ResourceLoader::assembleResponseHeaders):
2368         (WebCore::ResourceLoader::retrieveCharset):
2369         (WebCore::ResourceLoader::setLoader):
2370         (WebCore::ResourceLoader::receivedResponse):
2371         (WebCore::ResourceLoader::cancel):
2372         * platform/mac/TransferJobMac.mm: Removed.
2373         * platform/win/ResourceLoaderWin.cpp: Added.
2374         (WebCore::addToOutstandingJobs):
2375         (WebCore::lookupResourceLoader):
2376         (WebCore::ResourceLoaderWndProc):
2377         (WebCore::initializeOffScreenResourceLoaderWindow):
2378         (WebCore::ResourceLoaderInternal::~ResourceLoaderInternal):
2379         (WebCore::ResourceLoader::~ResourceLoader):
2380         (WebCore::ResourceLoader::start):
2381         (WebCore::ResourceLoader::fileLoadTimer):
2382         (WebCore::ResourceLoader::cancel):
2383         * platform/win/ResourceLoaderWin.h: Added.
2384         * platform/win/TemporaryLinkStubs.cpp:
2385         (WebCore::ServeSynchronousRequest):
2386         (WebCore::ResourceLoader::assembleResponseHeaders):
2387         (WebCore::ResourceLoader::retrieveCharset):
2388         * platform/win/TransferJobWin.cpp: Removed.
2389         * platform/win/TransferJobWin.h: Removed.
2390         * xml/XSLTProcessor.cpp:
2391         (WebCore::docLoaderFunc):
2392         * xml/xmlhttprequest.cpp:
2393         (WebCore::XMLHttpRequest::send):
2394         (WebCore::XMLHttpRequest::receivedAllData):
2395         (WebCore::XMLHttpRequest::receivedRedirect):
2396         (WebCore::XMLHttpRequest::receivedData):
2397         * xml/xmlhttprequest.h:
2398
2399 2006-07-31  Darin Adler  <darin@apple.com>
2400
2401         Reviewed by Hyatt.
2402
2403         - removed obsolete cell margin hack
2404
2405         * rendering/RenderBox.cpp: (WebCore::RenderBox::calcVerticalMargins):
2406         Set top and bottom margins to 0 for table cells instead of -16384.
2407         No effect on layout (including layout tests).
2408
2409         * css/CSSComputedStyleDeclaration.cpp:
2410         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
2411         Added a few comments about differences between this class and the
2412         what the CSS specification says about computed style.
2413
2414 2006-07-31  Mark Rowe  <opendarwin.org@bdash.net.nz>
2415
2416         Reviewed by Maciej.
2417
2418         http://bugzilla.opendarwin.org/show_bug.cgi?id=9738
2419         Bug 9738: Unqualified :hover selector ignored in strict parsing mode
2420
2421         * css/cssstyleselector.cpp:
2422         (WebCore::CSSStyleSelector::checkSelector): Restrict the :hover and :active
2423         exclusion based on onlyHoverActive to quirks mode.
2424
2425 2006-07-31  David Hyatt  <hyatt@apple.com>
2426
2427         Fix for bug 10179, digg.com scrolls slowly.  Improve fixed positioning
2428         and fixed backgrounds so that a count of them is kept on the FrameView.
2429         This allows us to switch slow scrolling on and off as these objects come
2430         and go.
2431
2432         * css/cssstyleselector.cpp:
2433         (WebCore::CSSStyleSelector::adjustRenderStyle):
2434         (WebCore::CSSStyleSelector::applyProperty):
2435         * page/FrameView.cpp:
2436         (WebCore::FrameViewPrivate::reset):
2437         (WebCore::FrameView::layout):
2438         (WebCore::FrameView::useSlowRepaints):
2439         (WebCore::FrameView::setUseSlowRepaints):
2440         (WebCore::FrameView::addSlowRepaintObject):
2441         (WebCore::FrameView::removeSlowRepaintObject):
2442         * page/FrameView.h:
2443         * rendering/RenderBox.cpp:
2444         (WebCore::RenderBox::paintBackgroundExtended):
2445         * rendering/RenderObject.cpp:
2446         (WebCore::RenderObject::setStyle):
2447         * rendering/RenderView.cpp:
2448         (WebCore::RenderView::paintBoxDecorations):
2449
2450 2006-07-31  David Hyatt  <hyatt@apple.com>
2451
2452         Begin disentangling of scrollbar logic in preparation for engine-implemented
2453         scrollbars.  Split ScrollBar into two classes, an abstract base (still named
2454         ScrollBar) and a new PlatformScrollBar subclass.  This subclass is used only
2455         by platforms that want to continue to use a platform scrollbar (rather than
2456         the engine one).
2457
2458         Reviewed by darin
2459
2460         * WebCore.xcodeproj/project.pbxproj:
2461         * html/HTMLCanvasElement.h:
2462         * page/Frame.cpp:
2463         * platform/PlatformScrollBar.h: Added.
2464         (WebCore::PlatformScrollBar::isWidget):
2465         * platform/ScrollBar.h:
2466         (WebCore::ScrollBarClient::~ScrollBarClient):
2467         (WebCore::ScrollBar::~ScrollBar):
2468         (WebCore::ScrollBar::orientation):
2469         (WebCore::ScrollBar::value):
2470         (WebCore::ScrollBar::client):
2471         * platform/mac/PlatformScrollBarMac.mm: Added.
2472         (-[WebCoreScrollBar initWithPlatformScrollBar:]):
2473         (-[WebCoreScrollBar detachPlatformScrollBar]):
2474         (-[WebCoreScrollBar scroll:]):
2475         (-[WebCoreScrollBar widget]):
2476         (-[WebCoreScrollBar mouseDown:]):
2477         (WebCore::PlatformScrollBar::PlatformScrollBar):
2478         (WebCore::PlatformScrollBar::~PlatformScrollBar):
2479         (WebCore::PlatformScrollBar::setScrollBarValue):
2480         (WebCore::PlatformScrollBar::setKnobProportion):
2481         (WebCore::PlatformScrollBar::scrollbarHit):
2482         (WebCore::PlatformScrollBar::width):
2483         (WebCore::PlatformScrollBar::height):
2484         (WebCore::PlatformScrollBar::setRect):
2485         (WebCore::PlatformScrollBar::setEnabled):
2486         (WebCore::PlatformScrollBar::paint):
2487         * platform/mac/ScrollBarMac.mm: Removed.
2488         * platform/mac/WebCoreTextArea.mm:
2489         * rendering/RenderBlock.cpp:
2490         (WebCore::RenderBlock::isPointInScrollbar):
2491         * rendering/RenderFormElement.cpp:
2492         * rendering/RenderLayer.cpp:
2493         (WebCore::RenderLayer::horizontalScrollbarWidget):
2494         (WebCore::RenderLayer::verticalScrollbarWidget):
2495         (WebCore::RenderLayer::valueChanged):
2496         (WebCore::RenderLayer::setHasHorizontalScrollbar):
2497         (WebCore::RenderLayer::setHasVerticalScrollbar):
2498         (WebCore::RenderLayer::positionScrollbars):
2499         * rendering/RenderLayer.h:
2500         * rendering/RenderWidget.h:
2501
2502 2006-07-31  Adele Peterson  <adele@apple.com>
2503
2504         Reviewed by John and Anders.
2505
2506         - Fix for <rdar://problem/4380576> onChange does not get called when field changed by return key
2507
2508         Test: fast/forms/onchange-enter-submit.html
2509
2510         Blur (which will fire onChange appropriately) before submitting a form when pressing Enter.
2511         This matches the sequence of events fired in WinIE.
2512
2513         * html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::defaultEventHandler):
2514         * html/HTMLSelectElement.cpp: (WebCore::HTMLSelectElement::defaultEventHandler):
2515
2516 2006-07-31  Geoffrey Garen  <ggaren@apple.com>
2517
2518         Reviewed by Kevin.
2519
2520         Moved string debug function outside of the WebCore namespace so that it's
2521         easier to call in the debugger. I will never doubt Darin again (x100).
2522
2523         * platform/String.cpp:
2524         (string):
2525
2526 2006-07-31  David Hyatt  <hyatt@apple.com>
2527
2528         Partial fix for 5453.  Improve overflow so that when it changes
2529         dynamically from scroll/auto to hidden that we properly hide the
2530         scrollbars.  Also refine the dirty dashboard region updating so that
2531         it only happens if the scrollbars genuinely come and go.
2532
2533         Also eliminate the extra repaint of the entire block.  This should not be
2534         necessary, since the scrollbars repaint themselves already and children
2535         will repaint already if they move.
2536
2537         Reviewed by darin
2538
2539         Adding test case from bug into fast/overflow/dynamic-hidden.html
2540
2541         * rendering/RenderLayer.cpp:
2542         (WebCore::RenderLayer::setHasHorizontalScrollbar):
2543         (WebCore::RenderLayer::setHasVerticalScrollbar):
2544         (WebCore::RenderLayer::updateScrollInfoAfterLayout):
2545
2546 2006-07-31  Graham Dennis  <graham.dennis@gmail.com>
2547
2548         Reviewed by justin
2549         
2550         <http://bugzilla.opendarwin.org/show_bug.cgi?id=9507>
2551         Empty style spans created in applyInlineStyle
2552         
2553         Improves paste fidelity because some of these empty font/style spans had a non-zero
2554         size and were messing up the layout of pasted content:
2555         <rdar://problem/4515463>
2556         REGRESSION: Blot and Mail both do a very poor job of pasting the main www.apple.com page   
2557
2558         * editing/ApplyStyleCommand.cpp:
2559         (WebCore::ApplyStyleCommand::applyInlineStyle): Use the adjusted start node instead 
2560         of start.node().  Don't do any application if the endpoints are swapped.  Adjust
2561         endNode if the start node is a descendant of it, so that the pre-order traversal will
2562         terminate properly.
2563
2564 2006-07-31  Geoffrey Garen  <ggaren@apple.com>
2565
2566         Reviewed by Darin.
2567
2568         * platform/String.cpp:
2569         (WebCore::string): Added a debugging function to create a String from a
2570         const char*.
2571
2572 2006-07-31  Anders Carlsson  <acarlsson@apple.com>
2573
2574         * css/CSSPrimitiveValue.cpp:
2575         Fix windows build.
2576
2577 2006-07-31  Geoffrey Garen  <ggaren@apple.com>
2578
2579         Reinstating my last change. Everything builds now.
2580         
2581 2006-07-31  Geoffrey Garen  <ggaren@apple.com>
2582
2583         Backing out my last change because it causes a build failure in some
2584         configurations. This seems to be the cleanest way to get svn to cooperate.
2585
2586 2006-07-31  Geoffrey Garen  <ggaren@apple.com>
2587
2588         Reviewed by Maciej.
2589
2590         Moved files around to make WebCore's structure clearer
2591         and easier to explain.
2592
2593         DerivedSources/JS* -> bindings/js/DerivedSources/ (so JS* files
2594         show up when you search inside bindings/js/, but are marked, at
2595         the same time, as files that you should not edit manually)
2596
2597         WebCore+SVG/DOMList.h -> ksvg2/svg/ (only files inside ksvg2/svg/
2598         use DOMList.h)
2599
2600         icon -> loader/icon
2601
2602         I tested that everything still builds.
2603
2604 2006-07-30  Darin Adler  <darin@apple.com>
2605
2606         Reviewed by Tim Hatcher.
2607
2608         - some improvements for the benefit of the style pane of the inspector
2609
2610         * css/CSSComputedStyleDeclaration.cpp: Removed background-position
2611         and border-spacing from the list of properties that show up in
2612         computed style, because of background-position-x, background-position-y,
2613         -webkit-border-horizontal-spacing and -webkit-border-vertical-spacing.
2614         (WebCore::valueForLength): Added handling for undefinedLength, intrinsic,
2615         and min-intrinsic.
2616         (WebCore::primitiveValueFromLength): Removed code that would add a
2617         space to the string for no good reason.
2618         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Added a
2619         special case for a line clamp of -1, which should come back as "none"
2620         rather than an actual "-1".
2621         (WebCore::CSSComputedStyleDeclaration::length): Return 0 if the
2622         declaration has no corresponding node or no renderer.
2623         (WebCore::CSSComputedStyleDeclaration::item): Check against length()
2624         so that the two stay consistent rather than using a constant.
2625
2626         * css/CSSPrimitiveValue.cpp:
2627         (WebCore::isCSSTokenizerIdentifier): Added.
2628         (WebCore::isCSSTokenizerURL): Added.
2629         (WebCore::quoteString): Added.
2630         (WebCore::quoteStringIfNeeded): Changed to quote strings in many more
2631         cases -- any cases where they would not parse in the CSS parser otherwise.
2632         The main case this affects is font names with spaces in them.
2633         (WebCore::quoteURLIfNeeded): Added.
2634         (WebCore::CSSPrimitiveValue::cssText): Use quoteURLIfNeeded in the case
2635         where we're making the text form of a URI.
2636
2637         * css/tokenizer.flex: Whitespace tweaks to line things up better.
2638
2639 2006-07-30  Eric Seidel  <eric@eseidel.com>
2640
2641         Reviewed by gramps!
2642
2643         Remove some unused SVG code.
2644
2645         * ksvg2/ecma/Ecma.cpp: Removed.
2646         * ksvg2/ecma/Ecma.h: Removed.
2647         * ksvg2/ecma/GlobalObject.cpp: remove a couple dead functions.
2648         * ksvg2/ecma/GlobalObject.h: add a comment about this dead code.
2649         * ksvg2/ecma/SVGLookup.h: Removed.
2650
2651 2006-07-29  Darin Adler  <darin@apple.com>
2652
2653         - Removed tabs from these source files that still had them.
2654           We don't use them; that way source files look fine in editors
2655           that have tabs set to 8 spaces or to 4 spaces.
2656         - Removed allow-tabs Subversion property from the files too.
2657
2658         * bindings/objc/WebScriptObject.h:
2659         * bindings/objc/WebScriptObject.mm:
2660         * platform/FontData.cpp:
2661
2662 2006-07-29  Sam Weinig  <sam.weinig@gmail.com>
2663
2664         Reviewed by Darin.
2665
2666         - patch for http://bugzilla.opendarwin.org/show_bug.cgi?id=10080
2667           Adopt pedantic changes from the Unity project to improve 
2668           cross-compiler compatibility
2669
2670           Changes include:
2671           * Removing trailing semicolon from namespace braces.
2672           * Removing trailing comma from last enum declaration.
2673           * Updating to match style guidelines.
2674           * Adding missing newline to the end of the file.
2675           * Turning on gcc warning for missing newline at the end of a source file
2676             (GCC_WARN_ABOUT_MISSING_NEWLINE in Xcode, -Wnewline in gcc).
2677           * Alphabetical sorting of Xcode source list files.
2678           * Use abs() function from <math.h> instead of ABS() macro.
2679           * Use C-style comments instead of C++ comments in files that might
2680             be included by either C or C++ files.
2681           * Use -numeric_limits<double>::infinity() instead of -HUGE_VAL.
2682
2683         * WebCore+SVG/DOMList.h:
2684         * WebCore.xcodeproj/project.pbxproj:
2685         * WebCorePrefix.h:
2686         * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
2687         * bindings/js/JSXSLTProcessor.h:
2688         * bindings/js/kjs_domnode.h:
2689         (KJS::DOMNode::):
2690         * bindings/objc/DOMCSS.h:
2691         (-[DOMCSSValue enum]):
2692         * bindings/objc/DOMCore.h:
2693         (-[DOMImplementation createDocument:::]):
2694         * bindings/objc/DOMEvents.h:
2695         (-[DOMOverflowEvent enum]):
2696         * bindings/objc/DOMRange.h:
2697         * bindings/objc/DOMTraversal.h:
2698         * bindings/objc/DOMXPath.h:
2699         (-[DOMXPathNSResolver lookupNamespaceURI:]):
2700         * bridge/mac/WebCoreFrameBridge.h:
2701         * bridge/mac/WebCoreKeyboardAccess.h:
2702         * css/makeprop:
2703         * css/makevalues:
2704         * dom/ChildNodeList.h:
2705         * dom/DocPtr.h:
2706         * dom/Document.h:
2707         (WebCore::Document::):
2708         * dom/DocumentMarker.h:
2709         (WebCore::DocumentMarker::):
2710         (WebCore::DocumentMarker::operator==):
2711         (WebCore::DocumentMarker::operator!=):
2712         * dom/EventTargetNode.h:
2713         * dom/KeyboardEvent.h:
2714         (WebCore::KeyboardEvent::):
2715         * dom/NameNodeList.h:
2716         (WebCore::NameNodeList::rootNodeChildrenChanged):
2717         * dom/QualifiedName.cpp:
2718         * editing/TypingCommand.h:
2719         (WebCore::TypingCommand::):
2720         * editing/UnlinkCommand.h:
2721         (WebCore::UnlinkCommand::editingAction):
2722         * html/FormDataList.h:
2723         (WebCore::FormDataListItem::FormDataListItem):
2724         (WebCore::FormDataList::appendData):
2725         * html/HTMLBlockquoteElement.h:
2726         * html/HTMLDivElement.h:
2727         * html/HTMLFormElement.h:
2728         * html/HTMLHRElement.h:
2729         * html/HTMLHeadingElement.h:
2730         * html/HTMLMarqueeElement.h:
2731         * html/HTMLParagraphElement.h:
2732         * html/HTMLPlugInElement.h:
2733         * html/HTMLPreElement.h:
2734         * html/HTMLTokenizer.h:
2735         (WebCore::HTMLTokenizer::State::):
2736         * icon/IconDatabase.cpp:
2737         * icon/SQLStatement.cpp:
2738         * kcanvas/KCanvasFilters.h:
2739         (WebCore::):
2740         (WebCore::KCanvasPoint3F::KCanvasPoint3F):
2741         (WebCore::KCanvasFilter::KCanvasFilter):
2742         (WebCore::KCanvasFilter::~KCanvasFilter):
2743         (WebCore::KCanvasFilterEffect::~KCanvasFilterEffect):
2744         (WebCore::KCComponentTransferFunction::KCComponentTransferFunction):
2745         (WebCore::KCanvasFEConvolveMatrix::KCanvasFEConvolveMatrix):
2746         (WebCore::KCLightSource::KCLightSource):
2747         (WebCore::KCDistantLightSource::KCDistantLightSource):
2748         (WebCore::KCPointLightSource::KCPointLightSource):
2749         (WebCore::KCSpotLightSource::KCSpotLightSource):
2750         (WebCore::KCanvasFEDiffuseLighting::KCanvasFEDiffuseLighting):
2751         (WebCore::KCanvasFEDisplacementMap::KCanvasFEDisplacementMap):
2752         (WebCore::KCanvasFEImage::KCanvasFEImage):
2753         (WebCore::KCanvasFESpecularLighting::KCanvasFESpecularLighting):
2754         * kcanvas/RenderSVGImage.h:
2755         * kcanvas/device/quartz/KRenderingDeviceQuartz.h:
2756         * ksvg2/css/SVGRenderStyle.h:
2757         (WebCore::SVGRenderStyle::InheritedFlags::):
2758         (WebCore::SVGRenderStyle::NonInheritedFlags::):
2759         * ksvg2/css/SVGRenderStyleDefs.h:
2760         (WebCore::):
2761         * ksvg2/events/SVGZoomEvent.h:
2762         * ksvg2/ksvg.h:
2763         (WebCore::):
2764         * ksvg2/misc/KCanvasRenderingStyle.h:
2765         * ksvg2/misc/SVGImageLoader.h:
2766         * ksvg2/scripts/make_names.pl:
2767         * ksvg2/svg/SVGAElement.h:
2768         * ksvg2/svg/SVGAngle.h:
2769         * ksvg2/svg/SVGAnimateColorElement.h:
2770         * ksvg2/svg/SVGAnimateElement.h:
2771         * ksvg2/svg/SVGAnimateTransformElement.h:
2772         * ksvg2/svg/SVGAnimatedAngle.h:
2773         * ksvg2/svg/SVGAnimatedBoolean.h:
2774         * ksvg2/svg/SVGAnimatedColor.h:
2775         * ksvg2/svg/SVGAnimatedEnumeration.h:
2776         * ksvg2/svg/SVGAnimatedInteger.h:
2777         * ksvg2/svg/SVGAnimatedLength.h:
2778         * ksvg2/svg/SVGAnimatedLengthList.h:
2779         * ksvg2/svg/SVGAnimatedNumber.h:
2780         * ksvg2/svg/SVGAnimatedNumberList.h:
2781         * ksvg2/svg/SVGAnimatedPathData.h:
2782         * ksvg2/svg/SVGAnimatedPoints.h:
2783         * ksvg2/svg/SVGAnimatedPreserveAspectRatio.h:
2784         * ksvg2/svg/SVGAnimatedRect.h:
2785         * ksvg2/svg/SVGAnimatedString.h:
2786         * ksvg2/svg/SVGAnimatedTemplate.h:
2787         * ksvg2/svg/SVGAnimatedTransformList.h:
2788         * ksvg2/svg/SVGAnimationElement.cpp:
2789         (SVGAnimationElement::calculateCurrentValueItem):
2790         (SVGAnimationElement::calculateRelativeTimePercentage):
2791         * ksvg2/svg/SVGAnimationElement.h:
2792         (WebCore::):
2793         * ksvg2/svg/SVGCircleElement.h:
2794         * ksvg2/svg/SVGClipPathElement.h:
2795         * ksvg2/svg/SVGColor.h:
2796         * ksvg2/svg/SVGComponentTransferFunctionElement.h:
2797         * ksvg2/svg/SVGCursorElement.h:
2798         * ksvg2/svg/SVGDOMImplementation.h:
2799         * ksvg2/svg/SVGDefsElement.h:
2800         * ksvg2/svg/SVGDescElement.h:
2801         * ksvg2/svg/SVGDocument.h:
2802         * ksvg2/svg/SVGElement.h:
2803         (WebCore::SVGElement::rendererIsNeeded):
2804         (WebCore::svg_dynamic_cast):
2805         * ksvg2/svg/SVGElementInstance.h:
2806         * ksvg2/svg/SVGElementInstanceList.h:
2807         * ksvg2/svg/SVGEllipseElement.h:
2808         * ksvg2/svg/SVGExternalResourcesRequired.h:
2809         * ksvg2/svg/SVGFEBlendElement.h:
2810         * ksvg2/svg/SVGFEColorMatrixElement.h:
2811         * ksvg2/svg/SVGFEComponentTransferElement.h:
2812         * ksvg2/svg/SVGFECompositeElement.h:
2813         * ksvg2/svg/SVGFEDiffuseLightingElement.h:
2814         * ksvg2/svg/SVGFEDisplacementMapElement.h:
2815         * ksvg2/svg/SVGFEDistantLightElement.h:
2816         * ksvg2/svg/SVGFEFloodElement.h:
2817         * ksvg2/svg/SVGFEFuncAElement.h:
2818         * ksvg2/svg/SVGFEFuncBElement.h:
2819         * ksvg2/svg/SVGFEFuncGElement.h:
2820         * ksvg2/svg/SVGFEFuncRElement.h:
2821         * ksvg2/svg/SVGFEGaussianBlurElement.h:
2822         * ksvg2/svg/SVGFEImageElement.h:
2823         * ksvg2/svg/SVGFELightElement.h:
2824         * ksvg2/svg/SVGFEMergeElement.h:
2825         * ksvg2/svg/SVGFEMergeNodeElement.h:
2826         * ksvg2/svg/SVGFEOffsetElement.h:
2827         * ksvg2/svg/SVGFEPointLightElement.h:
2828         * ksvg2/svg/SVGFESpecularLightingElement.h:
2829         * ksvg2/svg/SVGFESpotLightElement.h:
2830         * ksvg2/svg/SVGFETileElement.h:
2831         * ksvg2/svg/SVGFETurbulenceElement.h:
2832         * ksvg2/svg/SVGFilterElement.h:
2833         * ksvg2/svg/SVGFilterPrimitiveStandardAttributes.h:
2834         * ksvg2/svg/SVGFitToViewBox.h:
2835         * ksvg2/svg/SVGForeignObjectElement.cpp:
2836         * ksvg2/svg/SVGForeignObjectElement.h:
2837         * ksvg2/svg/SVGGElement.h:
2838         * ksvg2/svg/SVGGradientElement.h:
2839         * ksvg2/svg/SVGHelper.h:
2840         (WebCore::):
2841         * ksvg2/svg/SVGImageElement.h:
2842         * ksvg2/svg/SVGLangSpace.h:
2843         * ksvg2/svg/SVGLength.h:
2844         * ksvg2/svg/SVGLengthList.h:
2845         * ksvg2/svg/SVGLineElement.h:
2846         * ksvg2/svg/SVGLinearGradientElement.h:
2847         * ksvg2/svg/SVGList.h:
2848         * ksvg2/svg/SVGLocatable.h:
2849         * ksvg2/svg/SVGMarkerElement.h:
2850         * ksvg2/svg/SVGMaskElement.h:
2851         * ksvg2/svg/SVGMatrix.h:
2852         * ksvg2/svg/SVGNumber.h:
2853         * ksvg2/svg/SVGNumberList.h:
2854         * ksvg2/svg/SVGPaint.h:
2855         * ksvg2/svg/SVGPathElement.h:
2856         * ksvg2/svg/SVGPathSeg.h:
2857         * ksvg2/svg/SVGPathSegArc.h:
2858         * ksvg2/svg/SVGPathSegClosePath.h:
2859         * ksvg2/svg/SVGPathSegCurvetoCubic.h:
2860         * ksvg2/svg/SVGPathSegCurvetoCubicSmooth.h:
2861         * ksvg2/svg/SVGPathSegCurvetoQuadratic.h:
2862         * ksvg2/svg/SVGPathSegCurvetoQuadraticSmooth.h:
2863         * ksvg2/svg/SVGPathSegLineto.h:
2864         * ksvg2/svg/SVGPathSegLinetoHorizontal.h:
2865         * ksvg2/svg/SVGPathSegLinetoVertical.h:
2866         * ksvg2/svg/SVGPathSegList.h:
2867         * ksvg2/svg/SVGPathSegMoveto.h:
2868         * ksvg2/svg/SVGPatternElement.h:
2869         * ksvg2/svg/SVGPoint.h:
2870         * ksvg2/svg/SVGPointList.h:
2871         * ksvg2/svg/SVGPolyElement.h:
2872         * ksvg2/svg/SVGPolygonElement.h:
2873         * ksvg2/svg/SVGPolylineElement.h:
2874         * ksvg2/svg/SVGPreserveAspectRatio.h:
2875         * ksvg2/svg/SVGRadialGradientElement.h:
2876         * ksvg2/svg/SVGRect.h:
2877         * ksvg2/svg/SVGRectElement.h:
2878         * ksvg2/svg/SVGSVGElement.h:
2879         * ksvg2/svg/SVGScriptElement.h:
2880         * ksvg2/svg/SVGSetElement.h:
2881         * ksvg2/svg/SVGStopElement.h:
2882         * ksvg2/svg/SVGStringList.h:
2883         * ksvg2/svg/SVGStylable.h:
2884         * ksvg2/svg/SVGStyleElement.h:
2885         * ksvg2/svg/SVGStyledElement.h:
2886         (WebCore::SVGStyledElement::rendererIsNeeded):
2887         (WebCore::SVGStyledElement::canvasResource):
2888         * ksvg2/svg/SVGStyledLocatableElement.h:
2889         * ksvg2/svg/SVGStyledTransformableElement.h:
2890         * ksvg2/svg/SVGSwitchElement.h:
2891         * ksvg2/svg/SVGSymbolElement.h:
2892         * ksvg2/svg/SVGTRefElement.h:
2893         * ksvg2/svg/SVGTSpanElement.h:
2894         * ksvg2/svg/SVGTests.h:
2895         * ksvg2/svg/SVGTextContentElement.h:
2896         * ksvg2/svg/SVGTextElement.h:
2897         * ksvg2/svg/SVGTextPositioningElement.h:
2898         * ksvg2/svg/SVGTitleElement.h:
2899         * ksvg2/svg/SVGTransform.h:
2900         * ksvg2/svg/SVGTransformList.h:
2901         * ksvg2/svg/SVGTransformable.h:
2902         * ksvg2/svg/SVGURIReference.h:
2903         * ksvg2/svg/SVGUseElement.h:
2904         * ksvg2/svg/SVGViewElement.h:
2905         * ksvg2/svg/SVGZoomAndPan.h:
2906         * ksvg2/svg/svgpathparser.h:
2907         * page/Frame.h:
2908         (WebCore::):
2909         * platform/AffineTransform.h:
2910         * platform/FontCache.cpp:
2911         (WebCore::FontPlatformDataCacheKey::FontPlatformDataCacheKey):
2912         * platform/FontData.cpp:
2913         (WebCore::FontData::FontData):
2914         * platform/FontData.h:
2915         * platform/TextBox.h:
2916         (WebCore::TextBox::):
2917         * platform/Timer.cpp:
2918         (WebCore::TimerBase::heapPop):
2919         * platform/mac/FontCacheMac.mm:
2920         * platform/mac/GlyphMapMac.cpp:
2921         * platform/mac/WebFontCache.mm:
2922         (betterChoice):
2923         * rendering/DeprecatedRenderSelect.cpp:
2924         (WebCore::DeprecatedRenderSelect::setWidgetWritingDirection):
2925         * rendering/EllipsisBox.h:
2926         * rendering/RenderBR.h:
2927         (WebCore::RenderBR::renderName):
2928         (WebCore::RenderBR::width):
2929         * rendering/RenderBlock.h:
2930         (WebCore::):
2931         * rendering/RenderFlexibleBox.h:
2932         * rendering/RenderFlow.h:
2933         (WebCore::RenderFlow::RenderFlow):
2934         * rendering/RenderFrame.cpp:
2935         * rendering/bidi.h:
2936         * rendering/break_lines.cpp:
2937
2938 2006-07-29  Rob Buis  <buis@kde.org>
2939
2940         Reviewed by Geoff.
2941
2942         http://bugzilla.opendarwin.org/show_bug.cgi?id=10151
2943         ghostmap XHTML + SVG fails due to javascript undefined exception
2944
2945         Make sure document.URL works when called from a non-HTML document.
2946
2947         * bindings/js/kjs_html.cpp:
2948         (KJS::JSHTMLDocument::getValueProperty):
2949         * bindings/js/kjs_html.h:
2950         (KJS::JSHTMLDocument::):
2951         * dom/Document.idl:
2952
2953 2006-07-29  Mike Emmel  <mike.emmel@gmail.com>
2954
2955         Reviewed and tweaked by Darin.
2956
2957         - fixes for Linux build
2958           (still might not compile, since Darin tweaked but was unable to test).
2959
2960         * WebCoreSources.bkl: Added some new sources, removed some obsolete ones.
2961         * Projects/gdk/webcore-gdk.bkl: Added RenderPopupMenuGdk.cpp
2962
2963         * html/HTMLPlugInElement.h: Removed incorrect syntax with class name
2964         before ::.
2965
2966         * platform/gdk/FrameGdk.h:
2967         * platform/gdk/FrameGdk.cpp: Updated parameters of constructor. Moved a couple stubs
2968         out of this file.
2969         * platform/gdk/RenderPopupMenuGdk.h: Added.
2970         * platform/gdk/RenderPopupMenuGdk.cpp: Added. Just a file full of empty stubs.
2971         * platform/gdk/RenderThemeGdk.h:
2972         * platform/gdk/RenderThemeGdk.cpp: (WebCore::RenderThemeGdk::createPopupMenu): Added.
2973
2974         * platform/gdk/TemporaryLinkStubs.cpp: Add some new stubs.
2975
2976 2006-07-29  Mark Rowe  <opendarwin.org@bdash.net.nz>
2977
2978         Reviewed by Darin.
2979
2980         http://bugzilla.opendarwin.org/show_bug.cgi?id=10022
2981         Bug 10022: REGRESSION: Crash in WebCore::XMLTokenizer::characters
2982
2983         * dom/XMLTokenizer.cpp:
2984         (WebCore::XMLTokenizer::resumeParsing): If the write() call resulted in new callbacks being
2985         added, don't call through to end() just yet.
2986
2987 2006-07-29  Mitz Pettel  <opendarwin.org@mitzpettel.com>
2988
2989         Reviewed by John Sullivan.
2990
2991         - manual test for http://bugzilla.opendarwin.org/show_bug.cgi?id=9984
2992           ASSERTION FAILURE: _private->mouseDownEvent != nil
2993           (WebKit/WebView/WebHTMLView.m:4863 -[WebHTMLView(WebInternal) _delegateDragSourceActionMask])
2994
2995         * manual-tests/subview-click-assertion.html: Added.
2996
2997 2006-07-29  Andrew Wellington  <proton@wiretapped.net>
2998
2999         Reviewed by Darin.
3000
3001         Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=8587 / <rdar://problem/4631844>
3002         REGRESSION: {display:list-item} items outside an ol or ul element don't number correctly
3003
3004         * rendering/RenderListItem.cpp:
3005         (WebCore::enclosingList): If no real list element is found, use parent instead.
3006         (WebCore::previousListItem): Check list elements to see if they are list items -- the
3007         old code assumed that a list would never be a list item but this is entirely possible
3008         with CSS and especially with the new rule that means any DOM element could act as a list.
3009
3010 2006-07-29  Alexey Proskuryakov  <ap@nypop.com>
3011
3012         Reviewed by Darin.
3013
3014         Fix http://bugzilla.opendarwin.org/show_bug.cgi?id=10147
3015         REGRESSION: custom attribute values set via javascript are not persistent
3016
3017         Test: fast/dom/Element/setAttribute-case-insensitivity.html
3018
3019         * dom/Element.cpp:
3020         (WebCore::Element::setAttribute): Use the lowercased localName for retrieving the old value, too.
3021
3022 2006-07-28  Timothy Hatcher  <timothy@apple.com>
3023
3024         Suggested by Darin.
3025
3026         Moving the implementation of isContentEditable to the
3027         the WebPrivate category.
3028
3029         * bindings/objc/DOM.mm:
3030         (-[DOMNode isContentEditable]):
3031
3032 2006-07-28  Justin Garcia  <justin.garcia@apple.com>
3033
3034         Reviewed by levi
3035         
3036         First part of:
3037         <rdar://problem/4515463>
3038         REGRESSION: Blot and Mail both do a very poor job of pasting the main www.apple.com page
3039         
3040         Migrate to isBlock and enclosingBlock.
3041         Changed RendereringInfo::isBlock and ReplacementFragment::isBlock
3042         to wasBlock so that they don't conflict with isBlock and because
3043         it's more descriptive.
3044
3045         * editing/ReplaceSelectionCommand.cpp:
3046         (WebCore::ReplacementFragment::mergeStartNode):
3047         (WebCore::ReplacementFragment::wasBlock):
3048         (WebCore::ReplacementFragment::saveRenderingInfo):
3049         (WebCore::ReplacementFragment::renderedBlocks):
3050         (WebCore::RenderingInfo::RenderingInfo):
3051         (WebCore::ReplaceSelectionCommand::shouldMergeStart):
3052         (WebCore::ReplaceSelectionCommand::doApply):
3053         * editing/ReplaceSelectionCommand.h:
3054         (WebCore::RenderingInfo::wasBlock):
3055
3056 2006-07-27  Justin Garcia  <justin.garcia@apple.com>
3057
3058         Reviewed by levi
3059         
3060         More changes for:
3061         <rdar://problem/4242293>
3062         Poor paste fidelity of http://www.google.com/
3063
3064         * editing/markup.cpp:
3065         (WebCore::needInterchangeNewlineAfter): Added.
3066         (WebCore::createMarkup): 
3067         Only add an interchangeNewline if we're annotating for interchange.  Can't test 
3068         this until we expose createMarkup in non-annotate mode (I'd expose Range::toHTML).
3069         Remove the FIXME about prepending the interchangeNewline before creating the rest 
3070         of the markup.  Its correct to surround the interchangeNewline in ancestors of the
3071         adjusted startNode.
3072         Fixed the check to see if an interchangeNewline is needed (!inSameBlock).  This would
3073         add an interchangeNewline for a selection that started before a table.
3074         Removed the workaround for the bug where markup for a table was not included when 
3075         selecting the contents of a table, since this change fixes the general problem of 
3076         markup for ancestors of the startNode being left out.
3077         Don't leave out ancestors of the startNode as we leave their subtrees.  Execute the
3078         code to include them even if we closed ancestors in the ancestorsToClose list.
3079
3080 2006-07-28  Timothy Hatcher  <timothy@apple.com>
3081
3082         Reviewed by John.
3083
3084         Adding isContentEditable to DOMNode's private category. 
3085
3086         * bindings/objc/DOMPrivate.h:
3087
3088 2006-07-28  Alexey Proskuryakov  <ap@nypop.com>
3089
3090         Rolling out http://bugzilla.opendarwin.org/show_bug.cgi?id=6010 because of failing layout tests.
3091         Add better SVGLoad event support.
3092
3093         * dom/EventTargetNode.cpp:
3094         (WebCore::EventTargetNode::dispatchGenericEvent):
3095         * html/HTMLImageLoader.cpp:
3096         (WebCore::HTMLImageLoader::dispatchLoadEvent):
3097         * html/HTMLImageLoader.h:
3098         * ksvg2/misc/SVGImageLoader.cpp:
3099         (WebCore::SVGImageLoader::SVGImageLoader):
3100         * ksvg2/misc/SVGImageLoader.h:
3101         * ksvg2/svg/SVGAElement.cpp:
3102         (WebCore::SVGAElement::parseMappedAttribute):
3103         * ksvg2/svg/SVGAnimatedBoolean.h:
3104         * ksvg2/svg/SVGElement.cpp:
3105         (WebCore::SVGElement::SVGElement):
3106         (WebCore::SVGElement::parseMappedAttribute):
3107         * ksvg2/svg/SVGElement.h:
3108         (WebCore::SVGElement::adjustViewportClipping):
3109         (WebCore::SVGElement::closeRenderer):
3110         (WebCore::SVGElement::rendererIsNeeded):
3111         (WebCore::SVGElement::isClosed):
3112         (WebCore::svg_dynamic_cast):
3113         * ksvg2/svg/SVGExternalResourcesRequired.h:
3114         * ksvg2/svg/SVGImageElement.cpp:
3115         (SVGImageElement::SVGImageElement):
3116         * ksvg2/svg/SVGImageElement.h:
3117         * ksvg2/svg/SVGSVGElement.cpp:
3118         (WebCore::SVGSVGElement::parseMappedAttribute):
3119         * ksvg2/svg/SVGScriptElement.cpp:
3120         (SVGScriptElement::SVGScriptElement):
3121         (SVGScriptElement::parseMappedAttribute):
3122         (SVGScriptElement::executeScript):
3123         * xml/xmlhttprequest.cpp:
3124         (WebCore::XMLHttpRequest::callReadyStateChangeListener):
3125
3126 2006-07-28  Adele Peterson  <adele@apple.com>
3127
3128         Rolling out http://bugzilla.opendarwin.org/show_bug.cgi?id=9753 because of failing layout tests.
3129         SVG with width and height 100% leaves room for scrollbar on the right.
3130
3131         * kcanvas/RenderPath.cpp:
3132         * kcanvas/RenderPath.h:
3133         * kcanvas/RenderSVGContainer.cpp:
3134         (WebCore::RenderSVGContainer::layout):
3135         * ksvg2/svg/SVGCircleElement.cpp:
3136         * ksvg2/svg/SVGCircleElement.h:
3137         * ksvg2/svg/SVGEllipseElement.cpp:
3138         * ksvg2/svg/SVGEllipseElement.h:
3139         * ksvg2/svg/SVGLineElement.cpp:
3140         * ksvg2/svg/SVGLineElement.h:
3141         * ksvg2/svg/SVGRectElement.cpp:
3142         * ksvg2/svg/SVGRectElement.h:
3143         * ksvg2/svg/SVGStyledElement.h:
3144
3145 2006-07-27  Eric Seidel  <eric@eseidel.com>
3146
3147         Reviewed by darin.
3148         
3149         Add better SVGLoad event support.
3150         http://bugzilla.opendarwin.org/show_bug.cgi?id=6010
3151         There will still need to be additional support added for <link> and <script> elements.
3152         Not all of the error -> loaded -> error transition cases work yet.
3153
3154         * dom/EventTargetNode.cpp:
3155         (WebCore::EventTargetNode::dispatchGenericEvent):
3156         * html/HTMLImageLoader.cpp:
3157         (WebCore::HTMLImageLoader::dispatchLoadEvent):
3158         * html/HTMLImageLoader.h:
3159         (WebCore::HTMLImageLoader::haveFiredLoadEvent):
3160         (WebCore::HTMLImageLoader::setHaveFiredLoadEvent):
3161         * ksvg2/misc/SVGImageLoader.cpp:
3162         (WebCore::SVGImageLoader::SVGImageLoader):
3163         (WebCore::SVGImageLoader::dispatchLoadEvent):
3164         * ksvg2/misc/SVGImageLoader.h:
3165         * ksvg2/svg/SVGAElement.cpp:
3166         (WebCore::SVGAElement::parseMappedAttribute):
3167         * ksvg2/svg/SVGAnimatedBoolean.h:
3168         * ksvg2/svg/SVGElement.cpp:
3169         (WebCore::SVGElement::SVGElement):
3170         (WebCore::SVGElement::parseMappedAttribute):
3171         (WebCore::SVGElement::haveLoadedRequiredResources):
3172         (WebCore::SVGElement::sendSVGLoadEventIfPossible):
3173         (WebCore::SVGElement::closeRenderer):
3174         * ksvg2/svg/SVGElement.h:
3175         (WebCore::SVGElement::rendererIsNeeded):
3176         (WebCore::svg_dynamic_cast):
3177         * ksvg2/svg/SVGExternalResourcesRequired.h:
3178         * ksvg2/svg/SVGImageElement.cpp:
3179         (SVGImageElement::SVGImageElement):
3180         (SVGImageElement::haveLoadedRequiredResources):
3181         * ksvg2/svg/SVGImageElement.h:
3182         * ksvg2/svg/SVGSVGElement.cpp:
3183         (WebCore::SVGSVGElement::parseMappedAttribute):
3184         * ksvg2/svg/SVGScriptElement.cpp:
3185         (WebCore::SVGScriptElement::SVGScriptElement):
3186         (WebCore::SVGScriptElement::parseMappedAttribute):
3187         (WebCore::SVGScriptElement::executeScript):
3188         * xml/xmlhttprequest.cpp:
3189         (WebCore::XMLHttpRequest::callReadyStateChangeListener): use new Event() instead of createEvent
3190
3191 2006-07-27  Mitz Pettel  <opendarwin.org@mitzpettel.com>
3192
3193         Reviewed by Anders.
3194
3195         - http://bugzilla.opendarwin.org/show_bug.cgi?id=10135
3196           Cleanup: remove useless parameters from RenderObject::position()
3197
3198         No test possible (no functionality change)
3199
3200         * rendering/RenderBox.cpp:
3201         (WebCore::RenderBox::position):
3202         * rendering/RenderBox.h:
3203         * rendering/RenderObject.h:
3204         (WebCore::RenderObject::position):
3205         * rendering/RenderTableRow.h:
3206         (WebCore::RenderTableRow::position):
3207         * rendering/RenderTableSection.h:
3208         (WebCore::RenderTableSection::position):
3209         * rendering/RenderText.cpp:
3210         (WebCore::RenderText::position):
3211         * rendering/RenderText.h:
3212         * rendering/bidi.cpp:
3213         (WebCore::RenderBlock::constructLine):
3214         (WebCore::RenderBlock::computeVerticalPositionsForLine):
3215
3216 2006-07-27  Rob Buis  <buis@kde.org>
3217
3218         Reviewed by Maciej.
3219
3220         http://bugzilla.opendarwin.org/show_bug.cgi?id=9753
3221         SVG with width and height 100% leaves room for scrollbar on the right.
3222
3223         Relayout children of svg containers, except svg shapes that do not depend on percentages.
3224
3225         * kcanvas/RenderPath.cpp: (WebCore::RenderPath::hasPercentageValues):
3226         * kcanvas/RenderPath.h:
3227         * kcanvas/RenderSVGContainer.cpp: (WebCore::RenderSVGContainer::layout):
3228         * ksvg2/svg/SVGCircleElement.cpp: (SVGCircleElement::hasPercentageValues):
3229         * ksvg2/svg/SVGCircleElement.h:
3230         * ksvg2/svg/SVGEllipseElement.cpp: (WebCore::SVGEllipseElement::hasPercentageValues):
3231         * ksvg2/svg/SVGEllipseElement.h:
3232         * ksvg2/svg/SVGLineElement.cpp: (SVGLineElement::hasPercentageValues):
3233         * ksvg2/svg/SVGLineElement.h:
3234         * ksvg2/svg/SVGRectElement.cpp: (WebCore::SVGRectElement::hasPercentageValues):
3235         * ksvg2/svg/SVGRectElement.h:
3236         * ksvg2/svg/SVGStyledElement.h: (WebCore::SVGStyledElement::hasPercentageValues):
3237
3238 2006-07-27  Justin Garcia  <justin.garcia@apple.com>
3239
3240         Reviewed by levi
3241         
3242         <rdar://problem/4242293>
3243         Poor paste fidelity of http://www.google.com/
3244
3245         * editing/ApplyStyleCommand.cpp:
3246         (WebCore::ApplyStyleCommand::applyInlineStyle):  Fixed crasher with nil-check.
3247         * editing/markup.cpp:
3248         (WebCore::startMarkup): Style information wasn't added to an element if it had
3249         attributes but no style attribute.
3250
3251 2006-07-27  Alexander Kellett  <lypanov@kde.org>
3252
3253         Reviewed by Darin.
3254
3255         - fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=9867
3256           REGRESSION: code that modifies form element in Firefox modifies form attribute in WebKit
3257
3258         * bindings/scripts/CodeGeneratorJS.pm: add new attribute - HasOverridingNameGetter
3259         * html/HTMLFormElement.idl:
3260
3261 2006-07-27  Rob Buis  <buis@kde.org>
3262
3263         Reviewed by Anders.
3264
3265         http://bugzilla.opendarwin.org/show_bug.cgi?id=8992
3266         Some HTML DOM attributes have incorrect types
3267
3268         Adjust idl and dom source code for HTMLImageElement and
3269         HTMLBaseFontElement to choose correct type for
3270         HTMLImageElement::border and HTMLBaseFontElement::size
3271         attributes.
3272
3273         * html/HTMLBaseFontElement.cpp:
3274         (WebCore::HTMLBaseFontElement::size):
3275         (WebCore::HTMLBaseFontElement::setSize):
3276         * html/HTMLBaseFontElement.h:
3277         * html/HTMLBaseFontElement.idl:
3278         * html/HTMLImageElement.cpp:
3279         (WebCore::HTMLImageElement::border):
3280         (WebCore::HTMLImageElement::setBorder):
3281         * html/HTMLImageElement.h:
3282         * html/HTMLImageElement.idl:
3283
3284 2006-07-27  Justin Garcia  <justin.garcia@apple.com>
3285
3286         Reviewed by levi
3287         
3288         <rdar://problem/4628409>
3289         Safari crashes in CompositeEditCommand::removeBlockPlaceholder entering text in a web page form
3290
3291         * editing/CompositeEditCommand.cpp:
3292         (WebCore::CompositeEditCommand::removeBlockPlaceholder): 
3293         A script on the page shrinks the textarea down to zero rows just
3294         before insertion.  That gives the shadow div a zero height, removing
3295         [div, 0] as a candidate for a VisiblePosition.  Then 
3296         InsertTextCommand::input() tries to create a VisiblePosition from 
3297         [div, 0] and fails.  A nil check is a quick fix.  Another might
3298         be to make positions where there is a caret selection candidates.
3299         Another might be to make any [div, 0] where div is a shadow div inside
3300         a form element a candidate.
3301
3302 2006-07-27  Graham Dennis  <graham.dennis@gmail.com>
3303
3304         Reviewed by Darin.
3305
3306         - fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=10094
3307           Japanese characters improperly rendering in TOT
3308           
3309         Test: fast/encoding/denormalised-voiced-japanese-chars.html
3310
3311         * platform/Font.cpp:
3312         (WebCore::WidthIterator::advance): pass currentCharacter to normalizeVoicingMarks
3313         (WebCore::WidthIterator::normalizeVoicingMarks): turn the currentCharacter variable
3314         into an argument as WidthIterator::advance doesn't update m_currentCharacter while
3315         looping
3316
3317 2006-07-27  Eric Seidel  <eric@eseidel.com>
3318
3319         Reviewed by ap.
3320
3321         Complex entities seem to fail on TOT
3322         http://bugzilla.opendarwin.org/show_bug.cgi?id=6390
3323         Use an alternative work-around to an XML Entity parsing bug.
3324
3325         * dom/XMLTokenizer.cpp:
3326         (WebCore::XMLTokenizer::write):
3327         (WebCore::hackAroundLibXMLEntityBug): added.
3328         (WebCore::startElementNsHandler):
3329         (WebCore::endElementNsHandler):
3330         (WebCore::charactersHandler):
3331         (WebCore::processingInstructionHandler):
3332         (WebCore::cdataBlockHandler):
3333         (WebCore::commentHandler):
3334         (WebCore::getEntityHandler):
3335
3336 2006-07-27  Rob Buis  <buis@kde.org>
3337
3338         Reviewed by Darin.
3339
3340         http://bugzilla.opendarwin.org/show_bug.cgi?id=9938
3341         Fix viewBox issues in Hixie's test
3342
3343         Do a more accurate and quicker job of parsing the viewBox
3344         attribute. Handle properly on negative width/height and
3345         invalid syntax in general.
3346
3347         * ksvg2/svg/SVGFitToViewBox.cpp:
3348         (SVGFitToViewBox::parseViewBox):
3349
3350 2006-07-27  Eric Seidel  <eric@eseidel.com>
3351
3352         Reviewed by ap.
3353
3354         Enables getSVGDocument() support for HTMLObjectElement and HTMLEmbedElement
3355         http://bugzilla.opendarwin.org/show_bug.cgi?id=9237
3356         This patch does not try to autogenerate anything, but enables the SVG functionality.
3357         Also fix HTMLObjectElement vspace and hspace to be numbers instead of strings to match IE & Firefox.
3358
3359         * bindings/js/kjs_dom.cpp:
3360         (KJS::toJS):
3361         * bindings/js/kjs_html.cpp:
3362         (KJS::JSHTMLElement::objectGetter):
3363         (KJS::HTMLElementFunction::callAsFunction):
3364         (KJS::JSHTMLElement::objectSetter):
3365         * bindings/js/kjs_html.h:
3366         (KJS::JSHTMLElement::):
3367         * dom/Document.h:
3368         (WebCore::Document::isSVGDocument):
3369         * html/HTMLEmbedElement.cpp:
3370         (WebCore::HTMLEmbedElement::contentDocument):
3371         (WebCore::HTMLEmbedElement::getSVGDocument):
3372         * html/HTMLEmbedElement.h:
3373         * html/HTMLObjectElement.cpp:
3374         (WebCore::HTMLObjectElement::HTMLObjectElement):
3375         (WebCore::HTMLObjectElement::getInstance):
3376         (WebCore::HTMLObjectElement::parseMappedAttribute):
3377         (WebCore::HTMLObjectElement::contentDocument):
3378         (WebCore::HTMLObjectElement::rendererIsNeeded):
3379         (WebCore::HTMLObjectElement::createRenderer):
3380         (WebCore::HTMLObjectElement::setCode):
3381         (WebCore::HTMLObjectElement::setArchive):
3382         (WebCore::HTMLObjectElement::setBorder):
3383         (WebCore::HTMLObjectElement::setCodeBase):
3384         (WebCore::HTMLObjectElement::setCodeType):
3385         (WebCore::HTMLObjectElement::setData):
3386         (WebCore::HTMLObjectElement::hspace):
3387         (WebCore::HTMLObjectElement::setHspace):
3388         (WebCore::HTMLObjectElement::setStandby):
3389         (WebCore::HTMLObjectElement::setType):
3390         (WebCore::HTMLObjectElement::setUseMap):
3391         (WebCore::HTMLObjectElement::vspace):
3392         (WebCore::HTMLObjectElement::setVspace):
3393         (WebCore::HTMLObjectElement::getSVGDocument):
3394         * html/HTMLObjectElement.h:
3395         * ksvg2/svg/SVGDocument.h:
3396         (WebCore::SVGDocument::isSVGDocument):
3397         * rendering/RenderWidget.h:
3398         (WebCore::RenderWidget::frameView):
3399
3400 2006-07-26  Alexey Proskuryakov  <ap@nypop.com>
3401
3402         Reviewed by Darin.
3403
3404         Fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9901
3405         XSLTProcessor cannot parse text nodes for INPUT ELEMENTS in an XSLT stylesheet
3406
3407         Test: fast/js/xhtml-serialize.html
3408
3409         * editing/markup.cpp:
3410         (WebCore::endMarkup): If the element has child nodes, write a closing tag even if it 
3411         is not permitted in HTML, to make it valid XML.
3412
3413 2006-07-26  Alice Liu  <alice.liu@apple.com>
3414
3415         Reviewed by John Sullivan (and Kevin and Timo).
3416
3417         landing this patch for John et al.  
3418         Fixed <rdar://problem/4651380> REGRESSION (9A232->9A234): existing web clips don't render if you restart Dashboard
3419
3420         * page/FrameView.cpp:
3421         (WebCore::FrameView::layout):
3422         moved the call to didFirstLayout to above the check for needsLayout
3423         because we need to call didFirstLayout for every webview, not just
3424         ones we think need layout.  
3425
3426 2006-07-26  Justin Garcia  <justin.garcia@apple.com>
3427
3428         Reviewed by darin
3429         
3430         <rdar://problem/4652788>
3431         REGRESSION: Can't change size or style of any text in message body
3432
3433         * dom/Node.cpp:
3434         (WebCore::Node::isContentRichlyEditable): Mimic Node::isContentEditable.
3435         * html/HTMLElement.cpp:
3436         (WebCore::HTMLElement::isContentRichlyEditable): First check
3437         the frame for editability, then userModify, like what
3438         HTMLElement::isContentEditable() does.
3439         * html/HTMLElement.h:
3440
3441 2006-07-26  Mitz Pettel  <opendarwin.org@mitzpettel.com>
3442
3443         Reviewed by ap.
3444
3445         - fix debug-only information() string for table cells
3446
3447         * rendering/RenderObject.cpp:
3448         (WebCore::RenderObject::information):
3449
3450 2006-07-25  David Harrison  <harrison@apple.com>
3451
3452         Reviewed by timo and Darin.
3453
3454         <rdar://problem/4618584> "Paste and Match Style" is not working in Mail (add SPI)
3455         
3456         * WebCore.xcodeproj/project.pbxproj:
3457         * bridge/mac/WebCoreFrameBridge.h:
3458         * bridge/mac/WebCoreFrameBridge.mm:
3459         (-[WebCoreFrameBridge replaceSelectionWithNode:selectReplacement:smartReplace:matchStyle:]):
3460         Add matchStyle parameter for use by WebKit.
3461
3462 2006-07-25  Justin Garcia  <justin.garcia@apple.com>
3463
3464         Reviewed by adele
3465         
3466         <rdar://problem/4649560>
3467         REGRESSION: Can't Select All when the body is contentEditable="true"
3468
3469         * editing/VisiblePosition.cpp:
3470         (WebCore::VisiblePosition::canonicalPosition): Allow descent from a non-editable html
3471         element into an editable body as a convenience.
3472
3473 2006-07-25  Justin Garcia  <justin.garcia@apple.com>
3474
3475         Reviewed by darin
3476         
3477         <rdar://problem/4468458> Incoming HTML message is editable <body contenteditable="true">
3478
3479         * dom/Document.cpp:
3480         (WebCore::Document::inDesignMode): Removed some spaces.
3481         * page/Frame.cpp:
3482         (WebCore::Frame::applyEditingStyleToElement): Just add CSS properties needed for editing.
3483         (WebCore::Frame::removeEditingStyleFromElement): Made this a no-op, we'll remove
3484         it eventually.
3485
3486 2006-07-25  David Kilzer  <ddkilzer@kilzer.net>
3487
3488         Reviewed by Darin.
3489
3490         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9717
3491           Replace IDL ConvertUndefinedToTrue parameter attribute with Optional attribute
3492
3493         No test added because there is no change in functionality.
3494
3495         * bindings/js/kjs_binding.cpp: Removed valueToBooleanTreatUndefinedAsTrue() method.
3496         * bindings/js/kjs_binding.h: Ditto.
3497         * bindings/scripts/CodeGeneratorJS.pm: Removed support for ConvertUndefinedToTrue parameter attribute.
3498         * dom/Element.h: Set default value to true for scrollIntoView() and scrollIntoViewIfNeeded() arguments.
3499         * dom/Element.idl: Replaced ConvertUndefinedToTrue attribute with Optional attribute.
3500           Fixed name of scrollIntoViewIfNeeded() argument to match implementation.
3501         * page/DOMWindow.idl: Replaced ConvertUndefinedToTrue attribute with Optional attribute.
3502
3503 2006-07-24  Dan Waylonis  <waylonis@google.com>
3504
3505         Reviewed and tweaked a bunch by Darin.
3506
3507         Test: plugins/bindings-test.html
3508
3509         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9902
3510           jsNull and NSNull not properly converted between JS and ObjC
3511
3512         * bindings/objc/WebScriptObject.mm:
3513         (+[WebScriptObject _convertValueToObjcValue:originExecutionContext:executionContext:]):
3514         Added case that converts jsNull to NSNull.
3515
3516 2006-07-24  Darin Adler  <darin@apple.com>
3517
3518         Reviewed by Adele and Justin.
3519
3520         - fix <rdar://problem/4613616> REGRESSION: some spaces typed in <textarea> are posted as non-breaking spaces (9630)
3521           http://bugzilla.opendarwin.org/show_bug.cgi?id=9630
3522         - also fixes http://bugzilla.opendarwin.org/show_bug.cgi?id=9939
3523           REGRESSION: Pasting text into native text area with newline at end does not preserve newline
3524         - removed some uses of DeprecatedPtrList in the markup code
3525
3526         Test: fast/forms/textarea-type-spaces.html
3527         Test: fast/forms/textarea-paste-newline.html
3528
3529         * bindings/objc/DOMHTML.mm: (-[DOMHTMLDocument createDocumentFragmentWithText:]):
3530         Updated call to pass a range -- in this case it is the range of the entire document,
3531         so this will not handle the whitespace properly.
3532
3533         * bridge/mac/WebCoreFrameBridge.h: Added range context parameter to the
3534         documentFragmentWithText: method, so we can handle whitespace properly.
3535         * bridge/mac/WebCoreFrameBridge.mm:
3536         (-[WebCoreFrameBridge nodesFromList:]): Changed from DeprecatedPtrList to Vector.
3537         (-[WebCoreFrameBridge markupStringFromNode:nodes:]): Ditto.
3538         (-[WebCoreFrameBridge markupStringFromRange:nodes:]): Ditto.
3539         (-[WebCoreFrameBridge documentFragmentWithText:inContext:]): Added range context
3540         parameter -- pass it on to createFragmentFromText.
3541         (-[WebCoreFrameBridge documentFragmentWithNodesAsParagraphs:]): Changed from
3542         DeprecatedPtrList to Vector.
3543         (-[WebCoreFrameBridge replaceSelectionWithText:selectReplacement:smartReplace:]):
3544         Pass the range of the current selection as context when creating the fragment.
3545
3546         * dom/Position.cpp: (WebCore::Position::inRenderedText): Replace range check with
3547         a call to the new containsCaretOffset function -- helps make the caret work right when
3548         it is past the end of the last line in a textarea.
3549
3550         * editing/CompositeEditCommand.cpp:
3551         (WebCore::CompositeEditCommand::rebalanceWhitespaceAt): Don't do anything if the
3552         style does not call for collapsing whitespace.
3553         (WebCore::CompositeEditCommand::rebalanceWhitespace): Call replaceWhitespaceAt
3554         to share code, including the new logic mentioned above.
3555
3556         * editing/InsertLineBreakCommand.cpp: (WebCore::InsertLineBreakCommand::doApply):
3557         Use a text node instead of a break element when inserting and the style is preserveNewline.
3558
3559         * editing/JSEditor.cpp: (WebCore::execRemoveFormat): Pass the selection range
3560         to createFragmentFromText.
3561
3562         * editing/RebalanceWhitespaceCommand.cpp: (WebCore::RebalanceWhitespaceCommand::doApply):
3563         Assert that we're in a style that collapses whitespace. It's the caller's responsibility
3564         not to call otherwise.
3565
3566         * editing/ReplaceSelectionCommand.h: Removed unused destructor, type, isSingleTextNode,
3567         isTreeFragment, m_type, and added a context parameter to inertFragmentForTestRendering.
3568         Also changed the constructor to take a selection rather than a pointer to the root
3569         editable element, replaced removeEndBRIfNeeded with shouldRemoveEndBR and removed an
3570         unused parameter from shouldMergeEnd.
3571         * editing/ReplaceSelectionCommand.cpp:
3572         (WebCore::ReplacementFragment::ReplacementFragment): Removed code to set up m_type.
3573         Compute root editable element from passed-in selection. Used the start of the selection
3574         as a base node for style purposes for the test rendering. Removed the special case
3575         "single text node" alternative to createFragmentFromText in the plain text case, since
3576         createFragmentFromText now handles that correctly.
3577         (WebCore::ReplacementFragment::insertFragmentForTestRendering): Copy the whitespace
3578         property from the source location when creating a temporary element for test rendering.
3579         (WebCore::ReplacementFragment::shouldMergeEnd): Removed unneeded boolean
3580         parameter fragmentHadInterchangeNewlineAtEnd, which is always false.
3581         (WebCore::ReplaceSelectionCommand::doApply): Update for ReplacementFragment changes,
3582         change code to not remove end BR when it can be re-used instead, don't call the
3583         paragraph separator insertion when the position is at the start of a paragraph already,
3584         removed redundant computation of identical "next" value, removed unneeded boolean
3585         parameter to shouldMergeEnd, add case for merging when all we need to do is to delete
3586         a newline character, removed unneeded code to set insertionPos after all code that uses
3587         it, and  use spaces instead of non-breaking spaces when doing smart paste if the
3588         context is one where we do not collapse white space.
3589         (WebCore::ReplaceSelectionCommand::shouldRemoveEndBR): Renamed and changed to return
3590         a boolean instead of doing the removal.
3591
3592         * editing/markup.h: Use Vector instead of DeprecatedPtrList. Change the
3593         createFragmentFromText function to take a range for context instead of a document.
3594         * editing/markup.cpp:
3595         (WebCore::markup): Use Vector instead of DeprecatedPtrList.
3596         (WebCore::createMarkup): Ditto.
3597         (WebCore::createParagraphContentsFromString): Remove unneeded document parameter
3598         and changed a couple places to use isEmpty instead of comparing with "".
3599         (WebCore::createFragmentFromText): Given the new context parameter, if the context
3600         is one that preserves newlines, then use "\n" instead of <br> elements.
3601         (WebCore::createFragmentFromNodes): Use Vector instead of DeprecatedPtrList.
3602
3603         * html/HTMLElement.cpp: (WebCore::HTMLElement::setInnerText): Do not use <br>
3604         elements if the context of this node is one where we preserve newlines.
3605
3606         * rendering/InlineTextBox.h:
3607         * rendering/InlineTextBox.cpp: (WebCore::InlineTextBox::containsCaretOffset):
3608         Added. Implements the appropriate rule for determining if a caret position is
3609         in this line or not. Returns true for both one line and the next in cases where
3610         affinity must be considered to determine which line the caret is on.
3611
3612         * rendering/RenderText.h: Make atLineWrap no longer be a member function.
3613         * rendering/RenderText.cpp:
3614         (WebCore::atLineWrap): Remove special rule about preserveNewline and isLineBreak,
3615         which will no longer apply due to the new containsCaretOffset function logic.
3616         (WebCore::RenderText::caretRect): Use containsCaretOffset.
3617         (WebCore::RenderText::inlineBox): Ditto.
3618
3619         * rendering/RenderTextControl.cpp:
3620         (WebCore::RenderTextControl::updateFromElement): Make a placeholder <br> element
3621         after calling setInnerText so that the last newline in the string has the effect
3622         we expect outside the HTML world (an additional line).
3623         (WebCore::RenderTextControl::setSelectionRange): Set granularity of the selection
3624         too. The layout tests caught this problem, which needs a better solution long term.
3625         (WebCore::RenderTextControl::text): Call textContent with the parameter false
3626         so it will not include newlines for <br> elements. Now the only <br> element
3627         that will ever be in the shadow DOM tree is the one to prevent collapsing, and
3628         that one should not show up in the text value.
3629
3630         * rendering/bidi.cpp: (WebCore::RenderBlock::findNextLineBreak): Took a rule
3631         that specifically called out the pre whitespace mode and made it work for all
3632         the modes that preserve newlines. This makes sure we get a last line box for
3633         text after the last "\n" even in cases where there is no <br> afterward.
3634
3635         * editing/DeleteSelectionCommand.cpp:
3636         (WebCore::DeleteSelectionCommand::fixupWhitespace):
3637         * editing/InsertParagraphSeparatorCommand.cpp:
3638         (WebCore::InsertParagraphSeparatorCommand::doApply):
3639         Added assertions to make sure we don't do anything when we're not collapsing
3640         whitespace.
3641
3642         * html/HTMLTextAreaElement.cpp: (WebCore::HTMLTextAreaElement::setDefaultValue):
3643         Changed to use Vector instead of DeprecatedPtrList.
3644
3645         * editing/HTMLInterchange.cpp: Removed obsolete comment.
3646
3647         * loader/Cache.h: Removed a stray include.
3648
3649 2006-07-24  Adele Peterson  <adele@apple.com>
3650
3651         Reviewed by Justin.
3652
3653         - Fix for <rdar://problem/4632132> Changing style of content with mixed editability fails
3654
3655         Test: * editing/style/apple-style-editable-mix.html
3656
3657         * dom/Node.cpp: (WebCore::Node::isContentRichlyEditable): Doesn't need to check the editable root.  It now just
3658           checks the user modify property of its own renderer, since that is inherited.
3659         * editing/ApplyStyleCommand.cpp: (WebCore::ApplyStyleCommand::applyInlineStyle): If the end position is in a table,
3660         Adjust the end node to the last descendant of the table, so we don't skip over any runs.
3661
3662 2006-07-24  Darin Adler  <darin@apple.com>
3663
3664         Reviewed by Hyatt.
3665
3666         - implement String::createCFString
3667
3668         * WebCore.xcodeproj/project.pbxproj: Added StringImplMac.mm and StringMac.mm.
3669
3670         * bindings/objc/DOMInternal.mm: Moved NSString conversion functions out of here.
3671
3672         * platform/mac/StringImplMac.mm: Added. Moved NSString conversion members here
3673         and added the CFStringRef ones.
3674         * platform/mac/StringMac.mm: Added. Ditto.
3675
3676 2006-07-24  David Hyatt  <hyatt@apple.com>
3677
3678         Two bug fixes.
3679
3680         (1) Make sure to mark positioned objects that depend on line position to
3681         mark themselves as needing layout when their line box placeholder gets
3682         repositioned.
3683
3684         * rendering/RenderBox.cpp:
3685         (WebCore::RenderBox::position):
3686        
3687         (2) Improve highlighting to factor the inflation into overflow so that
3688         invalidation and repainting will work properly.
3689
3690         * rendering/RootInlineBox.cpp:
3691         (WebCore::RootInlineBox::addHighlightOverflow):
3692         * rendering/RootInlineBox.h:
3693         * rendering/bidi.cpp:
3694         (WebCore::RenderBlock::layoutInlineChildren):
3695
3696 2006-07-24  Anders Carlsson  <acarlsson@apple.com>
3697
3698         Reviewed by Adele.
3699
3700         <rdar://problem/4641824> REGRESSION: Wikipedia widget fails to complete a search after pressing return key
3701         
3702         * html/HTMLInputElement.cpp:
3703         (WebCore::HTMLInputElement::defaultEventHandler):
3704         Don't eat enter events for search fields that have no enclosing form; they need to be passed to AppKit so
3705         that onsearch can be invoked.
3706         
3707         * manual-tests/onsearch-enter.html: Added.
3708
3709 2006-07-24  Dave MacLachlan  <dmaclach@mac.com>
3710
3711         Reviewed by Darin and Alexey.
3712         
3713         Fix for: <http://bugzilla.opendarwin.org/show_bug.cgi?id=8425> 
3714         and <http://bugzilla.opendarwin.org/show_bug.cgi?id=6947>
3715
3716         Test: svg/custom/non-opaque-filters.svg
3717
3718         * kcanvas/device/quartz/KCanvasFilterQuartz.mm:
3719         (WebCore::KCanvasFilterQuartz::prepareFilter):
3720         We create an autorelease pool so we can control the deallocation of the
3721         CIContext that we're creating. The CIContext retains the CGContext that 
3722         you pass it internally so when the CIContext is released, the 
3723         CGContext is released as well.
3724         This is all fine and dandy unless you wrap the creation of the CIFilter
3725         with a pair of CGBegin/EndTransparencyLayer calls which swap the context
3726         out from underneath you. So if you start with context A, 
3727         CGBeginTransparencyLayer swaps it out and gives you B. You create a CIFilter
3728         with it and add a reference to B. CGEndTransparencyLayer swaps out B and
3729         gives you back A. Autorelease pool comes and cleans up the Filter, and calls
3730         release on A, but A never got the refcount in the first place. B did. BOOM!
3731         So we create a pool, then do a retain, then release the pool so that we 
3732         don't have to worry about the pool releasing it at a later time.
3733         See <rdar://problem/4647735> for reduction of CGEndTransparencyLayer case
3734
3735 2006-07-24  Mitz Pettel  <opendarwin.org@mitzpettel.com>
3736
3737         Reviewed by Hyatt.
3738
3739         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9669
3740           Incomplete repaint when changing an inline's border
3741
3742         Test: fast/repaint/line-overflow.html
3743
3744         * rendering/RenderBlock.h:
3745         * rendering/bidi.cpp:
3746         (WebCore::RenderBlock::layoutInlineChildren): Added repaintTop and repaintBottom
3747         variables to track the vertical edges of the area that changed, accounting for
3748         lines that were deleted, inserted or moved. Removed unnecessary updating of
3749         m_overflowHeight.
3750         (WebCore::RenderBlock::determineStartPosition): Removed unnecessary updating of
3751         m_overflowHeight.
3752         (WebCore::RenderBlock::determineEndPosition):
3753         (WebCore::RenderBlock::matchedEndLine): Added repaintTop and repaintBottom
3754         arguments, which this method updates to account for deleted lines.
3755         (WebCore::RenderBlock::checkLinesForOverflow): Removed outdated FIXME.
3756
3757 2006-07-24  Mitz Pettel  <opendarwin.org@mitzpettel.com>
3758
3759         Reviewed by Darin.
3760
3761         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=10075
3762           REGRESSION: Reversed pop-up text in visually-ordered Hebrew pages
3763
3764         Test: fast/forms/select-visual-hebrew.html
3765
3766         * css/html4.css: Set "-webkit-rtl-ordering: logical" on select elements.
3767
3768 2006-07-24  Alexey Proskuryakov  <ap@nypop.com>
3769
3770         Reviewed by Darin.
3771
3772         Fix http://bugzilla.opendarwin.org/show_bug.cgi?id=10009
3773         REGRESSION: Schubert-IT PDF Plug-in not working for full page (works in frames)
3774
3775         * page/Frame.cpp:
3776         (WebCore::Frame::begin): Give PDF plugins a chance to handle frame content, before ImageDocument
3777         claims it.
3778
3779 2006-07-24  Mitz Pettel  <opendarwin.org@mitzpettel.com>
3780
3781         Reviewed by Darin.
3782
3783         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=10083
3784           REGRESSION (r15584): editing/selection/select-from-textfield-outwards failing
3785
3786         * rendering/RenderBlock.cpp:
3787         (WebCore::RenderBlock::positionForCoordinates): Added back change from the fix
3788         for bug 9312: For coordinates outside a replaced object, return the position
3789         just before (after) the element if the coordinates are above or to the left (below
3790         or to the right).
3791
3792 2006-07-23  Mark Rowe  <opendarwin.org@bdash.net.nz>
3793
3794         Reviewed by maciej.
3795
3796         Bug 9686: [Drosera] Need the ability to break into Drosera on Javascript exceptions
3797         http://bugzilla.opendarwin.org/show_bug.cgi?id=9686
3798
3799         WebCore portion of the fix.
3800
3801         * bridge/mac/WebCoreScriptDebugger.h:
3802         (-[WebScriptDebugger exceptionRaised:sourceId:line::]): Add delegate method.
3803         * bridge/mac/WebCoreScriptDebugger.mm:
3804         (WebCoreScriptDebuggerImp::exception): Call delegate method when an exception is raised.
3805
3806 2006-07-23  Alice Liu  <alice.liu@apple.com>
3807
3808         Reviewed by Adele.
3809         Actually Adele figured out how to fix the layout test failures.  Landing this patch for her.  Layout test failures exposed but not caused by  r15584 (my patch earlier today).
3810
3811         * editing/visible_units.cpp:
3812         (WebCore::previousLinePosition):
3813         When setting selection endpoints, don't traverse down into nodes where editing would ignore its contents. Use the parent node instead.  
3814         (WebCore::nextLinePosition):
3815         same as above
3816
3817 2006-07-23  David Harrison  <harrison@apple.com>
3818
3819         Reviewed by timo.
3820
3821         <rdar://problem/4646759> Mail crash editing To Do - WebCore::InsertTextCommand::prepareForTextInsertion
3822         
3823         * Test: editing/deleting/delete-mixed-editable-content-001.html
3824
3825         * editing/visible_units.cpp:
3826         (WebCore::startOfParagraph):
3827         Respect editable boundary the same way endOfParagraph does.
3828
3829 2006-07-23  Beth Dakin  <bdakin@apple.com>
3830
3831         Reviewed by Maciej. (Patch by me, Maciej, and Harrison.)
3832
3833         Fix for <rdar://problem/4529398> WebCore crashes when pasting rich 
3834         text - WebCore::InlineBox::root()
3835
3836         The initial rendering crash was due to a render object having a 
3837         stale reference to an inline box that had already been deleted and 
3838         then recreated in the exact same location in memory. (Crazy, I 
3839         know.) The situation seemed pretty specific to list markers 
3840         according to Hyatt according to Maciej, so that is what I patched 
3841         specifically. Fixing this crash unearthed a separate editing crash 
3842         where we were trying to insert a block into itself. I worked on 
3843         that with Maciej and Harrison, and Harrison came up with a fix.
3844
3845         * editing/CompositeEditCommand.cpp:
3846         (WebCore::CompositeEditCommand::moveParagraphContentsToNewBlockIfNecessary): This is the fix for the editing crash. If paragraphStart is an atomic 
3847         node, insert the new block into the parent instead.
3848         * rendering/InlineBox.cpp:
3849         (WebCore::InlineBox::isChildOfParent): This function is for 
3850         posterity. It will help keep the linebox tree in check.
3851         * rendering/InlineBox.h:
3852         * rendering/InlineFlowBox.cpp:
3853         (WebCore::InlineFlowBox::addToLine): Added assert.
3854         (WebCore::InlineFlowBox::deleteLine): Added assert.
3855         * rendering/ListMarkerBox.cpp:
3856         (WebCore::ListMarkerBox::destroy): If this has a parent, call 
3857         removeChild on this.
3858         (WebCore::ListMarkerBox::operator delete):
3859         * rendering/ListMarkerBox.h:
3860
3861 2006-07-23  Alice Liu  <alice.liu@apple.com>
3862
3863         Reviewed by Darin.
3864
3865         fixed <rdar://problem/4617841> REGRESSION (NativeTextField): You can move keyboard focus to a field without getting insertion point
3866
3867         * rendering/RenderBlock.cpp:
3868         (WebCore::RenderBlock::positionForCoordinates):
3869         removed some unnecessary vertical position checks and added a fudge factor to be more forgiving for clicks near lines.
3870         * rendering/RenderTextControl.cpp:
3871         (WebCore::RenderTextControl::nodeAtPoint):
3872         added implementation
3873         * rendering/RenderTextControl.h:
3874         added function protocol
3875
3876 2006-07-23  Adele Peterson  <adele@apple.com>
3877
3878         Reviewed by Darin.
3879
3880         Updating fix from last checkin.
3881
3882         * rendering/RenderFlexibleBox.cpp: (WebCore::RenderFlexibleBox::layoutVerticalBox):
3883         Only tell the view about this flexbox if there isn't another flexbox already cached.
3884
3885 2006-07-23  Adele Peterson  <adele@apple.com>
3886
3887         Reviewed by Maciej.
3888
3889         - Fix for <rdar://problem/4644614> REGRESSION: Typing, pasting or dragging in new text areas causes unnecessary scrolling
3890
3891         * rendering/RenderBlock.cpp: (WebCore::RenderBlock::layoutBlock): Don't updateScrollInfoAfterLayout if an ancestor flexible box is just on
3892         its first layout.
3893         * rendering/RenderFlexibleBox.cpp:
3894         (WebCore::RenderFlexibleBox::layoutBlock): ditto.
3895         (WebCore::RenderFlexibleBox::layoutVerticalBox): Let the view know if this flex box is doing its first pass at layout.
3896
3897         * rendering/RenderView.cpp: (WebCore::RenderView::RenderView): Caches a flexible box that's doing its first layout.
3898         * rendering/RenderView.h:
3899         (WebCore::RenderView::setFlexBoxInFirstLayout):
3900         (WebCore::RenderView::flexBoxInFirstLayout):
3901
3902 2006-07-22  Alexey Proskuryakov  <ap@nypop.com>
3903
3904         Reviewed by Darin.
3905
3906         Fix http://bugzilla.opendarwin.org/show_bug.cgi?id=10038
3907         REGRESSION: Length of navigator.mimeTypes collection returns number of installed plugins, not number 
3908         of registered mime types
3909
3910         * bindings/js/kjs_navigator.cpp:
3911         (KJS::MimeTypes::getValueProperty): Return the length of the mime types vector, not the plugins one.
3912         (KJS::MimeTypes::getOwnPropertySlot): Fixed another typo, which prevented MimeTypes::getValueProperty()
3913         from even being called.
3914
3915 2006-07-21  Maciej Stachowiak  <mjs@apple.com>
3916
3917         Reviewed by Adele and Tim Omernick.
3918
3919         <rdar://problem/4641004> 9A224: Safari crashes in WebCore::RenderMenuList::showPopup when changing a input select field to input text field
3920
3921         Couldn't figure out how to make layout test, here's a manual test:
3922         * manual-tests/remove-select-onchange.html: Added.
3923         
3924         * rendering/RenderMenuList.cpp:
3925         (WebCore::RenderMenuList::showPopup): Don't add the RenderPopupMenu to the render
3926         tree so it doesn't get destroyed if we do.
3927         
3928         The remaining changes are to let the RenderPopupMenu know its menu list w/o having
3929         to be in the render tree:
3930         
3931         * rendering/RenderPopupMenu.cpp:
3932         (WebCore::RenderPopupMenu::RenderPopupMenu):
3933         * rendering/RenderPopupMenu.h:
3934         (WebCore::RenderPopupMenu::menuList):
3935         * rendering/RenderPopupMenuMac.h:
3936         * rendering/RenderPopupMenuMac.mm:
3937         (WebCore::RenderPopupMenuMac::RenderPopupMenuMac):
3938         * rendering/RenderPopupMenuWin.h:
3939         (WebCore::RenderPopupMenuWin::RenderPopupMenuWin):
3940         * rendering/RenderTheme.h:
3941         * rendering/RenderThemeMac.h:
3942         * rendering/RenderThemeMac.mm:
3943         (WebCore::RenderThemeMac::createPopupMenu):
3944         * rendering/RenderThemeWin.cpp:
3945         (WebCore::RenderThemeWin::createPopupMenu):
3946         * rendering/RenderThemeWin.h:
3947
3948 2006-07-21  Adele Peterson  <adele@apple.com>
3949
3950         Reviewed by Darin.
3951
3952         Fix for: <rdar://problem/4643238> REGRESSION: Can't set insertion point at the end of a line of text
3953
3954         Test: fast/forms/textarea-scrolled-endline-caret.html
3955
3956         * rendering/RenderBlock.cpp: (WebCore::RenderBlock::positionForCoordinates):
3957         When looking for the closest line box, take the scroll offset into account.
3958
3959 2006-07-21  Tim Omernick  <timo@apple.com>
3960
3961         Reviewed by Geoff & Maciej.
3962
3963         <rdar://problem/4632505> REGRESSION: Crash at WebCore::Widget::getView() const + 6
3964
3965         Geoff is working on a layout test for this.
3966
3967         * bridge/mac/FrameMac.mm:
3968         (WebCore::FrameMac::focusWindow):
3969         (WebCore::FrameMac::unfocusWindow):
3970         Check for a NULL view.  The view can be NULL if the frame has not yet loaded any data.  This fixes the crash, but the behavior is still
3971         wrong -- we should focus the frame once it gets a view.  I've filed <rdar://problem/4645685> to track that.  It's not as urgent as this
3972         crasher.
3973         
3974 2006-07-21  Maciej Stachowiak  <mjs@apple.com>
3975
3976         Reviewed by Darin.
3977
3978         <rdar://problem/4523976> REGRESSION (NativeTextField): Crash occurs when choosing "Undo Typing" after typing and setting the value
3979
3980         * rendering/RenderTextControl.cpp:
3981         (WebCore::RenderTextControl::updateFromElement): Clear the undo
3982         chain when the text control contents have been set
3983         programmatically.
3984         * bridge/mac/FrameMac.mm:
3985         (WebCore::FrameMac::clearUndoRedoOperations): Before clearing undo
3986         stack, close all open undo groups and then open an equal number,
3987         since otherwise NSUndoManager ends up in an inconsistent state
3988         leading to uncaught ObjC exceptions.
3989
3990 2006-07-21  Beth Dakin  <bdakin@apple.com>
3991         
3992         Reviewed by Darin.
3993
3994         Just moving this assertion down a couple of lines. It was hitting 
3995         every time you try to print a page because we put it too early in 
3996         the function.
3997
3998         * bridge/mac/WebCoreFrameBridge.mm:
3999         (-[WebCoreFrameBridge drawRect:]):
4000
4001 2006-07-21  Justin Garcia  <justin.garcia@apple.com>
4002
4003         Reviewed by levi
4004         
4005         <rdar://problem/4548238>
4006         REGRESSION: Can't remove the first OL/UL list item in a Mail's compose window
4007
4008         * editing/CompositeEditCommand.cpp:
4009         (WebCore::CompositeEditCommand::breakOutOfEmptyListItem): 
4010         Moved from InsertParagraphSeparator.  Does its own typing style restoration.
4011         * editing/CompositeEditCommand.h:
4012         * editing/InsertParagraphSeparatorCommand.cpp:
4013         (WebCore::InsertParagraphSeparatorCommand::doApply): Call breakOutOfEmptyListItem.
4014         * editing/TypingCommand.cpp:
4015         (WebCore::TypingCommand::deleteKeyPressed): Call breakOutOfEmptyListItem if
4016         the endingSelection is at the start of an editable region.
4017         * editing/htmlediting.cpp:
4018         (WebCore::embeddedSublist): Moved from InsertParagraphSeparator.
4019         (WebCore::appendedSublist): Ditto.
4020         (WebCore::enclosingEmptyListItem): Ditto.
4021         * editing/htmlediting.h:
4022
4023 === Safari-521.20 ===
4024
4025 2006-07-21  Tim Omernick  <timo@apple.com>
4026
4027         Reviewed by Beth Dakin & John Sullivan.
4028
4029         <rdar://problem/4633717> 9A218: Reproducible crash in -[NSScroller mouseDown:]
4030
4031         Beth is in the middle of making a layout test for this; she will land it soon.
4032
4033         * platform/mac/ScrollBarMac.mm:
4034         (ScrollBar::~ScrollBar):
4035         Call Widget::removeFromSuperview() rather than -removeFromSuperview directly on the scroll bar view.
4036         Widget::removeFromSuperview() obeys the "mustStayInWindow" flag, which is set while tracking the mouse
4037         in view-based widgets to prevent their destruction while the tracking is in progress.
4038         I searched around WebCore and this is the only Widget subclass that directly removes its view rather
4039         than using removeFromSuperview().
4040
4041 2006-07-21  Mitz Pettel  <opendarwin.org@mitzpettel.com>
4042
4043         Reviewed by Darin.
4044
4045         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9312
4046           REGRESSION: Selection bug in new text fields when selecting past the first letter
4047
4048         Test: editing/selection/select-from-textfield-outwards.html
4049
4050         * editing/Selection.cpp:
4051         (WebCore::Selection::adjustForEditableContent): Added code to handle the case
4052         where the selection starts (resp. ends) in the last (resp. first) visual position
4053         inside an editable root.
4054         * editing/htmlediting.cpp:
4055         (WebCore::comparePositions): Fixed the case of comparing a position inside a shadow
4056         tree with a position in the shadow ancestor.
4057         * rendering/RenderBlock.cpp:
4058         (WebCore::RenderBlock::positionForCoordinates): For coordinates outside a replaced
4059         object, return the position just before (after) the element if the coordinates are above or
4060         to the left (below or to the right).
4061         * rendering/RenderObject.cpp:
4062         (WebCore::RenderObject::caretMaxOffset): Changed to return 1 for replaced objects.
4063         * rendering/RenderText.cpp:
4064         (WebCore::RenderText::positionForCoordinates): Changed to return the last position
4065         in the lowest text box if the y coordinate is below all text boxes.
4066
4067 2006-07-21  Geoffrey Garen  <ggaren@apple.com>
4068
4069         Reviewed by Darin.
4070         
4071         - Fixed <rdar://problem/4507265> REGRESSION: overlays don't work on 
4072         HousingMaps.com (Google Maps-based site)
4073         
4074         - Made style.filter undetectable, like document.all.
4075         
4076         Unfortunately, the SVG spec-makers invented a CSS attribute named 'filter',
4077         which conflicts with IE's custom CSS attribute by the same name. Web programs 
4078         like the Google maps API test for style.filter, and assume it's the IE 
4079         style.filter if they find it, so we need to make style.filter undetectable 
4080         to avoid breaking them.
4081         
4082         An alternative solution would be to hotwire a delorean, go back in time,
4083         and beg the web standards makers to make standards that work on the web.
4084
4085         * bindings/js/kjs_css.cpp:
4086         (KJS::DOMCSSStyleDeclaration::cssPropertyGetter):
4087
4088 2006-07-20  Justin Garcia  <justin.garcia@apple.com>
4089
4090         Reviewed by john
4091         
4092         <rdar://problem/4641033>
4093         REGRESSION: Pasting from web pages into Mail (or Blot) often loses most of the content
4094         
4095         * editing/markup.cpp:
4096         (WebCore::createMarkup): We surround the currently accumulated markup with markup 
4097         for ancestors of the startNode when the pre-order traversal leaves the trees rooted 
4098         at those ancestors.  We assumed that any ancestors of the current node not in the 
4099         ancestorsToClose list were those kind of ancestors.  But we don't add renderer-less 
4100         containers to the ancestorsToClose list.  So, we were incorrectly surrounding the 
4101         currently accumulated markup with markup for render-less containers.  Most of the
4102         content at apple.com was being put inside an <optgroup> inside a <select> element.  
4103         Then on Paste createContextualFragment would drop it.
4104
4105 2006-07-21  Anders Carlsson  <acarlsson@apple.com>
4106
4107         Reviewed by Geoff.
4108
4109         * dom/Document.h:
4110         (WebCore::Document::):
4111         * dom/EventTargetNode.cpp:
4112         (WebCore::EventTargetNode::addEventListener):
4113         * page/FrameView.cpp:
4114         (WebCore::FrameView::layout):
4115         * rendering/RenderLayer.cpp:
4116         (WebCore::RenderLayer::updateScrollInfoAfterLayout):
4117         Only dispatch overflowchanged events if overflowchanged event listeners have been registered on the document.
4118
4119 2006-07-20  Anders Carlsson  <acarlsson@apple.com>
4120
4121         Reviewed by Geoff.
4122
4123         <rdar://problem/4637807> REGRESSION: "Features & Options" page at volvocars.us fails
4124
4125         * xml/XSLTProcessor.cpp:
4126         (WebCore::xsltParamArrayFromParameterMap):
4127         Turns out parameters never worked. String parameters need to be escaped so we create a transform context,
4128         add the parameters to it quoted and then use xsltApplyStylesheetUser which lets us pass the transform context to it.
4129         This also works around a bug in libxslt where a hash table isn't allocated.
4130
4131 2006-07-20  Alice Liu  <alice.liu@apple.com>
4132
4133         Reviewed by Tim Omernick.
4134
4135         Fixed <rdar://problem/4621649> repro crash: Upload link causes crash on pages.google.com in Frame::nodeForWidget
4136         added manual test because there is no way to change the value of an <input type=file> via the DOM.  It's not supported because it's a security risk. 
4137
4138         * manual-tests/remove-input-file-onchange.html: Added.
4139         * platform/mac/FileButtonMac.mm:
4140         (-[WebFileChooserButton chooseFilename:]):
4141         swapped the calls to changeFilename and bridgeForWidget because changeFilename will destroy the widget that is accessed in bridgeForWidget 
4142
4143 2006-07-20  Alice Liu  <alice.liu@apple.com>
4144
4145         Reviewed by Adele.
4146
4147         Fixed <rdar://problem/4532113> REGRESSION (NativeTextField): Crash occurs after modifying field then reloading page -[FormDelegate frameLayoutHasChanged:]
4148         added a manual test because of the need to use AutoFill.
4149
4150         * dom/Node.h:
4151         (WebCore::Node::aboutToUnload):
4152         added virtual function prototype
4153         * html/HTMLInputElement.cpp:
4154         (WebCore::HTMLInputElement::aboutToUnload):
4155         added implementation that sends textFieldDidEndEditing notification