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