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