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