Try to fix release build.
[WebKit-https.git] / WebCore / ChangeLog
1 2006-05-13  Alexey Proskuryakov  <ap@nypop.com>
2
3         Try to fix release build.
4
5         * rendering/RenderBox.cpp:
6         (WebCore::RenderBox::calcAbsoluteHorizontalValues): Initialize leftValue. 
7         This value will never be used, because 'left' and 'right' cannot both be 'auto'.
8
9 2006-05-13  Alexey Proskuryakov  <ap@nypop.com>
10
11         Re-applied the fix for bug 8835 (REGRESSION: Line moves but selection
12         highlight stays behind) to a correct file; removed the stale one.
13
14         * rendering/RootInlineBox.cpp:
15         (WebCore::RootInlineBox::adjustPosition): Adjust m_selectionTop
16         and m_selectionBottom.
17         * rendering/render_line.cpp: Removed.
18
19 2006-05-13  Rob Buis  <buis@kde.org>
20
21         Reviewed by Darin, landed by ap.
22
23         Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=8132
24         CSS parser sometimes accepts real number as integer
25
26         Add a boolean variable per css value to catch whether values
27         are specified as floats or integers.
28
29         Test: fast/css/rgb-float.html
30
31         * css/CSSGrammar.y:
32         * css/cssparser.cpp:
33         (WebCore::CSSParser::validUnit):
34         (WebCore::CSSParser::lex):
35         * css/cssparser.h:
36         * css/tokenizer.flex:
37
38 2006-05-13  Sam Weinig  <sam.weinig@gmail.com>
39
40         Reviewed by Hyatt, landed by ap.
41
42         Patch for http://bugzilla.opendarwin.org/show_bug.cgi?id=7604
43         calcAbsoluteHorizontalValues() is being getting passed arguments
44         in the wrong order in calcAbsoluteHorizontal()
45
46         Cleans up the RenderBox code for absolutely positioned elements
47         and adds new functions for replaced absolutely positioned 
48         elements. Now uses Length so that magic number -666666 for 
49         auto lengths is no longer used.
50
51         * rendering/RenderBox.cpp:
52         (WebCore::RenderBox::calcAbsoluteHorizontal):
53         (WebCore::RenderBox::calcAbsoluteHorizontalValues):
54         (WebCore::RenderBox::calcAbsoluteVertical):
55         (WebCore::RenderBox::calcAbsoluteVerticalValues): 
56         (WebCore::RenderBox::calcAbsoluteHorizontalReplaced): Handle replaced
57         case separately.
58         (WebCore::RenderBox::calcAbsoluteVerticalReplaced): ditto.
59         * rendering/RenderBox.h:
60
61 2006-05-12  David Hyatt  <hyatt@apple.com>
62
63         Bug 8880, remove the remaining drawing/hit testing code from
64         FontData.
65
66         Reviewed by tim h
67
68         * platform/Font.cpp:
69         (WebCore::m_finalRoundingWidth):
70         (WebCore::WidthIterator::advanceOneCharacter):
71         (WebCore::Font::selectionRectForText):
72         (WebCore::Font::selectionRectForSimpleText):
73         (WebCore::Font::offsetForPosition):
74         (WebCore::Font::offsetForPositionForSimpleText):
75         * platform/Font.h:
76         (WebCore::TextRun::makeComplete):
77         * platform/FontData.h:
78         * platform/GlyphBuffer.h:
79         (WebCore::GlyphBuffer::clear):
80         * platform/mac/FontData.mm:
81         * platform/mac/FontMac.mm:
82         (WebCore::Font::selectionRectForComplexText):
83         (WebCore::Font::offsetForPositionForComplexText):
84
85 2006-05-12  Kevin M. Ollivier  <kevino@theolliviers.com>
86
87         Reviewed by Maciej.
88
89         Add missing include.
90         
91         * dom/Node.h: Add missing include for DeprecatedString.
92
93 2006-05-12  Mitz Pettel  <opendarwin.org@mitzpettel.com>
94
95         Reviewed by Darin.
96
97         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8835
98           REGRESSION: Line moves but selection highlight stays behind
99
100         Test: fast/dynamic/selection-highlight-adjust.html
101
102         * rendering/render_line.cpp:
103         (WebCore::RootInlineBox::adjustPosition): Adjust m_selectionTop
104         and m_selectionBottom.
105
106 2006-05-12  Timothy Hatcher  <timothy@apple.com>
107
108         Reviewed by Darin.
109
110         http://bugzilla.opendarwin.org/show_bug.cgi?id=7156
111         Bug 7156: TinyMCE: Links are actually activated in editable area, not editable.
112         
113         Links in editable areas will not activate or perform a navigation
114         change (on par with WinIE and Firefox.) To visit the link
115         you can shift-click. Manual test added.
116
117         * css/cssstyleselector.cpp:
118         (WebCore::CSSStyleSelector::adjustRenderStyle):
119         * html/HTMLAnchorElement.cpp:
120         (WebCore::HTMLAnchorElement::defaultEventHandler):
121         (WebCore::HTMLAnchorElement::setActive):
122         * html/HTMLAnchorElement.h:
123         * manual-tests/contenteditable-link.html: Added.
124         * page/FrameView.cpp:
125         (WebCore::selectCursor):
126
127 2006-05-12  Eric Seidel  <eseidel@apple.com>
128
129         Reviewed by timo.
130
131         Split out html_inlineimpl.* into separate files (one per class).
132
133         * WebCore.xcodeproj/project.pbxproj:
134         * bindings/js/kjs_html.cpp:
135         * bindings/objc/DOMHTML.mm:
136         * editing/CreateLinkCommand.cpp:
137         * editing/UnlinkCommand.cpp:
138         * html/HTMLAnchorElement.cpp: Added.
139         (WebCore::HTMLAnchorElement::HTMLAnchorElement):
140         * html/HTMLAnchorElement.h: Added.
141         * html/HTMLBRElement.cpp: Added.
142         * html/HTMLBRElement.h: Added.
143         * html/HTMLElementFactory.cpp:
144         * html/HTMLFontElement.cpp: Added.
145         (WebCore::HTMLFontElement::HTMLFontElement):
146         (WebCore::HTMLFontElement::setColor):
147         (WebCore::HTMLFontElement::setFace):
148         (WebCore::HTMLFontElement::setSize):
149         * html/HTMLFontElement.h: Added.
150         * html/HTMLModElement.cpp: Added.
151         (WebCore::HTMLModElement::setCite):
152         (WebCore::HTMLModElement::setDateTime):
153         * html/HTMLModElement.h: Added.
154         * html/HTMLQuoteElement.cpp: Added.
155         * html/HTMLQuoteElement.h: Added.
156         * html/html_imageimpl.h:
157         * html/html_inlineimpl.cpp: Removed.
158         * html/html_inlineimpl.h: Removed.
159         * page/FrameView.cpp:
160
161 2006-05-12  Eric Seidel  <eseidel@apple.com>
162
163         Reviewed by beth.
164
165         Fix build error.
166
167         * rendering/InlineFlowBox.cpp:
168         * rendering/RootInlineBox.cpp:
169
170 2006-05-12  Eric Seidel  <eseidel@apple.com>
171
172         Reviewed by beth.
173
174         Split out render_line.* into separate files (one per class).
175
176         * WebCore.xcodeproj/project.pbxproj:
177         * dom/ContainerNode.cpp:
178         * rendering/EllipsisBox.cpp: Added.
179         * rendering/EllipsisBox.h: Added.
180         (WebCore::EllipsisBox::EllipsisBox):
181         * rendering/InlineBox.cpp: Added.
182         * rendering/InlineBox.h: Added.
183         (WebCore::InlineBox::InlineBox):
184         (WebCore::InlineBox::~InlineBox):
185         (WebCore::InlineBox::bottomOverflow):
186         (WebCore::InlineBox::rightOverflow):
187         * rendering/InlineFlowBox.cpp: Added.
188         (WebCore::InlineFlowBox::placeBoxesHorizontally):
189         * rendering/InlineFlowBox.h: Added.
190         * rendering/InlineRunBox.h: Added.
191         (WebCore::InlineRunBox::InlineRunBox):
192         (WebCore::InlineRunBox::paintBackgroundAndBorder):
193         (WebCore::InlineRunBox::paintDecorations):
194         * rendering/InlineTextBox.h:
195         * rendering/RenderBlock.h:
196         * rendering/RenderFlow.h:
197         * rendering/RenderReplaced.cpp:
198         * rendering/RootInlineBox.cpp: Added.
199         * rendering/RootInlineBox.h: Added.
200         (WebCore::RootInlineBox::RootInlineBox):
201         * rendering/render_line.h: Removed.
202
203 2006-05-12  Eric Seidel  <eseidel@apple.com>
204
205         Reviewed by hyatt.
206
207         Split out table_layout.* into separate files (one per class).
208         Search replace instance variables "foo" with "m_foo" to comply with modern style.
209
210         * WebCore.xcodeproj/project.pbxproj:
211         * rendering/AutoTableLayout.cpp: Added.
212         (WebCore::AutoTableLayout::AutoTableLayout):
213         (WebCore::AutoTableLayout::recalcColumn):
214         (WebCore::AutoTableLayout::fullRecalc):
215         (WebCore::AutoTableLayout::calcMinMaxWidth):
216         (WebCore::AutoTableLayout::calcEffectiveWidth):
217         (WebCore::AutoTableLayout::insertSpanCell):
218         (WebCore::AutoTableLayout::layout):
219         (WebCore::AutoTableLayout::calcPercentages):
220         * rendering/AutoTableLayout.h: Added.
221         (WebCore::AutoTableLayout::totalPercent):
222         (WebCore::AutoTableLayout::Layout::Layout):
223         * rendering/FixedTableLayout.cpp: Added.
224         (WebCore::FixedTableLayout::FixedTableLayout):
225         (WebCore::FixedTableLayout::calcWidthArray):
226         (WebCore::FixedTableLayout::calcMinMaxWidth):
227         (WebCore::FixedTableLayout::layout):
228         * rendering/FixedTableLayout.h: Added.
229         * rendering/RenderTable.cpp:
230         * rendering/TableLayout.h: Added.
231         (WebCore::TableLayout::TableLayout):
232         * rendering/table_layout.cpp: Removed.
233         * rendering/table_layout.h: Removed.
234
235 2006-05-12  David Hyatt  <hyatt@apple.com>
236
237         Bug 8877.  Change form controls and the bridge entry points from the
238         Safari UI to use Font instead of FontData.
239
240         Reviewed by mjs
241
242         * bridge/mac/WebCoreStringTruncator.mm:
243         (stringWidth):
244         (truncateString):
245         (+[WebCoreStringTruncator widthOfString:font:]):
246         (+[WebCoreStringTruncator clear]):
247         * kwq/KWQComboBox.mm:
248         (QComboBox::sizeHint):
249         * kwq/KWQLineEdit.mm:
250         (QLineEdit::sizeForCharacterWidth):
251         * kwq/KWQListBox.mm:
252         (itemTextRenderer):
253         (groupLabelTextRenderer):
254         (QListBox::sizeForNumberOfLines):
255         (QListBox::clearCachedTextRenderers):
256         (-[KWQTableView drawRow:clipRect:]):
257         * platform/Font.cpp:
258         (WebCore::Font::drawSimpleText):
259         (WebCore::Font::drawText):
260         * platform/Font.h:
261         (WebCore::TextStyle::disableRoundingHacks):
262         (WebCore::TextStyle::setRTL):
263         * platform/FontData.h:
264         * platform/FontFallbackList.h:
265         * platform/FontPlatformData.h:
266         (WebCore::FontPlatformData::syntheticOblique):
267         * platform/Pen.h:
268         * platform/mac/FontData.mm:
269         (WebCore::FontData::smallCapsFontData):
270         (WebCore::findSubstituteRenderer):
271         * platform/mac/FontMac.mm:
272         (WebCore::FontFallbackList::setPlatformFont):
273         (WebCore::m_wordSpacing):
274         (WebCore::Font::drawComplexText):
275         * platform/mac/WebCoreTextRenderer.mm:
276         (WebCoreDrawTextAtPoint):
277         (WebCoreTextFloatWidth):
278         * platform/win/FontWin.cpp:
279         (WebCore::Font::drawText):
280         * rendering/InlineTextBox.cpp:
281         (WebCore::InlineTextBox::positionForOffset):
282
283 2006-05-12  Eric Seidel  <eseidel@apple.com>
284
285         Reviewed by kevin.
286
287         Move render_button to RenderButton.
288         Various small style cleanup.
289
290         * WebCore.xcodeproj/project.pbxproj:
291         * html/HTMLButtonElement.cpp:
292         * html/HTMLElement.cpp:
293         * html/HTMLGenericFormElement.cpp:
294         * html/HTMLInputElement.cpp:
295         * platform/mac/WebCoreTextArea.mm:
296         * rendering/RenderApplet.h:
297         * rendering/RenderBox.cpp:
298         * rendering/RenderButton.cpp: Added.
299         (WebCore::RenderButton::RenderButton):
300         (WebCore::RenderButton::addChild):
301         (WebCore::RenderButton::removeChild):
302         * rendering/RenderButton.h: Added.
303         * rendering/RenderEmptyApplet.h:
304         * rendering/RenderHTMLCanvas.h:
305         * rendering/RenderTreeAsText.cpp:
306         * rendering/render_button.cpp: Removed.
307         * rendering/render_button.h: Removed.
308         * rendering/table_layout.cpp:
309         (WebCore::FixedTableLayout::FixedTableLayout):
310         (WebCore::FixedTableLayout::calcWidthArray):
311         (WebCore::FixedTableLayout::calcMinMaxWidth):
312         (WebCore::FixedTableLayout::layout):
313         (WebCore::AutoTableLayout::AutoTableLayout):
314         (WebCore::AutoTableLayout::recalcColumn):
315         (WebCore::AutoTableLayout::fullRecalc):
316         (WebCore::AutoTableLayout::calcMinMaxWidth):
317         (WebCore::AutoTableLayout::calcEffectiveWidth):
318         (WebCore::AutoTableLayout::insertSpanCell):
319         (WebCore::AutoTableLayout::layout):
320         * rendering/table_layout.h:
321         (WebCore::TableLayout::TableLayout):
322         (WebCore::AutoTableLayout::totalPercent):
323         (WebCore::AutoTableLayout::Layout::Layout):
324
325 2006-05-12  Eric Seidel  <eseidel@apple.com>
326
327         Reviewed by mjs.
328
329         Split render_frames.* render_replaced.* and html_baseimpl.* into separate files (one class per file).
330         http://bugzilla.opendarwin.org/show_bug.cgi?id=8878
331
332         * WebCore.xcodeproj/project.pbxproj:
333         * bindings/js/kjs_html.cpp:
334         (KJS::JSHTMLDocumentProtoFunc::callAsFunction):
335         (KJS::JSHTMLDocument::namedItemGetter):
336         (KJS::JSHTMLDocument::getValueProperty):
337         (KJS::JSHTMLDocument::getOwnPropertySlot):
338         (KJS::JSHTMLDocument::putValueProperty):
339         (KJS::JSHTMLElement::formIndexGetter):
340         (KJS::JSHTMLElement::formNameGetter):
341         (KJS::JSHTMLElement::selectIndexGetter):
342         (KJS::JSHTMLElement::framesetNameGetter):
343         (KJS::JSHTMLElement::runtimeObjectGetter):
344         (KJS::JSHTMLElement::runtimeObjectPropertyGetter):
345         (KJS::JSHTMLElement::getOwnPropertySlot):
346         (KJS::JSHTMLElement::implementsCall):
347         (KJS::JSHTMLElement::callAsFunction):
348         (KJS::JSHTMLElement::getValueProperty):
349         (KJS::JSHTMLElement::toString):
350         (KJS::getForm):
351         (KJS::JSHTMLElement::pushEventHandlerScope):
352         (KJS::HTMLElementFunction::callAsFunction):
353         (KJS::JSHTMLElement::put):
354         (KJS::JSHTMLElement::selectSetter):
355         (KJS::JSHTMLElement::putValueProperty):
356         (KJS::toHTMLElement):
357         (KJS::toHTMLTableCaptionElement):
358         (KJS::toHTMLTableSectionElement):
359         (KJS::JSHTMLCollection::lengthGetter):
360         (KJS::JSHTMLCollection::indexGetter):
361         (KJS::JSHTMLCollection::nameGetter):
362         (KJS::JSHTMLCollection::getOwnPropertySlot):
363         (KJS::HTMLCollectionProtoFunc::callAsFunction):
364         (KJS::JSHTMLSelectCollection::selectedIndexGetter):
365         (KJS::JSHTMLSelectCollection::put):
366         (KJS::OptionConstructorImp::construct):
367         (KJS::getSelectHTMLCollection):
368         * bindings/objc/DOMHTML.mm:
369         * bridge/mac/FrameMac.mm:
370         (WebCore::FrameMac::createFrame):
371         * bridge/mac/WebCoreFrameBridge.mm:
372         (-[WebCoreFrameBridge copyRenderNode:copier:]):
373         * dom/Document.cpp:
374         (WebCore::widgetForNode):
375         * html/HTMLBodyElement.cpp: Added.
376         (WebCore::HTMLBodyElement::HTMLBodyElement):
377         (WebCore::HTMLBodyElement::parseMappedAttribute):
378         * html/HTMLBodyElement.h: Added.
379         * html/HTMLDocument.cpp:
380         * html/HTMLElementFactory.cpp:
381         * html/HTMLEmbedElement.cpp:
382         * html/HTMLFrameElement.cpp: Added.
383         (WebCore::HTMLFrameElement::isURLAllowed):
384         (WebCore::HTMLFrameElement::parseMappedAttribute):
385         (WebCore::HTMLFrameElement::setLocation):
386         * html/HTMLFrameElement.h: Added.
387         * html/HTMLFrameSetElement.cpp: Added.
388         (WebCore::HTMLFrameSetElement::HTMLFrameSetElement):
389         (WebCore::HTMLFrameSetElement::parseMappedAttribute):
390         (WebCore::HTMLFrameSetElement::attach):
391         (WebCore::HTMLFrameSetElement::defaultEventHandler):
392         (WebCore::HTMLFrameSetElement::recalcStyle):
393         * html/HTMLFrameSetElement.h: Added.
394         * html/HTMLHeadElement.cpp: Added.
395         (WebCore::HTMLHeadElement::HTMLHeadElement):
396         * html/HTMLHeadElement.h: Added.
397         * html/HTMLHtmlElement.cpp: Added.
398         (WebCore::HTMLHtmlElement::HTMLHtmlElement):
399         * html/HTMLHtmlElement.h: Added.
400         * html/HTMLIFrameElement.cpp: Added.
401         (WebCore::HTMLIFrameElement::HTMLIFrameElement):
402         * html/HTMLIFrameElement.h: Added.
403         * html/HTMLObjectElement.cpp:
404         * html/HTMLParser.cpp:
405         * html/html_baseimpl.cpp: Removed.
406         * html/html_baseimpl.h: Removed.
407         * kwq/WebCoreAXObject.mm:
408         * page/Frame.cpp:
409         (WebCore::isFrameElement):
410         (WebCore::Frame::applyEditingStyleToBodyElement):
411         (WebCore::Frame::removeEditingStyleFromBodyElement):
412         (WebCore::Frame::applyEditingStyleToElement):
413         (WebCore::Frame::removeEditingStyleFromElement):
414         (WebCore::Frame::selectionRect):
415         (WebCore::Frame::isFrameSet):
416         (WebCore::scanForForm):
417         (WebCore::Frame::currentForm):
418         (WebCore::Frame::nodeInfoAtPoint):
419         (WebCore::Frame::adjustPageHeight):
420         (WebCore::Frame::frameForWidget):
421         (WebCore::Frame::forceLayoutWithPageWidthRange):
422         (WebCore::Frame::passWidgetMouseDownEventToWidget):
423         * page/FrameView.cpp:
424         * rendering/RenderFrame.cpp: Added.
425         (WebCore::RenderFrame::viewCleared):
426         * rendering/RenderFrame.h: Added.
427         * rendering/RenderFrameSet.cpp: Added.
428         (WebCore::RenderFrameSet::RenderFrameSet):
429         (WebCore::RenderFrameSet::~RenderFrameSet):
430         (WebCore::RenderFrameSet::layout):
431         (WebCore::RenderFrameSet::positionFrames):
432         (WebCore::RenderFrameSet::userResize):
433         (WebCore::RenderFrameSet::canResize):
434         (WebCore::RenderFrameSet::dump):
435         * rendering/RenderFrameSet.h: Added.
436         * rendering/RenderImage.h:
437         * rendering/RenderPart.cpp: Added.
438         (WebCore::RenderPart::RenderPart):
439         * rendering/RenderPart.h: Added.
440         * rendering/RenderPartObject.cpp: Added.
441         (WebCore::isURLAllowed):
442         (WebCore::RenderPartObject::updateWidget):
443         (WebCore::RenderPartObject::viewCleared):
444         * rendering/RenderPartObject.h: Added.
445         * rendering/RenderReplaced.cpp: Added.
446         (WebCore::RenderReplaced::selectionColor):
447         * rendering/RenderReplaced.h: Added.
448         * rendering/RenderWidget.cpp: Added.
449         (WebCore::RenderWidget::deleteWidget):
450         * rendering/RenderWidget.h: Added.
451         * rendering/render_form.h:
452         * rendering/render_frames.cpp: Removed.
453         * rendering/render_frames.h: Removed.
454         * rendering/render_replaced.cpp: Removed.
455         * rendering/render_replaced.h: Removed.
456
457 2006-05-12  Eric Seidel  <eseidel@apple.com>
458
459         Reviewed by beth.
460
461         Split html_headimpl.* into separate files (one per class)
462         http://bugzilla.opendarwin.org/show_bug.cgi?id=8875
463
464         * WebCore.xcodeproj/project.pbxproj:
465         * bindings/js/kjs_css.cpp:
466         * bindings/js/kjs_html.cpp:
467         (KJS::JSHTMLElement::headGetter):
468         (KJS::JSHTMLElement::linkGetter):
469         * bindings/objc/DOMCSS.mm:
470         (+[DOMCounter _counterWith:]):
471         (-[DOMCounter finalize]):
472         (-[DOMCounter _DOMStyleSheet]):
473         (-[DOMStyleSheet _initWithStyleSheet:]):
474         (-[DOMStyleSheetList dealloc]):
475         (-[DOMStyleSheetList finalize]):
476         (-[DOMStyleSheetList _styleSheetList]):
477         (-[DOMStyleSheetList _initWithStyleSheetList:]):
478         (-[DOMCSSStyleSheet _CSSStyleSheet]):
479         (-[DOMMediaList dealloc]):
480         (-[DOMMediaList finalize]):
481         (-[DOMMediaList _mediaList]):
482         (-[DOMMediaList _initWithMediaList:]):
483         (-[DOMCSSRuleList dealloc]):
484         (-[DOMCSSRuleList finalize]):
485         (-[DOMCSSRuleList _ruleList]):
486         (-[DOMCSSRuleList _initWithRuleList:]):
487         (-[DOMCSSRule dealloc]):
488         (-[DOMCSSRule finalize]):
489         (-[DOMCSSRule _rule]):
490         (-[DOMCSSRule _initWithRule:]):
491         (-[DOMCSSStyleRule _styleRule]):
492         (-[DOMCSSMediaRule _mediaRule]):
493         (-[DOMCSSFontFaceRule _fontFaceRule]):
494         (-[DOMCSSPageRule _pageRule]):
495         (-[DOMCSSImportRule _importRule]):
496         (-[DOMCSSCharsetRule _importRule]):
497         (-[DOMCSSStyleDeclaration dealloc]):
498         (-[DOMCSSStyleDeclaration finalize]):
499         (-[DOMCSSStyleDeclaration _initWithStyleDeclaration:]):
500         (-[DOMCSSStyleDeclaration _styleDeclaration]):
501         (-[DOMCSSValue dealloc]):
502         (-[DOMCSSValue finalize]):
503         (-[DOMCSSValue _value]):
504         (-[DOMCSSValue _initWithValue:]):
505         (-[DOMCSSPrimitiveValue _primitiveValue]):
506         (-[DOMCSSValueList _valueList]):
507         (getWrapperForRGB):
508         (setWrapperForRGB):
509         (removeWrapperForRGB):
510         (-[DOMRGBColor _initWithRGB:]):
511         (-[DOMRect dealloc]):
512         (-[DOMRect finalize]):
513         (-[DOMRect _rect]):
514         (-[DOMRect _initWithRect:]):
515         (-[DOMCounter dealloc]):
516         (-[DOMCounter _counter]):
517         (-[DOMCounter _initWithCounter:]):
518         (-[DOMObject sheet]):
519         * bindings/objc/DOMHTML.mm:
520         (-[DOMHTMLCollection dealloc]):
521         (-[DOMHTMLCollection finalize]):
522         (-[DOMHTMLCollection _collection]):
523         (-[DOMHTMLCollection _initWithCollection:]):
524         (-[DOMHTMLOptionsCollection dealloc]):
525         (-[DOMHTMLOptionsCollection finalize]):
526         (-[DOMHTMLOptionsCollection _initWithOptionsCollection:]):
527         (-[DOMHTMLOptionsCollection _optionsCollection]):
528         (+[DOMHTMLElement _elementWith:]):
529         (-[DOMHTMLElement _HTMLElement]):
530         (-[DOMHTMLDocument _HTMLDocument]):
531         (-[DOMHTMLHtmlElement _HTMLHtmlElement]):
532         (-[DOMHTMLHeadElement _headElement]):
533         (-[DOMHTMLLinkElement _linkElement]):
534         (-[DOMHTMLTitleElement _titleElement]):
535         (-[DOMHTMLMetaElement _metaElement]):
536         (-[DOMHTMLBaseElement _baseElement]):
537         (-[DOMHTMLStyleElement _styleElement]):
538         (-[DOMHTMLBodyElement _bodyElement]):
539         (-[DOMHTMLFormElement _formElement]):
540         (+[DOMHTMLFormElement _formElementWith:]):
541         (-[DOMHTMLIsIndexElement _isIndexElement]):
542         (-[DOMHTMLSelectElement _selectElement]):
543         (-[DOMHTMLOptGroupElement _optGroupElement]):
544         (-[DOMHTMLOptionElement _optionElement]):
545         (-[DOMHTMLInputElement _inputElement]):
546         (-[DOMHTMLTextAreaElement _textAreaElement]):
547         (-[DOMHTMLButtonElement _buttonElement]):
548         (-[DOMHTMLLabelElement _labelElement]):
549         (-[DOMHTMLLabelElement form]):
550         (-[DOMHTMLFieldSetElement _fieldSetElement]):
551         (-[DOMHTMLLegendElement _legendElement]):
552         (-[DOMHTMLUListElement _uListElement]):
553         (-[DOMHTMLOListElement _oListElement]):
554         (-[DOMHTMLDListElement _dListElement]):
555         (-[DOMHTMLDirectoryElement _directoryListElement]):
556         (-[DOMHTMLMenuElement _menuListElement]):
557         (-[DOMHTMLLIElement _liElement]):
558         (-[DOMHTMLQuoteElement _quoteElement]):
559         (-[DOMHTMLDivElement _divElement]):
560         (-[DOMHTMLParagraphElement _paragraphElement]):
561         (-[DOMHTMLHeadingElement _headingElement]):
562         (-[DOMHTMLPreElement _preElement]):
563         (-[DOMHTMLBRElement _BRElement]):
564         (-[DOMHTMLBaseFontElement _baseFontElement]):
565         (-[DOMHTMLFontElement _fontElement]):
566         (-[DOMHTMLHRElement _HRElement]):
567         (-[DOMHTMLModElement _modElement]):
568         (-[DOMHTMLAnchorElement _anchorElement]):
569         (-[DOMHTMLImageElement _imageElement]):
570         (-[DOMHTMLObjectElement _objectElement]):
571         (-[DOMHTMLParamElement _paramElement]):
572         (-[DOMHTMLMapElement _mapElement]):
573         (-[DOMHTMLAreaElement _areaElement]):
574         (-[DOMHTMLScriptElement _scriptElement]):
575         (+[DOMHTMLTableCaptionElement _tableCaptionElementWith:]):
576         (-[DOMHTMLTableCaptionElement _tableCaptionElement]):
577         (+[DOMHTMLTableSectionElement _tableSectionElementWith:]):
578         (-[DOMHTMLTableSectionElement _tableSectionElement]):
579         (-[DOMHTMLTableElement createTHead]):
580         (-[DOMHTMLTableElement createTFoot]):
581         (-[DOMHTMLTableElement createCaption]):
582         (-[DOMHTMLTableElement insertRow:]):
583         (+[DOMHTMLTableElement _tableElementWith:]):
584         (-[DOMHTMLTableElement _tableElement]):
585         (-[DOMHTMLTableColElement _tableColElement]):
586         (-[DOMHTMLTableRowElement _tableRowElement]):
587         (-[DOMHTMLTableRowElement insertCell:]):
588         (+[DOMHTMLTableCellElement _tableCellElementWith:]):
589         (-[DOMHTMLTableCellElement _tableCellElement]):
590         (-[DOMHTMLFrameSetElement _frameSetElement]):
591         (-[DOMHTMLFrameElement _frameElement]):
592         (-[DOMHTMLIFrameElement _IFrameElement]):
593         (-[DOMHTMLEmbedElement _embedElement]):
594         (viewForElement):
595         * bridge/mac/FrameMac.mm:
596         (WebCore::FrameMac::searchForLabelsAboveCell):
597         (WebCore::FrameMac::searchForLabelsBeforeElement):
598         (WebCore::FrameMac::createFrame):
599         (WebCore::FrameMac::passMouseDownEventToWidget):
600         (WebCore::FrameMac::passSubframeEventToSubframe):
601         (WebCore::FrameMac::passWheelEventToChildWidget):
602         (WebCore::FrameMac::fileWrapperForElement):
603         (WebCore::listParent):
604         (WebCore::FrameMac::attributedString):
605         (WebCore::FrameMac::shouldBeginEditing):
606         (WebCore::FrameMac::shouldEndEditing):
607         (WebCore::FrameMac::setMarkedTextRange):
608         * dom/Document.cpp:
609         * dom/xml_tokenizer.cpp:
610         * html/HTMLBaseElement.cpp: Added.
611         (WebCore::HTMLBaseElement::removedFromDocument):
612         (WebCore::HTMLBaseElement::process):
613         * html/HTMLBaseElement.h: Added.
614         * html/HTMLDocument.cpp:
615         * html/HTMLElementFactory.cpp:
616         * html/HTMLLinkElement.cpp: Added.
617         (WebCore::HTMLLinkElement::HTMLLinkElement):
618         (WebCore::HTMLLinkElement::process):
619         * html/HTMLLinkElement.h: Added.
620         * html/HTMLMetaElement.cpp: Added.
621         (WebCore::HTMLMetaElement::HTMLMetaElement):
622         (WebCore::HTMLMetaElement::parseMappedAttribute):
623         (WebCore::HTMLMetaElement::process):
624         (WebCore::HTMLMetaElement::setContent):
625         (WebCore::HTMLMetaElement::setHttpEquiv):
626         (WebCore::HTMLMetaElement::setName):
627         * html/HTMLMetaElement.h: Added.
628         * html/HTMLParser.cpp:
629         * html/HTMLScriptElement.cpp: Added.
630         (WebCore::HTMLScriptElement::HTMLScriptElement):
631         (WebCore::HTMLScriptElement::parseMappedAttribute):
632         (WebCore::HTMLScriptElement::evaluateScript):
633         * html/HTMLScriptElement.h: Added.
634         * html/HTMLStyleElement.cpp: Added.
635         (WebCore::HTMLStyleElement::HTMLStyleElement):
636         * html/HTMLStyleElement.h: Added.
637         * html/HTMLTitleElement.cpp: Added.
638         (WebCore::HTMLTitleElement::HTMLTitleElement):
639         (WebCore::HTMLTitleElement::text):
640         (WebCore::HTMLTitleElement::setText):
641         * html/HTMLTitleElement.h: Added.
642         * html/html_headimpl.cpp: Removed.
643         * html/html_headimpl.h: Removed.
644         * loader/CachedCSSStyleSheet.h:
645         * rendering/RenderTableCell.cpp:
646         (WebCore::RenderTableCell::updateFromElement):
647         * rendering/RenderTableCol.cpp:
648         (WebCore::RenderTableCol::updateFromElement):
649
650 2006-05-12  Eric Seidel  <eseidel@apple.com>
651
652         Reviewed by beth.
653
654         Split out html_tableimpl.* into multiple files (one per class)
655         http://bugzilla.opendarwin.org/show_bug.cgi?id=8873
656
657         * WebCore.xcodeproj/project.pbxproj:
658         * html/HTMLTableCaptionElement.cpp: Added.
659         (WebCore::HTMLTableCaptionElement::HTMLTableCaptionElement):
660         * html/HTMLTableCaptionElement.h: Added.
661         * html/HTMLTableCellElement.cpp: Added.
662         (WebCore::HTMLTableCellElement::HTMLTableCellElement):
663         * html/HTMLTableCellElement.h: Added.
664         * html/HTMLTableColElement.cpp: Added.
665         (WebCore::HTMLTableColElement::HTMLTableColElement):
666         (WebCore::HTMLTableColElement::endTagRequirement):
667         (WebCore::HTMLTableColElement::tagPriority):
668         (WebCore::HTMLTableColElement::checkDTD):
669         * html/HTMLTableColElement.h: Added.
670         * html/HTMLTableElement.cpp: Added.
671         (WebCore::HTMLTableElement::HTMLTableElement):
672         (WebCore::HTMLTableElement::setCaption):
673         (WebCore::HTMLTableElement::setTHead):
674         (WebCore::HTMLTableElement::setTFoot):
675         (WebCore::HTMLTableElement::setTBody):
676         (WebCore::HTMLTableElement::createTHead):
677         (WebCore::HTMLTableElement::deleteTHead):
678         (WebCore::HTMLTableElement::createTFoot):
679         (WebCore::HTMLTableElement::deleteTFoot):
680         (WebCore::HTMLTableElement::createCaption):
681         (WebCore::HTMLTableElement::deleteCaption):
682         (WebCore::HTMLTableElement::insertRow):
683         (WebCore::HTMLTableElement::deleteRow):
684         (WebCore::HTMLTableElement::addChild):
685         (WebCore::HTMLTableElement::parseMappedAttribute):
686         (WebCore::HTMLTableElement::attach):
687         * html/HTMLTableElement.h: Added.
688         * html/HTMLTablePartElement.cpp: Added.
689         (WebCore::HTMLTablePartElement::parseMappedAttribute):
690         * html/HTMLTablePartElement.h: Added.
691         * html/HTMLTableRowElement.cpp: Added.
692         (WebCore::HTMLTableRowElement::HTMLTableRowElement):
693         (WebCore::HTMLTableRowElement::rowIndex):
694         * html/HTMLTableRowElement.h: Added.
695         * html/HTMLTableSectionElement.cpp: Added.
696         (WebCore::HTMLTableSectionElement::insertRow):
697         * html/HTMLTableSectionElement.h: Added.
698         * html/html_tableimpl.cpp: Removed.
699         * html/html_tableimpl.h: Removed.
700
701 2006-05-10  Eric Seidel  <eseidel@apple.com>
702
703         Reviewed by mjs & adele.
704
705         Split html_objectimpl.* into multiple files (one per class)
706         http://bugzilla.opendarwin.org/show_bug.cgi?id=8836
707
708         * WebCore.xcodeproj/project.pbxproj:
709         * bindings/js/kjs_dom.cpp:
710         (KJS::DOMNamedNodeMap::lengthGetter):
711         (KJS::DOMNamedNodeMap::indexGetter):
712         (KJS::DOMNamedNodeMap::nameGetter):
713         (KJS::DOMNamedNodeMapProtoFunc::callAsFunction):
714         (KJS::getRuntimeObject):
715         * bindings/js/kjs_html.cpp:
716         * html/HTMLAppletElement.cpp: Added.
717         * html/HTMLAppletElement.h: Added.
718         * html/HTMLElementFactory.cpp:
719         * html/HTMLEmbedElement.cpp: Added.
720         (WebCore::HTMLEmbedElement::HTMLEmbedElement):
721         (WebCore::HTMLEmbedElement::getInstance):
722         (WebCore::HTMLEmbedElement::parseMappedAttribute):
723         * html/HTMLEmbedElement.h: Added.
724         * html/HTMLNameCollection.cpp:
725         (WebCore::HTMLNameCollection::traverseNextItem):
726         * html/HTMLObjectElement.cpp: Added.
727         (WebCore::HTMLObjectElement::getInstance):
728         (WebCore::HTMLObjectElement::form):
729         (WebCore::HTMLObjectElement::parseMappedAttribute):
730         (WebCore::HTMLObjectElement::updateDocNamedItem):
731         * html/HTMLObjectElement.h: Added.
732         * html/HTMLParamElement.cpp: Added.
733         * html/HTMLParamElement.h: Added.
734         * html/HTMLParser.cpp:
735         * html/HTMLPlugInElement.cpp: Added.
736         * html/HTMLPlugInElement.h: Added.
737         * html/html_objectimpl.cpp: Removed.
738         * html/html_objectimpl.h: Removed.
739         * page/Frame.cpp:
740         (WebCore::Frame::handleFallbackContent):
741         * rendering/RenderApplet.cpp:
742         * rendering/render_frames.cpp:
743         (WebCore::RenderPartObject::updateWidget):
744
745 2006-05-12  Darin Adler  <darin@apple.com>
746
747         Reviewed by Adele.
748
749         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8521
750           crash bringing up context menu with CSS generated content
751
752         * bridge/mac/FrameMac.mm: (WebCore::FrameMac::sendContextMenuEvent):
753         Added a null check.
754
755         * manual-tests/context-click-generated-content.html: Added.
756
757 2006-05-12  Darin Adler  <darin@apple.com>
758
759         Reviewed by Adele.
760
761         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8715
762           REGRESSION: Caret to the right of an image is a big black rectangle.
763
764         * rendering/RenderBox.cpp: (WebCore::RenderBox::caretRect): Move caret to the
765         right side of the rect when the offset is non-zero, rather than expanding it.
766
767         * manual-tests/caret-image.html: Added.
768
769 2006-05-12  Mitz Pettel  <opendarwin.org@mitzpettel.com>
770
771         Reviewed and landed by Anders.
772         
773         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8866
774           REGRESSION: Incorrect caret position in RTL text
775
776         Test: fast/text/international/rtl-caret.html
777
778         * rendering/InlineTextBox.cpp:
779         (WebCore::InlineTextBox::positionForOffset): Added missing m_toAdd argument.
780
781 2006-05-12  David Hyatt  <hyatt@apple.com>
782
783         Bug 8864. Lift WebCoreTextStyle up into the API (as TextStyle).
784
785         Reviewed by mjs
786
787         * platform/Font.cpp:
788         (WebCore::m_finalRoundingWidth):
789         (WebCore::WidthIterator::advance):
790         (WebCore::Font::width):
791         (WebCore::Font::drawSimpleText):
792         (WebCore::Font::drawText):
793         (WebCore::Font::floatWidth):
794         (WebCore::Font::floatWidthForSimpleText):
795         * platform/Font.h:
796         (WebCore::TextStyle::m_attemptFontSubstitution):
797         (WebCore::TextStyle::tabWidth):
798         (WebCore::TextStyle::xPos):
799         (WebCore::TextStyle::padding):
800         (WebCore::TextStyle::rtl):
801         (WebCore::TextStyle::ltr):
802         (WebCore::TextStyle::directionalOverride):
803         (WebCore::TextStyle::applyRunRounding):
804         (WebCore::TextStyle::applyWordRounding):
805         (WebCore::TextStyle::attemptFontSubstitution):
806         (WebCore::Font::operator==):
807         * platform/GraphicsContext.cpp:
808         (WebCore::GraphicsContext::drawText):
809         (WebCore::GraphicsContext::drawHighlightForText):
810         * platform/GraphicsContext.h:
811         * platform/mac/FontMac.mm:
812         (WebCore::overrideLayoutOperation):
813         (WebCore::ATSULayoutParameters::initialize):
814         (WebCore::Font::selectionRectForText):
815         (WebCore::Font::drawComplexText):
816         (WebCore::Font::floatWidthForComplexText):
817         (WebCore::Font::offsetForPosition):
818         * rendering/InlineTextBox.cpp:
819         (WebCore::InlineTextBox::selectionRect):
820         (WebCore::InlineTextBox::paint):
821         (WebCore::InlineTextBox::paintSelection):
822         (WebCore::InlineTextBox::paintMarkedTextBackground):
823         (WebCore::InlineTextBox::paintTextMatchMarker):
824         (WebCore::InlineTextBox::offsetForPosition):
825         (WebCore::InlineTextBox::positionForOffset):
826         * rendering/RenderText.cpp:
827         (WebCore::RenderText::widthFromCache):
828         (WebCore::RenderText::calcMinMaxWidth):
829         (WebCore::RenderText::width):
830         * rendering/RenderTextField.cpp:
831         (WebCore::RenderTextField::calcMinMaxWidth):
832         * rendering/render_line.cpp:
833         (WebCore::EllipsisBox::paint):
834
835 2006-05-11  Alexey Proskuryakov  <ap@nypop.com>
836
837         Reviewed by Darin.
838
839         - http://bugzilla.opendarwin.org/show_bug.cgi?id=8770
840           XMLHttpRequest should strip CR/LF characters from the URL
841
842         Test: fast/loader/url-strip-cr-lf-tab.html
843
844         * platform/KURL.cpp:
845         (appendEscapingBadChars): Strip CR, LF and TAB, as Firefox and IE do.
846
847 2006-05-11  David Hyatt  <hyatt@apple.com>
848
849         Remove the misspelling drawing code from Font and FontData.  Implement it
850         natively in GraphicContext instead.
851
852         Reviewed by maciej
853
854         * platform/FontData.h:
855         * platform/GraphicsContext.cpp:
856         * platform/GraphicsContext.h:
857         * platform/cairo/GraphicsContextCairo.cpp:
858         (WebCore::GraphicsContext::drawLineForMisspelling):
859         * platform/mac/FontData.mm:
860         * platform/mac/FontMac.mm:
861         * platform/mac/GraphicsContextMac.mm:
862         (WebCore::GraphicsContext::drawLineForMisspelling):
863         * platform/win/FontWin.cpp:
864         * rendering/InlineTextBox.cpp:
865         (WebCore::InlineTextBox::paintSpellingMarker):
866
867 2006-05-11  David Hyatt  <hyatt@apple.com>
868
869         Remove drawLineForText from the Font API.  Implement it natively in
870         the two GraphicsContexts (CG and Cairo) instead.
871
872         Reviewed by maciej
873
874         * platform/Font.h:
875         * platform/FontData.h:
876         * platform/GraphicsContext.cpp:
877         * platform/GraphicsContext.h:
878         * platform/cairo/GraphicsContextCairo.cpp:
879         (WebCore::GraphicsContext::drawLineForText):
880         * platform/cg/GraphicsContextCG.cpp:
881         (WebCore::GraphicsContext::drawLineForText):
882         * platform/mac/FontData.mm:
883         * platform/mac/FontMac.mm:
884         * platform/win/FontWin.cpp:
885         (WebCore::Font::drawLineForText):
886         * rendering/InlineTextBox.cpp:
887         (WebCore::InlineTextBox::paintDecoration):
888         (WebCore::InlineTextBox::paintMarkedTextUnderline):
889         * rendering/render_line.cpp:
890         (WebCore::InlineFlowBox::paintDecorations):
891
892 2006-05-11  Steve Falkenburg  <sfalken@apple.com>
893
894         Reviewed by eric.
895
896         Fix last fix.
897
898         * dom/QualifiedName.h:
899         (WebCore::QualifiedName::QualifiedName):
900
901 2006-05-11  Steve Falkenburg  <sfalken@apple.com>
902
903         Reviewed by eric.
904
905         Fix crash on static constructors builds at exit due to qualified name default constructor not
906         initializing m_impl.
907
908         * dom/QualifiedName.cpp:
909         (WebCore::QualifiedName::deref):
910
911 2006-05-11  Mitz Pettel  <opendarwin.org@mitzpettel.com>
912
913         Reviewed by hyatt
914
915         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8851
916           REGRESSION: RTL text shifted to the right
917
918         Already covered by several tests in fast/text
919
920         * platform/Font.h:
921         (WebCore::TextRun::TextRun): Added length parameter.
922         * rendering/InlineTextBox.cpp: Pass the length to the TextRun constructor.
923         (WebCore::InlineTextBox::selectionRect):
924         (WebCore::InlineTextBox::paint):
925         (WebCore::InlineTextBox::paintSelection):
926         (WebCore::InlineTextBox::paintMarkedTextBackground):
927         (WebCore::InlineTextBox::paintTextMatchMarker):
928         (WebCore::InlineTextBox::offsetForPosition):
929         (WebCore::InlineTextBox::positionForOffset):
930         * rendering/RenderText.cpp:
931         (WebCore::RenderText::widthFromCache): Pass length and from instead of from and to
932         to the TextRun constructor.
933         (WebCore::RenderText::width): Ditto.
934
935 2006-05-11  David Hyatt  <hyatt@apple.com>
936
937         Fix a regression from the TextRun landing.  Delete the characters in
938         the adjustedRun, not the ones in the original run!
939
940         Reviewed by beth
941
942         * platform/mac/FontMac.mm:
943         (WebCore::Font::drawComplexText):
944
945 2006-05-10  Justin Garcia  <justin.garcia@apple.com>
946
947         Reviewed by thatcher, levi
948
949         * editing/ReplaceSelectionCommand.cpp:
950         (WebCore::ReplaceSelectionCommand::doApply):
951         Removed a use fragment.hasMoreThanOneBlock to decide if the paragraph containing the
952         position pasted into must be split to avoid block nesting.  We now split unnecessarily
953         some times, but the end merge cleans up for us.
954
955 2006-05-11  David Hyatt  <hyatt@apple.com>
956
957         This patch makes drawHighlightForText a completely cross-platform method
958         implemented by the GraphicsContext.  The platform-specific implementations
959         of the method in the Font class have been eliminated.
960
961         Reviewed by andersca
962
963         * platform/Font.h:
964         * platform/FontData.h:
965         Remove the drawHighlight methods.  Change the selectionRect method in
966         Font to return a FloatRect so that the GraphicsContext can do an accurate
967         fill.
968
969         * platform/GraphicsContext.cpp:
970         (WebCore::GraphicsContext::drawHighlightForText):
971         Implement the drawHighlightFunction in terms of the cross-platform
972         Font selectionRect functions and a new float-based fillRect graphics context
973         function.
974
975         * platform/GraphicsContext.h:
976         * platform/cairo/GraphicsContextCairo.cpp:
977         (WebCore::GraphicsContext::fillRect):
978         * platform/cg/GraphicsContextCG.cpp:
979         (WebCore::GraphicsContext::fillRect):
980         Add the new float-based fillRect function for Cairo and CG.
981
982         * platform/mac/FontData.mm:
983         (WebCore::CG_draw):
984         (WebCore::ATSU_draw):
985         Removed the CG and ATSU drawHighlight methods.  Remove the drawing of
986         the background from the deprecated draw methods (they'll be removed
987         soon).
988
989         * platform/mac/FontMac.mm:
990         (WebCore::Font::selectionRectForText):
991         * platform/win/FontWin.cpp:
992         (WebCore::Font::selectionRectForText):
993         Change selectionRectForText to return a FloatRect instead of an IntRect,
994         so that the GraphicsContext can do a precise fill.
995
996         * rendering/InlineTextBox.cpp:
997         (WebCore::InlineTextBox::selectionRect):
998         (WebCore::InlineTextBox::positionForOffset):
999         Modify the callers who expect an int-based selection rect so that they call
1000         enclosingIntRect.
1001
1002 2006-05-11  Darin Adler  <darin@apple.com>
1003
1004         Reviewed by Adele.
1005
1006         - http://bugzilla.opendarwin.org/show_bug.cgi?id=8743
1007           REGRESSION: focus() on input field selects all text within it
1008           (was: cannot select cities on British Rail reservation site)
1009
1010         Test: fast/forms/double-focus.html
1011
1012         * html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::focus):
1013         Changed to only call setFocusNode, select, and revealSelection
1014         if the element is not already focused. Also changed to use return
1015         a bit more rather than else.
1016
1017 2006-05-11  Darin Adler  <darin@apple.com>
1018
1019         Reviewed by Tim Hatcher (earlier version).
1020
1021         - http://bugzilla.opendarwin.org/show_bug.cgi?id=8821
1022           use the preprocessor for IDL files
1023
1024         * bindings/scripts/IDLParser.pm: Invoke the preprocessor via the "gcc"
1025         driver script, passing "-E" so we only preprocess, "-P" so we don't get
1026         "#line" directives, and "-x c++" so we handle both C and C++ comments.
1027         Removed the code to eliminate comments since the preprocessor handles that.
1028         * css/make-css-file-arrays.pl: This already invoked the preprocessor, but
1029         updated it to do the same way as above.
1030
1031 2006-05-11  Anders Carlsson  <acarlsson@apple.com>
1032
1033         Reviewed by Darin.
1034
1035         http://bugzilla.opendarwin.org/show_bug.cgi?id=7838
1036         Add support for mozilla-style node constructors as properties of the window object
1037         
1038         * DerivedSources.make:
1039         * WebCore.xcodeproj/project.pbxproj:
1040         Add new generated files.
1041         
1042         * bindings/js/JSCanvasRenderingContext2DBase.cpp:
1043         (WebCore::JSCanvasRenderingContext2DBaseProtoFunc::callAsFunction):
1044         * bindings/js/JSHTMLElementWrapperFactory.cpp:
1045         (WebCore::createJSWrapper):
1046         Specify the KJS namespace for JSHTMLElmement.
1047                 
1048         * bindings/js/kjs_dom.cpp:
1049         (KJS::toJS):
1050         Create a WebCore::JSHTMLDocument for document nodes. Also, create
1051         JSDocumentFragments for document fragments (instead of plain node objects).
1052         
1053         * bindings/js/kjs_html.cpp:
1054         (KJS::JSHTMLDocumentProtoFunc::callAsFunction):
1055         (KJS::JSHTMLDocument::JSHTMLDocument):
1056         (KJS::JSHTMLDocument::getOwnPropertySlot):
1057         Add a prototype for JSHTMLDocument and move all functions there.
1058         
1059         (KJS::JSHTMLElement::JSHTMLElement):
1060         (KJS::JSHTMLElement::getOwnPropertySlot):
1061         Update since JSHTMLElement now inherits from WebCore::JSHTMLElement.
1062         
1063         (KJS::JSHTMLElement::getValueProperty):
1064         (KJS::JSHTMLElement::putValueProperty):
1065         Remove title setter and getter. Those are autogenerated now.
1066         
1067         * bindings/js/kjs_html.h:
1068         (KJS::JSHTMLElement::):
1069         Inherit from WebCore::JSHTMLElement. Clarify the inheritance chain.
1070         
1071         * bindings/scripts/CodeGeneratorJS.pm:
1072         Always generate a prototype object, regardless of whether the object has any functions or
1073         constants.
1074         
1075         Use the type of generator attributes to determine what constructor to use. This is useful for
1076         the XMLDocument property in DOMWindow.idl, since that's just an alias for the Document constructor.
1077         
1078         * dom/DocumentFragment.idl: Added.        
1079         * html/HTMLDocument.idl: Added.
1080         * html/HTMLElement.idl: Added.
1081         
1082         * page/DOMWindow.idl:
1083         Add constructors for DocumentFragment, HTMLElement, HTMLDocument and XMLDocument. XMLDocument is just
1084         an alias for the Document constructor.
1085         
1086 2006-05-11  David Hyatt  <hyatt@apple.com>
1087
1088         Bug 8845.  Define a TextRun (similar to the old WebCoreTextRun) and
1089         make it the new API for Font and GraphicsContext when drawing/measuring
1090         text.
1091
1092         Reviewed by andersca
1093
1094         * platform/Font.cpp:
1095         (WebCore::m_finalRoundingWidth):
1096         (WebCore::WidthIterator::advance):
1097         (WebCore::WidthIterator::normalizeVoicingMarks):
1098         (WebCore::Font::width):
1099         (WebCore::Font::canUseGlyphCache):
1100         (WebCore::Font::drawSimpleText):
1101         (WebCore::Font::drawText):
1102         (WebCore::Font::floatWidth):
1103         (WebCore::Font::floatWidthForSimpleText):
1104         * platform/Font.h:
1105         (WebCore::TextRun::m_to):
1106         (WebCore::TextRun::operator[]):
1107         (WebCore::TextRun::data):
1108         (WebCore::TextRun::adjustFrom):
1109         (WebCore::TextRun::adjustTo):
1110         (WebCore::TextRun::characters):
1111         (WebCore::TextRun::length):
1112         (WebCore::TextRun::from):
1113         (WebCore::TextRun::to):
1114         * platform/GraphicsContext.cpp:
1115         (WebCore::GraphicsContext::drawText):
1116         (WebCore::GraphicsContext::drawHighlightForText):
1117         * platform/GraphicsContext.h:
1118         * platform/mac/FontMac.mm:
1119         (WebCore::addDirectionalOverride):
1120         (WebCore::overrideLayoutOperation):
1121         (WebCore::ATSULayoutParameters::initialize):
1122         (WebCore::Font::selectionRectForText):
1123         (WebCore::Font::drawComplexText):
1124         (WebCore::Font::drawHighlightForText):
1125         (WebCore::Font::floatWidthForComplexText):
1126         (WebCore::Font::checkSelectionPoint):
1127         * platform/win/FontWin.cpp:
1128         (WebCore::hackishExtentForString):
1129         (WebCore::Font::floatWidth):
1130         (WebCore::Font::drawText):
1131         (WebCore::Font::drawHighlightForText):
1132         (WebCore::Font::selectionRectForText):
1133         (WebCore::Font::checkSelectionPoint):
1134         * rendering/InlineTextBox.cpp:
1135         (WebCore::InlineTextBox::selectionRect):
1136         (WebCore::InlineTextBox::paint):
1137         (WebCore::InlineTextBox::paintSelection):
1138         (WebCore::InlineTextBox::paintMarkedTextBackground):
1139         (WebCore::InlineTextBox::paintTextMatchMarker):
1140         (WebCore::InlineTextBox::offsetForPosition):
1141         (WebCore::InlineTextBox::positionForOffset):
1142         * rendering/RenderBlock.cpp:
1143         (WebCore::stripTrailingSpace):
1144         * rendering/RenderFlexibleBox.cpp:
1145         (WebCore::RenderFlexibleBox::layoutVerticalBox):
1146         * rendering/RenderImage.cpp:
1147         (WebCore::RenderImage::imageChanged):
1148         (WebCore::RenderImage::paint):
1149         * rendering/RenderText.cpp:
1150         (WebCore::RenderText::cacheWidths):
1151         (WebCore::RenderText::widthFromCache):
1152         (WebCore::RenderText::trimmedMinMaxWidth):
1153         (WebCore::RenderText::calcMinMaxWidth):
1154         (WebCore::RenderText::width):
1155         * rendering/RenderTextField.cpp:
1156         (WebCore::RenderTextField::calcMinMaxWidth):
1157         * rendering/bidi.cpp:
1158         (WebCore::RenderBlock::tabWidth):
1159         (WebCore::RenderBlock::checkLinesForTextOverflow):
1160         * rendering/render_line.cpp:
1161         (WebCore::EllipsisBox::paint):
1162         * rendering/render_list.cpp:
1163         (WebCore::RenderListMarker::paint):
1164         (WebCore::RenderListMarker::calcMinMaxWidth):
1165         (WebCore::RenderListMarker::getRelativeMarkerRect):
1166
1167 2006-05-10  Justin Garcia  <justin.garcia@apple.com>
1168
1169         Reviewed by darin
1170
1171         * editing/ReplaceSelectionCommand.cpp:
1172         (WebCore::ReplaceSelectionCommand::doApply):
1173         Removed the code to find out if we must later add smart replace whitespace.  We can 
1174         wait until we've done the insertion to figure it out, and the position sampled (startPos)
1175         to make the decision about trailing whitespace was wrong.
1176         Changed the order that work is done during a paste: 1) Insert everything 2) Do one of
1177         the following: a) handle a trailing interchange newline, b) uncollapse the last incoming
1178         br if it has been collapsed because of quirks mode, c) do an end merge 3) Add smart replace
1179         whitespace (2 and 3 were reversed because the end merge must happen before we can know
1180         whether or not we need to add a trailing space).
1181         Don't do an end merge if the last node inserted was a br because the end merge will 
1182         clobber it.
1183         
1184         (WebCore::ReplaceSelectionCommand::removeEndBRIfNeeded):
1185         brs where [br, 0] is at the end of a block and not at the start of a paragraph
1186         are the ones that are collapsed because of quirks mode.
1187
1188 2006-05-10  David Hyatt  <hyatt@apple.com>
1189
1190         Rename isSpace to treatAsSpace.  Move it and the rounding hack function into
1191         Font and make them static methods (inlined in the header).  Make the rounding
1192         hack character table a static member as well.  Remove the redundant space/rounding
1193         functions from FontData.mm.
1194
1195         Reviewed by darin
1196
1197         * platform/Font.cpp:
1198         (WebCore::):
1199         (WebCore::m_finalRoundingWidth):
1200         (WebCore::WidthIterator::advance):
1201         * platform/Font.h:
1202         (WebCore::Font::treatAsSpace):
1203         (WebCore::Font::isRoundingHackCharacter):
1204         * platform/mac/FontData.mm:
1205         (WebCore::overrideLayoutOperation):
1206         (WebCore::createATSULayoutParameters):
1207         (WebCore::initializeWidthIterator):
1208         (WebCore::advanceWidthIterator):
1209         * platform/mac/FontMac.mm:
1210         (WebCore::overrideLayoutOperation):
1211         (WebCore::ATSULayoutParameters::initialize):
1212
1213 2006-05-10  Darin Adler  <darin@apple.com>
1214
1215         * WebCore: Removed an extra WebCore subtree that somehow got checked in.
1216
1217 2006-05-10  David Carson <dacarson@gmail.com>
1218
1219         - Fix for bug 8833. Removed inline keyword from functions declared
1220         in .mm and .cpp files. inline function code needs to reside in the
1221         header file for the linker to find the code. 
1222         http://www.parashift.com/c++-faq-lite/inline-functions.html#faq-9.7
1223
1224         Reviewed by Darin, landed by Timothy.
1225
1226         * platform/Font.cpp:
1227         (WebCore::isSpace):
1228         * platform/mac/FontData.mm:
1229         (WebCore::widthForGlyph):
1230         (WebCore::isRoundingHackCharacter):
1231         (WebCore::glyphForCharacter):
1232
1233 2006-05-10  Mitz Pettel  <opendarwin.org@mitzpettel.com>
1234
1235         Reviewed and landed by Anders.
1236
1237         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8830
1238           REGRESSION: Words render on top of each other when fallback font is used
1239
1240         Already covered by several pixel tests in fast/text
1241
1242         * platform/Font.cpp:
1243         (WebCore::Font::drawSimpleText):
1244
1245 2006-05-10  David Hyatt  <hyatt@apple.com>
1246
1247         Fix for bug 8809, lift the Mac-specific WebTextRenderer code for
1248         drawing and measuring of runs up into the Font class.  The fast code
1249         path is in Font.cpp and is designed to be mostly cross-platform.  The
1250         slow code path is in FontMac.cpp and is Mac-specific.
1251
1252         Reviewed by darin
1253
1254         * WebCore.xcodeproj/project.pbxproj:
1255         * platform/Font.cpp:
1256         (WebCore::isSpace):
1257         (WebCore::):
1258         (WebCore::isRoundingHackCharacter):
1259         (WebCore::m_finalRoundingWidth):
1260         (WebCore::WidthIterator::advance):
1261         (WebCore::WidthIterator::normalizeVoicingMarks):
1262         (WebCore::Font::primaryFont):
1263         (WebCore::Font::setAlwaysUseComplexPath):
1264         (WebCore::Font::canUseGlyphCache):
1265         (WebCore::Font::drawSimpleText):
1266         (WebCore::Font::drawText):
1267         (WebCore::Font::floatWidth):
1268         (WebCore::Font::floatWidthForSimpleText):
1269         * platform/Font.h:
1270         * platform/FontData.h:
1271         (WebCore::FontData::platformData):
1272         * platform/GlyphBuffer.h: Added.
1273         (WebCore::GlyphBuffer::GlyphBuffer):
1274         (WebCore::GlyphBuffer::isEmpty):
1275         (WebCore::GlyphBuffer::size):
1276         (WebCore::GlyphBuffer::glyphs):
1277         (WebCore::GlyphBuffer::advances):
1278         (WebCore::GlyphBuffer::fontDataAt):
1279         (WebCore::GlyphBuffer::swap):
1280         (WebCore::GlyphBuffer::glyphAt):
1281         (WebCore::GlyphBuffer::advanceAt):
1282         (WebCore::GlyphBuffer::add):
1283         * platform/mac/FontData.mm:
1284         (WebCore::isSpace):
1285         (WebCore::isRoundingHackCharacter):
1286         (WebCore::FontData::widthForGlyph):
1287         (WebCore::m_ATSUMirrors):
1288         (WebCore::FontData::xHeight):
1289         (WebCore::FontData::smallCapsFontData):
1290         (WebCore::findSubstituteFont):
1291         (WebCore::rendererForAlternateFont):
1292         (WebCore::findSubstituteRenderer):
1293         (WebCore::FontData::findSubstituteFontData):
1294         (WebCore::computeWidthForSpace):
1295         (WebCore::FontData::updateGlyphMapEntry):
1296         (WebCore::extendGlyphMap):
1297         (WebCore::extendWidthMap):
1298         (WebCore::createATSULayoutParameters):
1299         (WebCore::FontData::glyphForCharacter):
1300         (WebCore::advanceWidthIterator):
1301         (WebCore::shouldUseATSU):
1302         * platform/mac/FontMac.mm:
1303         (WebCore::ATSULayoutParameters::m_padPerSpace):
1304         (WebCore::addDirectionalOverride):
1305         (WebCore::initializeATSUStyle):
1306         (WebCore::overrideLayoutOperation):
1307         (WebCore::ATSULayoutParameters::initialize):
1308         (WebCore::disposeATSULayoutParameters):
1309         (WebCore::Font::drawComplexText):
1310         (WebCore::Font::floatWidthForComplexText):
1311         (WebCore::Font::drawGlyphs):
1312         * platform/mac/WebCoreTextRenderer.mm:
1313         (WebCoreSetAlwaysUseATSU):
1314
1315 2006-05-10  Darin Adler  <darin@apple.com>
1316
1317         - another try at fixing the Windows build
1318
1319         * platform/win/FontWin.cpp: (WebCore::getFontData): Use characters()
1320         instead of unicode().
1321
1322 == Rolled over to ChangeLog-2006-05-10 ==