6fc50a742cf613013a6bdf145f8bbbdc10b0cef5
[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):
3541         Changed to use Vector instead of DeprecatedPtrList.
3542
3543         * editing/HTMLInterchange.cpp: Removed obsolete comment.
3544
3545         * loader/Cache.h: Removed a stray include.
3546
3547 2006-07-24  Adele Peterson  <adele@apple.com>
3548
3549         Reviewed by Justin.
3550
3551         - Fix for <rdar://problem/4632132> Changing style of content with mixed editability fails
3552
3553         Test: * editing/style/apple-style-editable-mix.html
3554
3555         * dom/Node.cpp: (WebCore::Node::isContentRichlyEditable): Doesn't need to check the editable root.  It now just
3556           checks the user modify property of its own renderer, since that is inherited.
3557         * editing/ApplyStyleCommand.cpp: (WebCore::ApplyStyleCommand::applyInlineStyle): If the end position is in a table,
3558         Adjust the end node to the last descendant of the table, so we don't skip over any runs.
3559
3560 2006-07-24  Darin Adler  <darin@apple.com>
3561
3562         Reviewed by Hyatt.
3563
3564         - implement String::createCFString
3565
3566         * WebCore.xcodeproj/project.pbxproj: Added StringImplMac.mm and StringMac.mm.
3567
3568         * bindings/objc/DOMInternal.mm: Moved NSString conversion functions out of here.
3569
3570         * platform/mac/StringImplMac.mm: Added. Moved NSString conversion members here
3571         and added the CFStringRef ones.
3572         * platform/mac/StringMac.mm: Added. Ditto.
3573
3574 2006-07-24  David Hyatt  <hyatt@apple.com>
3575
3576         Two bug fixes.
3577
3578         (1) Make sure to mark positioned objects that depend on line position to
3579         mark themselves as needing layout when their line box placeholder gets
3580         repositioned.
3581
3582         * rendering/RenderBox.cpp:
3583         (WebCore::RenderBox::position):
3584        
3585         (2) Improve highlighting to factor the inflation into overflow so that
3586         invalidation and repainting will work properly.
3587
3588         * rendering/RootInlineBox.cpp:
3589         (WebCore::RootInlineBox::addHighlightOverflow):
3590         * rendering/RootInlineBox.h:
3591         * rendering/bidi.cpp:
3592         (WebCore::RenderBlock::layoutInlineChildren):
3593
3594 2006-07-24  Anders Carlsson  <acarlsson@apple.com>
3595
3596         Reviewed by Adele.
3597
3598         <rdar://problem/4641824> REGRESSION: Wikipedia widget fails to complete a search after pressing return key
3599         
3600         * html/HTMLInputElement.cpp:
3601         (WebCore::HTMLInputElement::defaultEventHandler):
3602         Don't eat enter events for search fields that have no enclosing form; they need to be passed to AppKit so
3603         that onsearch can be invoked.
3604         
3605         * manual-tests/onsearch-enter.html: Added.
3606
3607 2006-07-24  Dave MacLachlan  <dmaclach@mac.com>
3608
3609         Reviewed by Darin and Alexey.
3610         
3611         Fix for: <http://bugzilla.opendarwin.org/show_bug.cgi?id=8425> 
3612         and <http://bugzilla.opendarwin.org/show_bug.cgi?id=6947>
3613
3614         Test: svg/custom/non-opaque-filters.svg
3615
3616         * kcanvas/device/quartz/KCanvasFilterQuartz.mm:
3617         (WebCore::KCanvasFilterQuartz::prepareFilter):
3618         We create an autorelease pool so we can control the deallocation of the
3619         CIContext that we're creating. The CIContext retains the CGContext that 
3620         you pass it internally so when the CIContext is released, the 
3621         CGContext is released as well.
3622         This is all fine and dandy unless you wrap the creation of the CIFilter
3623         with a pair of CGBegin/EndTransparencyLayer calls which swap the context
3624         out from underneath you. So if you start with context A, 
3625         CGBeginTransparencyLayer swaps it out and gives you B. You create a CIFilter
3626         with it and add a reference to B. CGEndTransparencyLayer swaps out B and
3627         gives you back A. Autorelease pool comes and cleans up the Filter, and calls
3628         release on A, but A never got the refcount in the first place. B did. BOOM!
3629         So we create a pool, then do a retain, then release the pool so that we 
3630         don't have to worry about the pool releasing it at a later time.
3631         See <rdar://problem/4647735> for reduction of CGEndTransparencyLayer case
3632
3633 2006-07-24  Mitz Pettel  <opendarwin.org@mitzpettel.com>
3634
3635         Reviewed by Hyatt.
3636
3637         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9669
3638           Incomplete repaint when changing an inline's border
3639
3640         Test: fast/repaint/line-overflow.html
3641
3642         * rendering/RenderBlock.h:
3643         * rendering/bidi.cpp:
3644         (WebCore::RenderBlock::layoutInlineChildren): Added repaintTop and repaintBottom
3645         variables to track the vertical edges of the area that changed, accounting for
3646         lines that were deleted, inserted or moved. Removed unnecessary updating of
3647         m_overflowHeight.
3648         (WebCore::RenderBlock::determineStartPosition): Removed unnecessary updating of
3649         m_overflowHeight.
3650         (WebCore::RenderBlock::determineEndPosition):
3651         (WebCore::RenderBlock::matchedEndLine): Added repaintTop and repaintBottom
3652         arguments, which this method updates to account for deleted lines.
3653         (WebCore::RenderBlock::checkLinesForOverflow): Removed outdated FIXME.
3654
3655 2006-07-24  Mitz Pettel  <opendarwin.org@mitzpettel.com>
3656
3657         Reviewed by Darin.
3658
3659         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=10075
3660           REGRESSION: Reversed pop-up text in visually-ordered Hebrew pages
3661
3662         Test: fast/forms/select-visual-hebrew.html
3663
3664         * css/html4.css: Set "-webkit-rtl-ordering: logical" on select elements.
3665
3666 2006-07-24  Alexey Proskuryakov  <ap@nypop.com>
3667
3668         Reviewed by Darin.
3669
3670         Fix http://bugzilla.opendarwin.org/show_bug.cgi?id=10009
3671         REGRESSION: Schubert-IT PDF Plug-in not working for full page (works in frames)
3672
3673         * page/Frame.cpp:
3674         (WebCore::Frame::begin): Give PDF plugins a chance to handle frame content, before ImageDocument
3675         claims it.
3676
3677 2006-07-24  Mitz Pettel  <opendarwin.org@mitzpettel.com>
3678
3679         Reviewed by Darin.
3680
3681         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=10083
3682           REGRESSION (r15584): editing/selection/select-from-textfield-outwards failing
3683
3684         * rendering/RenderBlock.cpp:
3685         (WebCore::RenderBlock::positionForCoordinates): Added back change from the fix
3686         for bug 9312: For coordinates outside a replaced object, return the position
3687         just before (after) the element if the coordinates are above or to the left (below
3688         or to the right).
3689
3690 2006-07-23  Mark Rowe  <opendarwin.org@bdash.net.nz>
3691
3692         Reviewed by maciej.
3693
3694         Bug 9686: [Drosera] Need the ability to break into Drosera on Javascript exceptions
3695         http://bugzilla.opendarwin.org/show_bug.cgi?id=9686
3696
3697         WebCore portion of the fix.
3698
3699         * bridge/mac/WebCoreScriptDebugger.h:
3700         (-[WebScriptDebugger exceptionRaised:sourceId:line::]): Add delegate method.
3701         * bridge/mac/WebCoreScriptDebugger.mm:
3702         (WebCoreScriptDebuggerImp::exception): Call delegate method when an exception is raised.
3703
3704 2006-07-23  Alice Liu  <alice.liu@apple.com>
3705
3706         Reviewed by Adele.
3707         Actually Adele figured out how to fix the layout test failures.  Landing this patch for her.  Layout test failures exposed but not caused by  r15584 (my patch earlier today).
3708
3709         * editing/visible_units.cpp:
3710         (WebCore::previousLinePosition):
3711         When setting selection endpoints, don't traverse down into nodes where editing would ignore its contents. Use the parent node instead.  
3712         (WebCore::nextLinePosition):
3713         same as above
3714
3715 2006-07-23  David Harrison  <harrison@apple.com>
3716
3717         Reviewed by timo.
3718
3719         <rdar://problem/4646759> Mail crash editing To Do - WebCore::InsertTextCommand::prepareForTextInsertion
3720         
3721         * Test: editing/deleting/delete-mixed-editable-content-001.html
3722
3723         * editing/visible_units.cpp:
3724         (WebCore::startOfParagraph):
3725         Respect editable boundary the same way endOfParagraph does.
3726
3727 2006-07-23  Beth Dakin  <bdakin@apple.com>
3728
3729         Reviewed by Maciej. (Patch by me, Maciej, and Harrison.)
3730
3731         Fix for <rdar://problem/4529398> WebCore crashes when pasting rich 
3732         text - WebCore::InlineBox::root()
3733
3734         The initial rendering crash was due to a render object having a 
3735         stale reference to an inline box that had already been deleted and 
3736         then recreated in the exact same location in memory. (Crazy, I 
3737         know.) The situation seemed pretty specific to list markers 
3738         according to Hyatt according to Maciej, so that is what I patched 
3739         specifically. Fixing this crash unearthed a separate editing crash 
3740         where we were trying to insert a block into itself. I worked on 
3741         that with Maciej and Harrison, and Harrison came up with a fix.
3742
3743         * editing/CompositeEditCommand.cpp:
3744         (WebCore::CompositeEditCommand::moveParagraphContentsToNewBlockIfNecessary): This is the fix for the editing crash. If paragraphStart is an atomic 
3745         node, insert the new block into the parent instead.
3746         * rendering/InlineBox.cpp:
3747         (WebCore::InlineBox::isChildOfParent): This function is for 
3748         posterity. It will help keep the linebox tree in check.
3749         * rendering/InlineBox.h:
3750         * rendering/InlineFlowBox.cpp:
3751         (WebCore::InlineFlowBox::addToLine): Added assert.
3752         (WebCore::InlineFlowBox::deleteLine): Added assert.
3753         * rendering/ListMarkerBox.cpp:
3754         (WebCore::ListMarkerBox::destroy): If this has a parent, call 
3755         removeChild on this.
3756         (WebCore::ListMarkerBox::operator delete):
3757         * rendering/ListMarkerBox.h:
3758
3759 2006-07-23  Alice Liu  <alice.liu@apple.com>
3760
3761         Reviewed by Darin.
3762
3763         fixed <rdar://problem/4617841> REGRESSION (NativeTextField): You can move keyboard focus to a field without getting insertion point
3764
3765         * rendering/RenderBlock.cpp:
3766         (WebCore::RenderBlock::positionForCoordinates):
3767         removed some unnecessary vertical position checks and added a fudge factor to be more forgiving for clicks near lines.
3768         * rendering/RenderTextControl.cpp:
3769         (WebCore::RenderTextControl::nodeAtPoint):
3770         added implementation
3771         * rendering/RenderTextControl.h:
3772         added function protocol
3773
3774 2006-07-23  Adele Peterson  <adele@apple.com>
3775
3776         Reviewed by Darin.
3777
3778         Updating fix from last checkin.
3779
3780         * rendering/RenderFlexibleBox.cpp: (WebCore::RenderFlexibleBox::layoutVerticalBox):
3781         Only tell the view about this flexbox if there isn't another flexbox already cached.
3782
3783 2006-07-23  Adele Peterson  <adele@apple.com>
3784
3785         Reviewed by Maciej.
3786
3787         - Fix for <rdar://problem/4644614> REGRESSION: Typing, pasting or dragging in new text areas causes unnecessary scrolling
3788
3789         * rendering/RenderBlock.cpp: (WebCore::RenderBlock::layoutBlock): Don't updateScrollInfoAfterLayout if an ancestor flexible box is just on
3790         its first layout.
3791         * rendering/RenderFlexibleBox.cpp:
3792         (WebCore::RenderFlexibleBox::layoutBlock): ditto.
3793         (WebCore::RenderFlexibleBox::layoutVerticalBox): Let the view know if this flex box is doing its first pass at layout.
3794
3795         * rendering/RenderView.cpp: (WebCore::RenderView::RenderView): Caches a flexible box that's doing its first layout.
3796         * rendering/RenderView.h:
3797         (WebCore::RenderView::setFlexBoxInFirstLayout):
3798         (WebCore::RenderView::flexBoxInFirstLayout):
3799
3800 2006-07-22  Alexey Proskuryakov  <ap@nypop.com>
3801
3802         Reviewed by Darin.
3803
3804         Fix http://bugzilla.opendarwin.org/show_bug.cgi?id=10038
3805         REGRESSION: Length of navigator.mimeTypes collection returns number of installed plugins, not number 
3806         of registered mime types
3807
3808         * bindings/js/kjs_navigator.cpp:
3809         (KJS::MimeTypes::getValueProperty): Return the length of the mime types vector, not the plugins one.
3810         (KJS::MimeTypes::getOwnPropertySlot): Fixed another typo, which prevented MimeTypes::getValueProperty()
3811         from even being called.
3812
3813 2006-07-21  Maciej Stachowiak  <mjs@apple.com>
3814
3815         Reviewed by Adele and Tim Omernick.
3816
3817         <rdar://problem/4641004> 9A224: Safari crashes in WebCore::RenderMenuList::showPopup when changing a input select field to input text field
3818
3819         Couldn't figure out how to make layout test, here's a manual test:
3820         * manual-tests/remove-select-onchange.html: Added.
3821         
3822         * rendering/RenderMenuList.cpp:
3823         (WebCore::RenderMenuList::showPopup): Don't add the RenderPopupMenu to the render
3824         tree so it doesn't get destroyed if we do.
3825         
3826         The remaining changes are to let the RenderPopupMenu know its menu list w/o having
3827         to be in the render tree:
3828         
3829         * rendering/RenderPopupMenu.cpp:
3830         (WebCore::RenderPopupMenu::RenderPopupMenu):
3831         * rendering/RenderPopupMenu.h:
3832         (WebCore::RenderPopupMenu::menuList):
3833         * rendering/RenderPopupMenuMac.h:
3834         * rendering/RenderPopupMenuMac.mm:
3835         (WebCore::RenderPopupMenuMac::RenderPopupMenuMac):
3836         * rendering/RenderPopupMenuWin.h:
3837         (WebCore::RenderPopupMenuWin::RenderPopupMenuWin):
3838         * rendering/RenderTheme.h:
3839         * rendering/RenderThemeMac.h:
3840         * rendering/RenderThemeMac.mm:
3841         (WebCore::RenderThemeMac::createPopupMenu):
3842         * rendering/RenderThemeWin.cpp:
3843         (WebCore::RenderThemeWin::createPopupMenu):
3844         * rendering/RenderThemeWin.h:
3845
3846 2006-07-21  Adele Peterson  <adele@apple.com>
3847
3848         Reviewed by Darin.
3849
3850         Fix for: <rdar://problem/4643238> REGRESSION: Can't set insertion point at the end of a line of text
3851
3852         Test: fast/forms/textarea-scrolled-endline-caret.html
3853
3854         * rendering/RenderBlock.cpp: (WebCore::RenderBlock::positionForCoordinates):
3855         When looking for the closest line box, take the scroll offset into account.
3856
3857 2006-07-21  Tim Omernick  <timo@apple.com>
3858
3859         Reviewed by Geoff & Maciej.
3860
3861         <rdar://problem/4632505> REGRESSION: Crash at WebCore::Widget::getView() const + 6
3862
3863         Geoff is working on a layout test for this.
3864
3865         * bridge/mac/FrameMac.mm:
3866         (WebCore::FrameMac::focusWindow):
3867         (WebCore::FrameMac::unfocusWindow):
3868         Check for a NULL view.  The view can be NULL if the frame has not yet loaded any data.  This fixes the crash, but the behavior is still
3869         wrong -- we should focus the frame once it gets a view.  I've filed <rdar://problem/4645685> to track that.  It's not as urgent as this
3870         crasher.
3871         
3872 2006-07-21  Maciej Stachowiak  <mjs@apple.com>
3873
3874         Reviewed by Darin.
3875
3876         <rdar://problem/4523976> REGRESSION (NativeTextField): Crash occurs when choosing "Undo Typing" after typing and setting the value
3877
3878         * rendering/RenderTextControl.cpp:
3879         (WebCore::RenderTextControl::updateFromElement): Clear the undo
3880         chain when the text control contents have been set
3881         programmatically.
3882         * bridge/mac/FrameMac.mm:
3883         (WebCore::FrameMac::clearUndoRedoOperations): Before clearing undo
3884         stack, close all open undo groups and then open an equal number,
3885         since otherwise NSUndoManager ends up in an inconsistent state
3886         leading to uncaught ObjC exceptions.
3887
3888 2006-07-21  Beth Dakin  <bdakin@apple.com>
3889         
3890         Reviewed by Darin.
3891
3892         Just moving this assertion down a couple of lines. It was hitting 
3893         every time you try to print a page because we put it too early in 
3894         the function.
3895
3896         * bridge/mac/WebCoreFrameBridge.mm:
3897         (-[WebCoreFrameBridge drawRect:]):
3898
3899 2006-07-21  Justin Garcia  <justin.garcia@apple.com>
3900
3901         Reviewed by levi
3902         
3903         <rdar://problem/4548238>
3904         REGRESSION: Can't remove the first OL/UL list item in a Mail's compose window
3905
3906         * editing/CompositeEditCommand.cpp:
3907         (WebCore::CompositeEditCommand::breakOutOfEmptyListItem): 
3908         Moved from InsertParagraphSeparator.  Does its own typing style restoration.
3909         * editing/CompositeEditCommand.h:
3910         * editing/InsertParagraphSeparatorCommand.cpp:
3911         (WebCore::InsertParagraphSeparatorCommand::doApply): Call breakOutOfEmptyListItem.
3912         * editing/TypingCommand.cpp:
3913         (WebCore::TypingCommand::deleteKeyPressed): Call breakOutOfEmptyListItem if
3914         the endingSelection is at the start of an editable region.
3915         * editing/htmlediting.cpp:
3916         (WebCore::embeddedSublist): Moved from InsertParagraphSeparator.
3917         (WebCore::appendedSublist): Ditto.
3918         (WebCore::enclosingEmptyListItem): Ditto.
3919         * editing/htmlediting.h:
3920
3921 === Safari-521.20 ===
3922
3923 2006-07-21  Tim Omernick  <timo@apple.com>
3924
3925         Reviewed by Beth Dakin & John Sullivan.
3926
3927         <rdar://problem/4633717> 9A218: Reproducible crash in -[NSScroller mouseDown:]
3928
3929         Beth is in the middle of making a layout test for this; she will land it soon.
3930
3931         * platform/mac/ScrollBarMac.mm:
3932         (ScrollBar::~ScrollBar):
3933         Call Widget::removeFromSuperview() rather than -removeFromSuperview directly on the scroll bar view.
3934         Widget::removeFromSuperview() obeys the "mustStayInWindow" flag, which is set while tracking the mouse
3935         in view-based widgets to prevent their destruction while the tracking is in progress.
3936         I searched around WebCore and this is the only Widget subclass that directly removes its view rather
3937         than using removeFromSuperview().
3938
3939 2006-07-21  Mitz Pettel  <opendarwin.org@mitzpettel.com>
3940
3941         Reviewed by Darin.
3942
3943         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9312
3944           REGRESSION: Selection bug in new text fields when selecting past the first letter
3945
3946         Test: editing/selection/select-from-textfield-outwards.html
3947
3948         * editing/Selection.cpp:
3949         (WebCore::Selection::adjustForEditableContent): Added code to handle the case
3950         where the selection starts (resp. ends) in the last (resp. first) visual position
3951         inside an editable root.
3952         * editing/htmlediting.cpp:
3953         (WebCore::comparePositions): Fixed the case of comparing a position inside a shadow
3954         tree with a position in the shadow ancestor.
3955         * rendering/RenderBlock.cpp:
3956         (WebCore::RenderBlock::positionForCoordinates): For coordinates outside a replaced
3957         object, return the position just before (after) the element if the coordinates are above or
3958         to the left (below or to the right).
3959         * rendering/RenderObject.cpp:
3960         (WebCore::RenderObject::caretMaxOffset): Changed to return 1 for replaced objects.
3961         * rendering/RenderText.cpp:
3962         (WebCore::RenderText::positionForCoordinates): Changed to return the last position
3963         in the lowest text box if the y coordinate is below all text boxes.
3964
3965 2006-07-21  Geoffrey Garen  <ggaren@apple.com>
3966
3967         Reviewed by Darin.
3968         
3969         - Fixed <rdar://problem/4507265> REGRESSION: overlays don't work on 
3970         HousingMaps.com (Google Maps-based site)
3971         
3972         - Made style.filter undetectable, like document.all.
3973         
3974         Unfortunately, the SVG spec-makers invented a CSS attribute named 'filter',
3975         which conflicts with IE's custom CSS attribute by the same name. Web programs 
3976         like the Google maps API test for style.filter, and assume it's the IE 
3977         style.filter if they find it, so we need to make style.filter undetectable 
3978         to avoid breaking them.
3979         
3980         An alternative solution would be to hotwire a delorean, go back in time,
3981         and beg the web standards makers to make standards that work on the web.
3982
3983         * bindings/js/kjs_css.cpp:
3984         (KJS::DOMCSSStyleDeclaration::cssPropertyGetter):
3985
3986 2006-07-20  Justin Garcia  <justin.garcia@apple.com>
3987
3988         Reviewed by john
3989         
3990         <rdar://problem/4641033>
3991         REGRESSION: Pasting from web pages into Mail (or Blot) often loses most of the content
3992         
3993         * editing/markup.cpp:
3994         (WebCore::createMarkup): We surround the currently accumulated markup with markup 
3995         for ancestors of the startNode when the pre-order traversal leaves the trees rooted 
3996         at those ancestors.  We assumed that any ancestors of the current node not in the 
3997         ancestorsToClose list were those kind of ancestors.  But we don't add renderer-less 
3998         containers to the ancestorsToClose list.  So, we were incorrectly surrounding the 
3999         currently accumulated markup with markup for render-less containers.  Most of the
4000         content at apple.com was being put inside an <optgroup> inside a <select> element.  
4001         Then on Paste createContextualFragment would drop it.
4002
4003 2006-07-21  Anders Carlsson  <acarlsson@apple.com>
4004
4005         Reviewed by Geoff.
4006
4007         * dom/Document.h:
4008         (WebCore::Document::):
4009         * dom/EventTargetNode.cpp:
4010         (WebCore::EventTargetNode::addEventListener):
4011         * page/FrameView.cpp:
4012         (WebCore::FrameView::layout):
4013         * rendering/RenderLayer.cpp:
4014         (WebCore::RenderLayer::updateScrollInfoAfterLayout):
4015         Only dispatch overflowchanged events if overflowchanged event listeners have been registered on the document.
4016
4017 2006-07-20  Anders Carlsson  <acarlsson@apple.com>
4018
4019         Reviewed by Geoff.
4020
4021         <rdar://problem/4637807> REGRESSION: "Features & Options" page at volvocars.us fails
4022
4023         * xml/XSLTProcessor.cpp:
4024         (WebCore::xsltParamArrayFromParameterMap):
4025         Turns out parameters never worked. String parameters need to be escaped so we create a transform context,
4026         add the parameters to it quoted and then use xsltApplyStylesheetUser which lets us pass the transform context to it.
4027         This also works around a bug in libxslt where a hash table isn't allocated.
4028
4029 2006-07-20  Alice Liu  <alice.liu@apple.com>
4030
4031         Reviewed by Tim Omernick.
4032
4033         Fixed <rdar://problem/4621649> repro crash: Upload link causes crash on pages.google.com in Frame::nodeForWidget
4034         added manual test because there is no way to change the value of an <input type=file> via the DOM.  It's not supported because it's a security risk. 
4035
4036         * manual-tests/remove-input-file-onchange.html: Added.
4037         * platform/mac/FileButtonMac.mm:
4038         (-[WebFileChooserButton chooseFilename:]):
4039         swapped the calls to changeFilename and bridgeForWidget because changeFilename will destroy the widget that is accessed in bridgeForWidget 
4040
4041 2006-07-20  Alice Liu  <alice.liu@apple.com>
4042
4043         Reviewed by Adele.
4044
4045         Fixed <rdar://problem/4532113> REGRESSION (NativeTextField): Crash occurs after modifying field then reloading page -[FormDelegate frameLayoutHasChanged:]
4046         added a manual test because of the need to use AutoFill.
4047
4048         * dom/Node.h:
4049         (WebCore::Node::aboutToUnload):
4050         added virtual function prototype
4051         * html/HTMLInputElement.cpp:
4052         (WebCore::HTMLInputElement::aboutToUnload):
4053         added implementation that sends textFieldDidEndEditing notification
4054         * html/HTMLInputElement.h:
4055         added virtual function prototype
4056         * manual-tests/input-type-file-autocomplete-frame-1.html: Added.
4057         * manual-tests/input-type-file-autocomplete-frame-2.html: Added.
4058         * manual-tests/input-type-file-autocomplete-refresh.html: Added.
4059         * page/Frame.cpp:
4060         (WebCore::Frame::stopLoading):
4061         before unloading, call aboutToUnload on the current focused node
4062
4063 2006-07-20  Brady Eidson  <beidson@apple.com>
4064
4065         Reviewed by Maciej
4066
4067         fixed <rdar://problem/4611303> REGRESSION: repro crash in WebCore::EventTargetNode::dispatchWindowEvent at aeropostale.com
4068         There was an attempt to deref an EventListener that got cleaned up in GC.  Changing Document's EventListener list from 
4069         vanilla ptrs to refptrs to prevent GC, following EventTargetNode's proven example.
4070
4071         * dom/Document.cpp:
4072         (WebCore::Document::Document):
4073         (WebCore::Document::clear):
4074         (WebCore::Document::handleWindowEvent):
4075         (WebCore::Document::getHTMLWindowEventListener):
4076         (WebCore::Document::removeHTMLWindowEventListener):
4077         (WebCore::Document::removeWindowEventListener):
4078         (WebCore::Document::hasWindowEventListener):
4079         Changed all of the list iterators to work with RefPtrs instead of vanilla ptrs
4080
4081         * dom/Document.h:
4082         Changed the EventListener list to be a vanilla pointer list to a refptr list
4083
4084 2006-07-20  John Sullivan  <sullivan@apple.com>
4085
4086         Reviewed by Maciej
4087
4088         - WebCore part of fix for:
4089         <rdar://problem/4557386> REGRESSION (419.3-521.19): repro Safari world leak involving 
4090         closing tabs after clicking in a web page
4091         
4092         * bridge/mac/WebCoreFrameBridge.h:
4093         (-[WebCoreFrameBridge textViewWasFirstResponderAtMouseDownTime:])
4094         renamed to be more specific (formerly wasFirstResponderAtMouseDownTime:)
4095         * bridge/mac/FrameMac.mm:
4096         (WebCore::FrameMac::passMouseDownEventToWidget):
4097         updated for name change
4098
4099 2006-07-19  Alexey Proskuryakov  <ap@nypop.com>
4100
4101         Reviewed by Darin.
4102
4103         Fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8272
4104         Use of window.open & window.close can cause crash
4105
4106         * platform/PlatformMouseEvent.h:
4107         (WebCore::PlatformMouseEvent::PlatformMouseEvent):
4108         * platform/mac/PlatformMouseEventMac.mm:
4109         (WebCore::PlatformMouseEvent::PlatformMouseEvent):
4110         The default constructor now creates a "zero" event, and a new one was added to create the "current" one.
4111
4112         * bridge/mac/FrameMac.mm:
4113         (WebCore::FrameMac::handleMouseMoveEvent):
4114         * rendering/RenderFormElement.cpp:
4115         (WebCore::RenderFormElement::clicked): 
4116         Updated for the above changes.
4117
4118         * platform/gdk/MouseEventGdk.cpp:
4119         * platform/gdk/TemporaryLinkStubs.cpp:
4120         (PlatformMouseEvent::PlatformMouseEvent):
4121         * platform/win/MouseEventWin.cpp:
4122         * platform/win/TemporaryLinkStubs.cpp:
4123         (PlatformMouseEvent::PlatformMouseEvent):
4124         Trying not to break other platforms.
4125
4126         * manual-tests/invalid-mouse-event.html: Added.
4127
4128 2006-07-20  Maciej Stachowiak  <mjs@apple.com>
4129         
4130         Reviewed by Anders.
4131
4132         - delete line that I only commented in the last patch - meant to do this before landing
4133
4134         * html/HTMLFrameElement.cpp:
4135         (WebCore::HTMLFrameElement::close): 
4136
4137 2006-07-19  Maciej Stachowiak  <mjs@apple.com>
4138
4139         Reviewed by Geoff.
4140
4141         - fixed <rdar://problem/4634484> REGRESSION: Project Change Request form should have vertical scroll bar, but doesn't
4142         
4143         I couldn't figure out how to make an automated test case for this,
4144         or even a manual one. It seems to be timing-related in some way.
4145
4146         * html/HTMLFrameElement.cpp:
4147         (WebCore::HTMLFrameElement::close): detach the child frame from
4148         its element, not the frame containing this element.
4149
4150 2006-07-20  Anders Carlsson  <acarlsson@apple.com>
4151
4152         Reviewed by Darin.
4153
4154         * bridge/mac/FrameMac.mm:
4155         (WebCore::FrameMac::nextKeyViewInFrame):