1 2006-05-13 Sam Weinig <sam.weinig@gmail.com>
3 Reviewed by Hyatt, landed by ap.
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()
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.
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
21 (WebCore::RenderBox::calcAbsoluteVerticalReplaced): ditto.
22 * rendering/RenderBox.h:
24 2006-05-12 David Hyatt <hyatt@apple.com>
26 Bug 8880, remove the remaining drawing/hit testing code from
32 (WebCore::m_finalRoundingWidth):
33 (WebCore::WidthIterator::advanceOneCharacter):
34 (WebCore::Font::selectionRectForText):
35 (WebCore::Font::selectionRectForSimpleText):
36 (WebCore::Font::offsetForPosition):
37 (WebCore::Font::offsetForPositionForSimpleText):
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):
48 2006-05-12 Kevin M. Ollivier <kevino@theolliviers.com>
54 * dom/Node.h: Add missing include for DeprecatedString.
56 2006-05-12 Mitz Pettel <opendarwin.org@mitzpettel.com>
60 - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8835
61 REGRESSION: Line moves but selection highlight stays behind
63 Test: fast/dynamic/selection-highlight-adjust.html
65 * rendering/render_line.cpp:
66 (WebCore::RootInlineBox::adjustPosition): Adjust m_selectionTop
67 and m_selectionBottom.
69 2006-05-12 Timothy Hatcher <timothy@apple.com>
73 http://bugzilla.opendarwin.org/show_bug.cgi?id=7156
74 Bug 7156: TinyMCE: Links are actually activated in editable area, not editable.
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.
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.
88 (WebCore::selectCursor):
90 2006-05-12 Eric Seidel <eseidel@apple.com>
94 Split out html_inlineimpl.* into separate files (one per class).
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:
124 2006-05-12 Eric Seidel <eseidel@apple.com>
130 * rendering/InlineFlowBox.cpp:
131 * rendering/RootInlineBox.cpp:
133 2006-05-12 Eric Seidel <eseidel@apple.com>
137 Split out render_line.* into separate files (one per class).
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.
166 2006-05-12 Eric Seidel <eseidel@apple.com>
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.
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.
198 2006-05-12 David Hyatt <hyatt@apple.com>
200 Bug 8877. Change form controls and the bridge entry points from the
201 Safari UI to use Font instead of FontData.
205 * bridge/mac/WebCoreStringTruncator.mm:
208 (+[WebCoreStringTruncator widthOfString:font:]):
209 (+[WebCoreStringTruncator clear]):
210 * kwq/KWQComboBox.mm:
211 (QComboBox::sizeHint):
212 * kwq/KWQLineEdit.mm:
213 (QLineEdit::sizeForCharacterWidth):
216 (groupLabelTextRenderer):
217 (QListBox::sizeForNumberOfLines):
218 (QListBox::clearCachedTextRenderers):
219 (-[KWQTableView drawRow:clipRect:]):
221 (WebCore::Font::drawSimpleText):
222 (WebCore::Font::drawText):
224 (WebCore::TextStyle::disableRoundingHacks):
225 (WebCore::TextStyle::setRTL):
226 * platform/FontData.h:
227 * platform/FontFallbackList.h:
228 * platform/FontPlatformData.h:
229 (WebCore::FontPlatformData::syntheticOblique):
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):
246 2006-05-12 Eric Seidel <eseidel@apple.com>
250 Move render_button to RenderButton.
251 Various small style cleanup.
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):
288 2006-05-12 Eric Seidel <eseidel@apple.com>
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
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):
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:]):
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:
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.
420 2006-05-12 Eric Seidel <eseidel@apple.com>
424 Split html_headimpl.* into separate files (one per class)
425 http://bugzilla.opendarwin.org/show_bug.cgi?id=8875
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]):
472 (removeWrapperForRGB):
473 (-[DOMRGBColor _initWithRGB:]):
474 (-[DOMRect dealloc]):
475 (-[DOMRect finalize]):
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]):
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):
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):
613 2006-05-12 Eric Seidel <eseidel@apple.com>
617 Split out html_tableimpl.* into multiple files (one per class)
618 http://bugzilla.opendarwin.org/show_bug.cgi?id=8873
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.
664 2006-05-10 Eric Seidel <eseidel@apple.com>
666 Reviewed by mjs & adele.
668 Split html_objectimpl.* into multiple files (one per class)
669 http://bugzilla.opendarwin.org/show_bug.cgi?id=8836
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.
703 (WebCore::Frame::handleFallbackContent):
704 * rendering/RenderApplet.cpp:
705 * rendering/render_frames.cpp:
706 (WebCore::RenderPartObject::updateWidget):
708 2006-05-12 Darin Adler <darin@apple.com>
712 - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8521
713 crash bringing up context menu with CSS generated content
715 * bridge/mac/FrameMac.mm: (WebCore::FrameMac::sendContextMenuEvent):
718 * manual-tests/context-click-generated-content.html: Added.
720 2006-05-12 Darin Adler <darin@apple.com>
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.
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.
730 * manual-tests/caret-image.html: Added.
732 2006-05-12 Mitz Pettel <opendarwin.org@mitzpettel.com>
734 Reviewed and landed by Anders.
736 - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8866
737 REGRESSION: Incorrect caret position in RTL text
739 Test: fast/text/international/rtl-caret.html
741 * rendering/InlineTextBox.cpp:
742 (WebCore::InlineTextBox::positionForOffset): Added missing m_toAdd argument.
744 2006-05-12 David Hyatt <hyatt@apple.com>
746 Bug 8864. Lift WebCoreTextStyle up into the API (as TextStyle).
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):
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):
798 2006-05-11 Alexey Proskuryakov <ap@nypop.com>
802 - http://bugzilla.opendarwin.org/show_bug.cgi?id=8770
803 XMLHttpRequest should strip CR/LF characters from the URL
805 Test: fast/loader/url-strip-cr-lf-tab.html
808 (appendEscapingBadChars): Strip CR, LF and TAB, as Firefox and IE do.
810 2006-05-11 David Hyatt <hyatt@apple.com>
812 Remove the misspelling drawing code from Font and FontData. Implement it
813 natively in GraphicContext instead.
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):
830 2006-05-11 David Hyatt <hyatt@apple.com>
832 Remove drawLineForText from the Font API. Implement it natively in
833 the two GraphicsContexts (CG and Cairo) instead.
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):
855 2006-05-11 Steve Falkenburg <sfalken@apple.com>
861 * dom/QualifiedName.h:
862 (WebCore::QualifiedName::QualifiedName):
864 2006-05-11 Steve Falkenburg <sfalken@apple.com>
868 Fix crash on static constructors builds at exit due to qualified name default constructor not
871 * dom/QualifiedName.cpp:
872 (WebCore::QualifiedName::deref):
874 2006-05-11 Mitz Pettel <opendarwin.org@mitzpettel.com>
878 - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8851
879 REGRESSION: RTL text shifted to the right
881 Already covered by several tests in fast/text
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.
898 2006-05-11 David Hyatt <hyatt@apple.com>
900 Fix a regression from the TextRun landing. Delete the characters in
901 the adjustedRun, not the ones in the original run!
905 * platform/mac/FontMac.mm:
906 (WebCore::Font::drawComplexText):
908 2006-05-10 Justin Garcia <justin.garcia@apple.com>
910 Reviewed by thatcher, levi
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.
918 2006-05-11 David Hyatt <hyatt@apple.com>
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.
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
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
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.
945 * platform/mac/FontData.mm:
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
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.
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
965 2006-05-11 Darin Adler <darin@apple.com>
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)
973 Test: fast/forms/double-focus.html
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.
980 2006-05-11 Darin Adler <darin@apple.com>
982 Reviewed by Tim Hatcher (earlier version).
984 - http://bugzilla.opendarwin.org/show_bug.cgi?id=8821
985 use the preprocessor for IDL files
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.
994 2006-05-11 Anders Carlsson <acarlsson@apple.com>
998 http://bugzilla.opendarwin.org/show_bug.cgi?id=7838
999 Add support for mozilla-style node constructors as properties of the window object
1001 * DerivedSources.make:
1002 * WebCore.xcodeproj/project.pbxproj:
1003 Add new generated files.
1005 * bindings/js/JSCanvasRenderingContext2DBase.cpp:
1006 (WebCore::JSCanvasRenderingContext2DBaseProtoFunc::callAsFunction):
1007 * bindings/js/JSHTMLElementWrapperFactory.cpp:
1008 (WebCore::createJSWrapper):
1009 Specify the KJS namespace for JSHTMLElmement.
1011 * bindings/js/kjs_dom.cpp:
1013 Create a WebCore::JSHTMLDocument for document nodes. Also, create
1014 JSDocumentFragments for document fragments (instead of plain node objects).
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.
1022 (KJS::JSHTMLElement::JSHTMLElement):
1023 (KJS::JSHTMLElement::getOwnPropertySlot):
1024 Update since JSHTMLElement now inherits from WebCore::JSHTMLElement.
1026 (KJS::JSHTMLElement::getValueProperty):
1027 (KJS::JSHTMLElement::putValueProperty):
1028 Remove title setter and getter. Those are autogenerated now.
1030 * bindings/js/kjs_html.h:
1031 (KJS::JSHTMLElement::):
1032 Inherit from WebCore::JSHTMLElement. Clarify the inheritance chain.
1034 * bindings/scripts/CodeGeneratorJS.pm:
1035 Always generate a prototype object, regardless of whether the object has any functions or
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.
1041 * dom/DocumentFragment.idl: Added.
1042 * html/HTMLDocument.idl: Added.
1043 * html/HTMLElement.idl: Added.
1045 * page/DOMWindow.idl:
1046 Add constructors for DocumentFragment, HTMLElement, HTMLDocument and XMLDocument. XMLDocument is just
1047 an alias for the Document constructor.
1049 2006-05-11 David Hyatt <hyatt@apple.com>
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
1055 Reviewed by andersca
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):
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):
1130 2006-05-10 Justin Garcia <justin.garcia@apple.com>
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
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.
1151 2006-05-10 David Hyatt <hyatt@apple.com>
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.
1160 * platform/Font.cpp:
1162 (WebCore::m_finalRoundingWidth):
1163 (WebCore::WidthIterator::advance):
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):
1176 2006-05-10 Darin Adler <darin@apple.com>
1178 * WebCore: Removed an extra WebCore subtree that somehow got checked in.
1180 2006-05-10 David Carson <dacarson@gmail.com>
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
1187 Reviewed by Darin, landed by Timothy.
1189 * platform/Font.cpp:
1191 * platform/mac/FontData.mm:
1192 (WebCore::widthForGlyph):
1193 (WebCore::isRoundingHackCharacter):
1194 (WebCore::glyphForCharacter):
1196 2006-05-10 Mitz Pettel <opendarwin.org@mitzpettel.com>
1198 Reviewed and landed by Anders.
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
1203 Already covered by several pixel tests in fast/text
1205 * platform/Font.cpp:
1206 (WebCore::Font::drawSimpleText):
1208 2006-05-10 David Hyatt <hyatt@apple.com>
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.
1217 * WebCore.xcodeproj/project.pbxproj:
1218 * platform/Font.cpp:
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):
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:
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):
1278 2006-05-10 Darin Adler <darin@apple.com>
1280 - another try at fixing the Windows build
1282 * platform/win/FontWin.cpp: (WebCore::getFontData): Use characters()
1283 instead of unicode().
1285 == Rolled over to ChangeLog-2006-05-10 ==