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