Timeline
Feb 11, 2004:
- 5:50 PM Changeset in webkit [6079] by
-
- 2 edits in trunk/WebCore
Fix for 3550005, 936 leaks when loading checkbox page of pain. Make sure to nuke the inline box
wrapper when detaching the RenderWidget.
- khtml/rendering/render_replaced.cpp: (RenderWidget::detach):
- 5:33 PM Changeset in webkit [6078] by
-
- 2 edits4 adds in trunk
Add some more polish to ensure the ypos estimate is right. Correct the clearing of images so that
their top margins do not get added in when they clear the float because of having a large width.
Reviewed by kocienda
- khtml/rendering/render_block.cpp: (khtml::RenderBlock::layoutBlockChildren):
- layout-tests/fast/block/margin-collapse/101-expected.txt: Added.
- layout-tests/fast/block/margin-collapse/101.html: Added.
- layout-tests/fast/block/margin-collapse/102-expected.txt: Added.
- layout-tests/fast/block/margin-collapse/102.html: Added.
- 4:49 PM Changeset in webkit [6077] by
-
- 2 adds in trunk/LayoutTests/fast/block/margin-collapse
Adding test of zeldman margin collapse bug.
- 4:47 PM Changeset in webkit [6076] by
-
- 2 edits in trunk/WebCore
Fix for 3556702, margin collapsing gets disabled when images spill out of the containing block.
Reviewed by kocienda
- khtml/rendering/render_block.cpp: (khtml::RenderBlock::layoutBlockChildren):
- 2:08 PM Changeset in webkit [6075] by
-
- 2 adds in trunk/LayoutTests/fast/table
Add layout test that dumps .rows and .cells
- 2:07 PM Changeset in webkit [6074] by
-
- 2 edits in trunk/WebCore
Fix the .rows and .cells arrays on tables by merging with the KHTML trunk. TH was being included
as a row instead of as a cell.
Reviewed by kocienda
- khtml/html/html_miscimpl.cpp: (HTMLCollectionImpl::calcLength): (HTMLCollectionImpl::getItem): (HTMLCollectionImpl::getNamedItem):
- 1:47 PM Changeset in webkit [6073] by
-
- 3 edits in trunk/WebCore
Remove my bogus refs of the elementSheet. Fixes 3554213 and 3555467.
- khtml/html/html_baseimpl.cpp: (HTMLBodyElementImpl::createLinkDecl):
- khtml/html/html_tableimpl.cpp: (HTMLTableElementImpl::additionalAttributeStyleDecl): (HTMLTableElementImpl::getSharedCellDecl):
- 1:45 PM Changeset in webkit [6072]
-
- 3 copies3 deletes in tags/JavaScriptCore-125~1
This commit was manufactured by cvs2svn to create tag
'JavaScriptCore-125~1'.
- 1:45 PM Changeset in webkit [6071] by
-
- 2 edits in branches/SUPanFeldspar-branch/JavaScriptCore
-rolled this change onto the SUPanFeldspar branch
2004-01-30 Richard Williamson <rjw@apple.com>
Fixed 3542044. Create KJS::String using UString constructor
instead of passing UTF8 string to char* constructor.
Reviewed by Darin.
- bindings/jni/jni_instance.cpp: (JavaInstance::stringValue):
- 1:37 PM Changeset in webkit [6070] by
-
- 2 adds in trunk/LayoutTests/fast/css-generated-content
Adding test for display:block generated content.
- 1:37 PM Changeset in webkit [6069] by
-
- 25 edits in trunk
Fix for 3556037, regression where display:block generated content didn't work.
Reviewed by kocienda
- khtml/rendering/render_block.cpp: (khtml::RenderBlock::setStyle): (khtml::RenderBlock::addChildToFlow): (khtml::RenderBlock::removeChild): (khtml::RenderBlock::renderName):
- khtml/rendering/render_container.cpp: (RenderContainer::insertChildNode): (RenderContainer::removeLeftoverAnonymousBoxes):
- khtml/rendering/render_inline.cpp: (RenderInline::splitFlow): (RenderInline::renderName):
- khtml/rendering/render_list.cpp: (RenderListItem::updateMarkerLocation):
- khtml/rendering/render_object.h: (khtml::RenderObject::isAnonymousBlock):
- layout-tests/css1/pseudo/firstletter-expected.txt:
- layout-tests/css1/pseudo/multiple_pseudo_elements-expected.txt:
- layout-tests/fast/css-generated-content/002-expected.txt:
- layout-tests/fast/css-generated-content/004-expected.txt:
- layout-tests/fast/css-generated-content/005-expected.txt:
- layout-tests/fast/css-generated-content/006-expected.txt:
- layout-tests/fast/css-generated-content/007-expected.txt:
- layout-tests/fast/css-generated-content/009-expected.txt:
- layout-tests/fast/css-generated-content/010-expected.txt:
- layout-tests/fast/selectors/039-expected.txt:
- layout-tests/fast/selectors/039b-expected.txt:
- layout-tests/fast/selectors/041-expected.txt:
- layout-tests/fast/selectors/042-expected.txt:
- layout-tests/fast/selectors/166a-expected.txt:
- layout-tests/fast/selectors/168-expected.txt:
- layout-tests/fast/selectors/168a-expected.txt:
- layout-tests/fast/selectors/169-expected.txt:
- layout-tests/fast/selectors/169a-expected.txt:
- layout-tests/fast/text/firstline/002-expected.txt:
- layout-tests/fast/text/firstline/003-expected.txt:
- 11:56 AM Changeset in webkit [6068] by
-
- 2 edits in trunk/WebCore
Reviewed by Richard.
- kwq/KWQTextCodec.mm: (KWQTextDecoder::convertLatin1): Fix off by one error.
- 11:52 AM Changeset in webkit [6067] by
-
- 29 edits in trunk/WebCore
Convert paint methods over to use a new PaintInfo struct. Eliminate the paintObject method.
Reviewed by kocienda
- khtml/rendering/render_block.cpp: (khtml::RenderBlock::paint): (khtml::RenderBlock::paintObject): (khtml::RenderBlock::paintFloats):
- khtml/rendering/render_block.h:
- khtml/rendering/render_box.cpp: (RenderBox::paint): (RenderBox::paintRootBoxDecorations): (RenderBox::paintBoxDecorations):
- khtml/rendering/render_box.h:
- khtml/rendering/render_br.h: (khtml::RenderBR::paint):
- khtml/rendering/render_canvas.cpp: (RenderCanvas::paint): (RenderCanvas::paintBoxDecorations):
- khtml/rendering/render_canvas.h:
- khtml/rendering/render_flow.cpp: (RenderFlow::paintLineBoxBackgroundBorder): (RenderFlow::paintLineBoxDecorations):
- khtml/rendering/render_flow.h:
- khtml/rendering/render_form.cpp: (RenderFieldset::paintBoxDecorations):
- khtml/rendering/render_form.h:
- khtml/rendering/render_image.cpp: (RenderImage::paint): (RenderImage::updateFromElement):
- khtml/rendering/render_image.h:
- khtml/rendering/render_inline.cpp: (RenderInline::paint):
- khtml/rendering/render_inline.h:
- khtml/rendering/render_layer.cpp: (RenderLayer::paintLayer):
- khtml/rendering/render_line.cpp: (InlineFlowBox::paintBackgroundAndBorder): (InlineFlowBox::paintDecorations):
- khtml/rendering/render_line.h: (khtml::InlineRunBox::paintBackgroundAndBorder): (khtml::InlineRunBox::paintDecorations):
- khtml/rendering/render_list.cpp: (RenderListItem::paint): (RenderListMarker::paint):
- khtml/rendering/render_list.h:
- khtml/rendering/render_object.cpp: (RenderObject::paint):
- khtml/rendering/render_object.h: (khtml::RenderObject::PaintInfo::PaintInfo): (khtml::RenderObject::paintBoxDecorations):
- khtml/rendering/render_replaced.cpp: (RenderReplaced::shouldPaint): (RenderWidget::paint):
- khtml/rendering/render_replaced.h:
- khtml/rendering/render_table.cpp: (RenderTable::paint): (RenderTable::paintBoxDecorations): (RenderTableSection::paint): (RenderTableCell::paint): (RenderTableCell::paintBoxDecorations):
- khtml/rendering/render_table.h:
- khtml/rendering/render_text.cpp: (RenderText::paint):
- khtml/rendering/render_text.h:
- 9:00 AM Changeset in webkit [6066] by
-
- 3 edits in trunk/WebCore
Reviewed by me
Removed include file I was considering checking, but
decided against. Of course, this dangling include
broke the build.
- kwq/KWQKHTMLPart.mm
- kwq/WebCoreBridge.mm
Feb 10, 2004:
- 8:56 PM Changeset in webkit [6065] by
-
- 17 edits in trunk
WebCore:
Reviewed by Hyatt
Several big changes.
EditSteps are now all EditCommands.
Smart pointer for Shared classes added to shared.h.
Some events, like text input events, are now coalesced.
"Undo typing" now implemented, even though the name is not in the menu yet.
Integer id's added to EditCommand and its subclasses.
A bunch of cleanup in the EditCommand classes.
- khtml/editing/htmlediting.cpp: (EditCommand::EditCommand): (EditCommand::~EditCommand): (EditCommand::commandID): (EditCommand::reapply): (EditCommand::beginApply): (EditCommand::endApply): (EditCommand::beginUnapply): (EditCommand::endUnapply): (EditCommand::beginReapply): (EditCommand::endReapply): (EditCommand::currentSelection): (EditCommand::coalesce): (EditCommand::groupForUndo): (EditCommand::groupForRedo): (EditCommand::moveToStartingSelection): (EditCommand::moveToEndingSelection): (EditCommand::name): (CompositeEditCommand::CompositeEditCommand): (CompositeEditCommand::~CompositeEditCommand): (CompositeEditCommand::unapply): (CompositeEditCommand::reapply): (CompositeEditCommand::applyCommand): (CompositeEditCommand::insertNodeBefore): (CompositeEditCommand::insertNodeAfter): (CompositeEditCommand::appendNode): (CompositeEditCommand::removeNode): (CompositeEditCommand::splitTextNode): (CompositeEditCommand::joinTextNodes): (CompositeEditCommand::insertText): (CompositeEditCommand::deleteText): (CompositeEditCommand::moveSelectionTo): (CompositeEditCommand::deleteSelection): (InsertNodeBeforeCommand::InsertNodeBeforeCommand): (InsertNodeBeforeCommand::~InsertNodeBeforeCommand): (InsertNodeBeforeCommand::apply): (InsertNodeBeforeCommand::unapply): (AppendNodeCommand::AppendNodeCommand): (AppendNodeCommand::~AppendNodeCommand): (AppendNodeCommand::apply): (AppendNodeCommand::unapply): (RemoveNodeCommand::RemoveNodeCommand): (RemoveNodeCommand::~RemoveNodeCommand): (RemoveNodeCommand::apply): (RemoveNodeCommand::unapply): (ModifyTextNodeCommand::ModifyTextNodeCommand): (ModifyTextNodeCommand::~ModifyTextNodeCommand): (ModifyTextNodeCommand::splitTextNode): (ModifyTextNodeCommand::joinTextNodes): (SplitTextNodeCommand::SplitTextNodeCommand): (SplitTextNodeCommand::~SplitTextNodeCommand): (SplitTextNodeCommand::apply): (SplitTextNodeCommand::unapply): (JoinTextNodesCommand::JoinTextNodesCommand): (JoinTextNodesCommand::~JoinTextNodesCommand): (JoinTextNodesCommand::apply): (JoinTextNodesCommand::unapply): (InsertTextCommand::InsertTextCommand): (InsertTextCommand::~InsertTextCommand): (InsertTextCommand::apply): (InsertTextCommand::unapply): (DeleteTextCommand::DeleteTextCommand): (DeleteTextCommand::~DeleteTextCommand): (DeleteTextCommand::apply): (DeleteTextCommand::unapply): (MoveSelectionToCommand::MoveSelectionToCommand): (MoveSelectionToCommand::~MoveSelectionToCommand): (MoveSelectionToCommand::commandID): (MoveSelectionToCommand::apply): (MoveSelectionToCommand::unapply): (DeleteSelectionCommand::DeleteSelectionCommand): (DeleteSelectionCommand::~DeleteSelectionCommand): (DeleteSelectionCommand::apply): (InputTextCommand::InputTextCommand): (InputTextCommand::~InputTextCommand): (InputTextCommand::commandID): (InputTextCommand::isLineBreak): (InputTextCommand::isSpace): (InputTextCommand::apply): (InputTextCommand::coalesce): (InputTextCommand::groupForUndo): (InputTextCommand::groupForRedo): (InputTextCommand::execute): (DeleteKeyCommand::DeleteKeyCommand): (DeleteKeyCommand::~DeleteKeyCommand): (DeleteKeyCommand::commandID): (DeleteKeyCommand::apply): (DeleteKeyCommand::groupForUndo): (DeleteKeyCommand::groupForRedo): (PasteHTMLCommand::PasteHTMLCommand): (PasteHTMLCommand::~PasteHTMLCommand): (PasteHTMLCommand::apply):
- khtml/editing/htmlediting.h: (khtml::): (khtml::EditCommand::): (khtml::EditCommand::document): (khtml::EditCommand::state): (khtml::EditCommand::setState): (khtml::SplitTextNodeCommand::joinState): (khtml::SplitTextNodeCommand::splitState): (khtml::JoinTextNodesCommand::joinState): (khtml::JoinTextNodesCommand::splitState):
- khtml/khtml_part.cpp: (KHTMLPart::openURL): (KHTMLPart::deleteSelection): (KHTMLPart::applyCommand): (KHTMLPart::undoEditing): (KHTMLPart::redoEditing): (KHTMLPart::pasteHTMLString):
- khtml/khtml_part.h:
- khtml/khtmlpart_p.h: (KHTMLPartPrivate::~KHTMLPartPrivate):
- khtml/misc/shared.h: (khtml::SharedPtr::SharedPtr): (khtml::SharedPtr::~SharedPtr): (khtml::SharedPtr::isEmpty): (khtml::SharedPtr::get): (khtml::SharedPtr::operator*): (khtml::SharedPtr::operator->): (khtml::SharedPtr::operator!): (khtml::SharedPtr::operator==): (khtml::::operator): (khtml::operator!=):
- khtml/xml/dom_elementimpl.cpp: (ElementImpl::defaultEventHandler):
- kwq/KWQKHTMLPart.h:
- kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::registerCommandForUndo): (KWQKHTMLPart::registerCommandForRedo): (KWQKHTMLPart::clearUndoRedoOperations):
- kwq/WebCoreBridge.h:
- kwq/WebCoreBridge.mm: (-[WebCoreBridge undoEditing:]): (-[WebCoreBridge redoEditing:]):
WebKit:
Reviewed by Hyatt
- WebCoreSupport.subproj/WebBridge.m: (-[WebBridge registerCommandForUndo]): Some cleanup. Cookie for events no longer needed. (-[WebBridge registerCommandForRedo]): Ditto. (-[WebBridge clearUndoRedoOperations]): Tells the Cocoa undo manager to clear steps targeted at the bridge.
- WebView.subproj/WebFrame.h: Declare undo manager accessor.
- WebView.subproj/WebFrame.m: (-[WebFramePrivate dealloc]): Release undo manager (-[WebFrame undoManager]): Allocate and return an undo manager. This helps undo in a browser to be per tab.
- WebView.subproj/WebFramePrivate.h: Declare undo manager ivar.
WebBrowser:
Reviewed by Hyatt
- BrowserDocument.h:
- BrowserDocument.m: (-[BrowserDocument undoManager]): Now calls on its main frame to provide an undo manager. This will allow us to do some necessary custom stuff in the future. For now, it enables undo to work in multiple tabs.
- 8:41 PM Changeset in webkit [6064] by
-
- 3 edits in trunk/WebCore
Eliminate the double-completion and double-parsing of KURLs for every single image request.
- khtml/misc/loader.cpp: (DocLoader::requestImage): (Cache::requestImage):
- khtml/misc/loader.h:
- 7:33 PM Changeset in webkit [6063] by
-
- 2 edits2 adds in trunk
Merged patch that fixes clear:both for floats. This patch comes from the KHTML tree.
- khtml/rendering/render_block.cpp: (khtml::RenderBlock::positionNewFloats):
- layout-tests/fast/block/float/029-expected.txt: Added.
- layout-tests/fast/block/float/029.html: Added.
- 5:44 PM Changeset in webkit [6062] by
-
- 2 edits in trunk/WebCore
Fix crasher in list code caused by incorrect style deallocation. Regression from the
arena changes for RenderStyles.
Reviewed by darin
- khtml/rendering/render_object.cpp: (RenderObject::remove): (RenderObject::arenaDelete):
- 4:02 PM Changeset in webkit [6061] by
-
- 2 edits in trunk/WebCore
Fix for osnews.com's wacky layout problem. Put back in the check for isEmpty.
Reviewed by darin
- khtml/html/htmltokenizer.cpp: (khtml::HTMLTokenizer::scriptHandler):
- 3:37 PM Changeset in webkit [6060] by
-
- 6 edits in trunk/WebCore
Fix for the bad background color on abcnews.com. Make cloning optionally drop the style declarations.
- khtml/html/html_elementimpl.cpp: (HTMLAttributeImpl::clone):
- khtml/html/html_elementimpl.h:
- khtml/html/htmlparser.cpp: (KHTMLParser::insertNode):
- khtml/xml/dom_elementimpl.cpp: (AttributeImpl::clone):
- khtml/xml/dom_elementimpl.h:
- 3:24 PM Changeset in webkit [6059] by
-
- 8 edits in trunk/WebCore
Fixed: <rdar://problem/3552545>: Cut, Paste and Delete must support Undo and Redo
Reviewed by kocienda.
- khtml/editing/htmlediting.cpp: (ModifyTextNodeStep::splitTextNode): ken's fix that fixes a problem with unapply (ModifyTextNodeStep::joinTextNodes): my fix that fixes a problem with unapply (PasteHTMLCommand::PasteHTMLCommand): new (PasteHTMLCommand::apply): moved from dom_docimpl.cpp and improved
- khtml/editing/htmlediting.h: (khtml::PasteHTMLCommand::~PasteHTMLCommand):
- khtml/khtml_part.cpp: (KHTMLPart::deleteSelection): new, create and applies a DeleteTextCommand (KHTMLPart::pasteHTMLString): new, create and applies a PasteHTMLCommand
- khtml/khtml_part.h:
- khtml/xml/dom_docimpl.cpp: moved paste code to htmlediting.cpp
- khtml/xml/dom_docimpl.h:
- kwq/WebCoreBridge.mm: (-[WebCoreBridge pasteHTMLString:]): call pasteHTMLString on the part instead of the bridge (-[WebCoreBridge deleteSelection]): call deleteSelection on the part instead of the bridge
- 2:03 PM Changeset in webkit [6058] by
-
- 18 edits in trunk/LayoutTests
Revised layout tests after the <hr> changes.
- 2:01 PM Changeset in webkit [6057] by
-
- 4 deletes in trunk/LayoutTests/fast/selectors
Remove bogus layout tests that we passed through sheer luck.
- 2:00 PM Changeset in webkit [6056] by
-
- 2 edits in trunk/WebCore
Fix crash on abcnews.com by adding isEmpty checks before dereferencing.
- khtml/html/htmltokenizer.cpp: (khtml::HTMLTokenizer::parseTag):
- 12:52 PM Changeset in webkit [6055] by
-
- 51 edits in trunk/WebCore
Improve attribute parsing of mapped attributes (that map to CSS properties) so that they can pull the
style declarations from a global cache.
Made RenderStyles be arena allocated as well.
Reviewed by darin
- khtml/css/css_valueimpl.cpp: (CSSImageValueImpl::CSSImageValueImpl): (CSSImageValueImpl::image):
- khtml/css/css_valueimpl.h:
- khtml/css/cssstyleselector.cpp: (khtml::CSSStyleSelector::initForStyleResolve): (khtml::CSSStyleSelector::styleForElement): (khtml::CSSStyleSelector::pseudoStyleForElement): (khtml::CSSStyleSelector::applyProperty):
- khtml/css/cssstyleselector.h:
- khtml/css/html4.css:
- khtml/css/quirks.css:
- khtml/dom/dom_element.cpp: (Element::style):
- khtml/dom/html_element.cpp:
- khtml/dom/html_element.h:
- khtml/html/html_baseimpl.cpp: (HTMLBodyElementImpl::HTMLBodyElementImpl): (HTMLBodyElementImpl::mapToEntry): (HTMLBodyElementImpl::parseHTMLAttribute): (HTMLBodyElementImpl::insertedIntoDocument): (HTMLFrameElementImpl::parseHTMLAttribute): (HTMLFrameSetElementImpl::parseHTMLAttribute): (HTMLIFrameElementImpl::mapToEntry): (HTMLIFrameElementImpl::parseHTMLAttribute):
- khtml/html/html_baseimpl.h:
- khtml/html/html_blockimpl.cpp: (HTMLDivElementImpl::mapToEntry): (HTMLDivElementImpl::parseHTMLAttribute): (HTMLHRElementImpl::mapToEntry): (HTMLHRElementImpl::parseHTMLAttribute): (HTMLParagraphElementImpl::mapToEntry): (HTMLParagraphElementImpl::parseHTMLAttribute): (HTMLMarqueeElementImpl::mapToEntry): (HTMLMarqueeElementImpl::parseHTMLAttribute): (HTMLLayerElementImpl::HTMLLayerElementImpl): (HTMLLayerElementImpl::id):
- khtml/html/html_blockimpl.h:
- khtml/html/html_documentimpl.cpp: (HTMLDocumentImpl::determineParseMode):
- khtml/html/html_documentimpl.h:
- khtml/html/html_elementimpl.cpp: (CSSMappedAttributeDeclarationImpl::~CSSMappedAttributeDeclarationImpl): (HTMLElementImpl::getMappedAttributeDecl): (HTMLElementImpl::setMappedAttributeDecl): (HTMLElementImpl::removeMappedAttributeDecl): (HTMLAttributeImpl::~HTMLAttributeImpl): (HTMLAttributeImpl::clone): (m_mappedAttributeCount): (HTMLNamedAttrMapImpl::clearAttributes): (HTMLElementImpl::HTMLElementImpl): (HTMLElementImpl::~HTMLElementImpl): (HTMLElementImpl::createAttribute): (HTMLElementImpl::createInlineStyleDecl): (HTMLElementImpl::attributeChanged): (HTMLElementImpl::mapToEntry): (HTMLElementImpl::parseHTMLAttribute): (HTMLElementImpl::additionalAttributeStyleDecl): (isHexDigit): (toHex): (HTMLElementImpl::addCSSProperty): (HTMLElementImpl::addCSSStringProperty): (HTMLElementImpl::addCSSImageProperty): (HTMLElementImpl::addCSSLength): (HTMLElementImpl::addHTMLColor): (HTMLElementImpl::createMappedDecl): (HTMLElementImpl::addHTMLAlignment): (HTMLElementImpl::setContentEditable):
- khtml/html/html_elementimpl.h: (DOM::): (DOM::CSSMappedAttributeDeclarationImpl::CSSMappedAttributeDeclarationImpl): (DOM::CSSMappedAttributeDeclarationImpl::setMappedState): (DOM::HTMLAttributeImpl::HTMLAttributeImpl): (DOM::HTMLAttributeImpl::decl): (DOM::HTMLAttributeImpl::setDecl): (DOM::HTMLNamedAttrMapImpl::hasMappedAttributes): (DOM::HTMLNamedAttrMapImpl::declRemoved): (DOM::HTMLNamedAttrMapImpl::declAdded): (DOM::HTMLNamedAttrMapImpl::attributeItem): (DOM::HTMLElementImpl::hasMappedAttributes): (DOM::HTMLElementImpl::htmlAttributes): (DOM::HTMLElementImpl::inlineStyleDecl):
- khtml/html/html_formimpl.cpp: (HTMLFormElementImpl::parseHTMLAttribute): (HTMLGenericFormElementImpl::parseHTMLAttribute): (HTMLButtonElementImpl::parseHTMLAttribute): (HTMLInputElementImpl::setType): (HTMLInputElementImpl::mapToEntry): (HTMLInputElementImpl::parseHTMLAttribute): (HTMLInputElementImpl::attach): (HTMLLabelElementImpl::parseHTMLAttribute): (HTMLSelectElementImpl::parseHTMLAttribute): (HTMLKeygenElementImpl::parseHTMLAttribute): (HTMLOptGroupElementImpl::parseHTMLAttribute): (HTMLOptionElementImpl::parseHTMLAttribute): (HTMLTextAreaElementImpl::parseHTMLAttribute): (HTMLIsIndexElementImpl::parseHTMLAttribute):
- khtml/html/html_formimpl.h:
- khtml/html/html_headimpl.cpp: (HTMLBaseElementImpl::parseHTMLAttribute): (HTMLLinkElementImpl::parseHTMLAttribute): (HTMLMetaElementImpl::parseHTMLAttribute): (HTMLStyleElementImpl::parseHTMLAttribute):
- khtml/html/html_headimpl.h:
- khtml/html/html_imageimpl.cpp: (HTMLImageElementImpl::mapToEntry): (HTMLImageElementImpl::parseHTMLAttribute): (HTMLMapElementImpl::parseHTMLAttribute): (HTMLAreaElementImpl::parseHTMLAttribute):
- khtml/html/html_imageimpl.h:
- khtml/html/html_inlineimpl.cpp: (HTMLAnchorElementImpl::parseHTMLAttribute): (HTMLBRElementImpl::mapToEntry): (HTMLBRElementImpl::parseHTMLAttribute): (HTMLFontElementImpl::mapToEntry): (HTMLFontElementImpl::parseHTMLAttribute):
- khtml/html/html_inlineimpl.h:
- khtml/html/html_listimpl.cpp: (HTMLUListElementImpl::mapToEntry): (HTMLUListElementImpl::parseHTMLAttribute): (HTMLOListElementImpl::mapToEntry): (HTMLOListElementImpl::parseHTMLAttribute): (HTMLLIElementImpl::mapToEntry): (HTMLLIElementImpl::parseHTMLAttribute):
- khtml/html/html_listimpl.h:
- khtml/html/html_objectimpl.cpp: (HTMLAppletElementImpl::mapToEntry): (HTMLAppletElementImpl::parseHTMLAttribute): (HTMLEmbedElementImpl::HTMLEmbedElementImpl): (HTMLEmbedElementImpl::mapToEntry): (HTMLEmbedElementImpl::parseHTMLAttribute): (HTMLEmbedElementImpl::attach): (HTMLObjectElementImpl::mapToEntry): (HTMLObjectElementImpl::parseHTMLAttribute): (HTMLParamElementImpl::parseHTMLAttribute):
- khtml/html/html_objectimpl.h:
- khtml/html/html_tableimpl.cpp: (HTMLTableElementImpl::HTMLTableElementImpl): (HTMLTableElementImpl::~HTMLTableElementImpl): (HTMLTableElementImpl::mapToEntry): (HTMLTableElementImpl::parseHTMLAttribute): (HTMLTableElementImpl::additionalAttributeStyleDecl): (HTMLTableElementImpl::getSharedCellDecl): (HTMLTableElementImpl::attach): (HTMLTablePartElementImpl::mapToEntry): (HTMLTablePartElementImpl::parseHTMLAttribute): (HTMLTableCellElementImpl::mapToEntry): (HTMLTableCellElementImpl::parseHTMLAttribute): (HTMLTableCellElementImpl::additionalAttributeStyleDecl): (HTMLTableCellElementImpl::attach): (HTMLTableColElementImpl::mapToEntry): (HTMLTableColElementImpl::parseHTMLAttribute): (HTMLTableCaptionElementImpl::mapToEntry): (HTMLTableCaptionElementImpl::parseHTMLAttribute):
- khtml/html/html_tableimpl.h:
- khtml/html/htmlparser.cpp: (KHTMLParser::insertNode): (KHTMLParser::getElement):
- khtml/html/htmltokenizer.h: (khtml::Token::addAttribute):
- khtml/misc/htmlattrs.c: (hash_attr): (findAttr):
- khtml/misc/htmlattrs.h:
- khtml/misc/htmlattrs.in:
- khtml/rendering/render_block.cpp: (khtml::RenderBlock::setStyle): (khtml::RenderBlock::updateFirstLetter):
- khtml/rendering/render_container.cpp: (RenderContainer::addChild): (RenderContainer::updatePseudoChild):
- khtml/rendering/render_frames.cpp: (RenderPartObject::updateWidget):
- khtml/rendering/render_inline.cpp: (RenderInline::addChildToFlow):
- khtml/rendering/render_list.cpp: (RenderListItem::setStyle):
- khtml/rendering/render_object.cpp: (RenderObject::~RenderObject): (RenderObject::createAnonymousBlock): (RenderObject::setStyle): (RenderObject::remove):
- khtml/rendering/render_style.cpp: (throw): (RenderStyle::operator delete): (RenderStyle::arenaDelete): (RenderStyle::RenderStyle): (RenderStyle::~RenderStyle): (RenderStyle::addPseudoStyle):
- khtml/rendering/render_style.h: (khtml::RenderStyle::ref): (khtml::RenderStyle::deref): (khtml::RenderStyle::hasOneRef): (khtml::RenderStyle::refCount):
- khtml/rendering/render_table.cpp: (RenderTable::addChild): (RenderTableSection::addChild): (RenderTableRow::addChild):
- khtml/xml/dom_docimpl.cpp: (DocumentImpl::DocumentImpl): (DocumentImpl::createAttribute): (DocumentImpl::recalcStyle):
- khtml/xml/dom_docimpl.h:
- khtml/xml/dom_elementimpl.cpp: (AttributeImpl::clone): (AttrImpl::setValue): (AttrImpl::cloneNode): (ElementImpl::setAttribute): (ElementImpl::createAttribute): (ElementImpl::setAttributeMap): (ElementImpl::recalcStyle): (NamedAttrMapImpl::~NamedAttrMapImpl): (NamedAttrMapImpl::operator=): (NamedAttrMapImpl::addAttribute): (NamedAttrMapImpl::removeAttribute):
- khtml/xml/dom_elementimpl.h: (DOM::AttributeImpl::~AttributeImpl): (DOM::ElementImpl::attributeChanged): (DOM::NamedAttrMapImpl::length):
- khtml/xml/dom_nodeimpl.cpp:
Feb 9, 2004:
- 1:13 PM Changeset in webkit [6054] by
-
- 2 edits in trunk/WebCore
Reviewed by Dave.
- khtml/html/html_formimpl.cpp: (HTMLGenericFormElementImpl::defaultEventHandler): Removed bogus extra setActive/focus code. Dave says this is no longer needed for the active state handling, and the focus call caused a problem, although I can't find the bug report at the moment.
- 8:26 AM Changeset in webkit [6053] by
-
- 2 edits in trunk/WebCore
Reviewed by Don.
- fixed an assertion failure when putting up Java applets caused by my last change
- kwq/KWQKJavaAppletWidget.mm: (KJavaAppletWidget::KJavaAppletWidget): Don't try to get x() and y(). They are always zero because the widget is just being created at this point and has not yet been positioned; trying to get them leads to an assertion because there is no NSView until we call setView(). Before my change, there was a KWQView object at 0,0 that was released when we called setView, which is why the problem is new.
Feb 8, 2004:
- 2:40 PM Changeset in webkit [6052] by
-
- 32 edits1 add1 delete in trunk
WebCore:
Reviewed by Dave.
- fixed things seen in the profile, for a total speedup of 4% on cvs-base
- fixed some layout regressions from my last speedup due to text measurement inconsistencies
- WebCorePrefix.h: Add a workaround for a bug in our system headers that prevents the <ctype.h> macros from working right in C++ code that uses the <cctype> header.
- khtml/css/cssstyleselector.cpp: (khtml::checkPseudoState): Use prepend instead of operator + here. Will probably be obviated if someone fixes the checkPseudoState problem. (khtml::colorForCSSValue): Get rid of all the code that uses QPalette; it wasn't doing any good in Safari. Instead, hardcode the UI colors.
- kwq/KWQChar.mm: (QChar::isDigitNonASCII): Non-inline part. The ASCII case is handled with an inline now. (QChar::isLetterNonASCII): Ditto. (QChar::isNumberNonASCII): Ditto. (QChar::isLetterOrNumberNonASCII): Ditto. (QChar::lowerNonASCII): Ditto. (QChar::upperNonASCII): Ditto. (QChar::digitValueNonASCII): Ditto.
- kwq/KWQColorGroup.mm: Put all roles base inside #if, since we don't need them, and copying the color group and palette was making things slow.
- kwq/KWQComboBox.h: Remove KWQComboBoxAdapter, not needed any more.
- kwq/KWQComboBox.mm: (QComboBox::QComboBox): Remove KWQComboBoxAdapter, not needed any more. (QComboBox::~QComboBox): Ditto. (QComboBox::sizeHint): Turn off rounding; we use that in web text, but not in widgets. (-[KWQPopUpButton action:]): Moved the action method here.
- kwq/KWQLineEdit.mm: (QLineEdit::sizeForCharacterWidth): Turn off rounding. We use it in web page text, but not in widgets.
- kwq/KWQListBox.mm: (QListBox::sizeForNumberOfLines): Ditto. (-[KWQTableView drawRow:clipRect:]): Ditto.
- kwq/KWQKURL.mm: (KURL::KURL): Added code to put the "file:" in front of a path without making a QString. (hasSlashDotOrDotDot): Added. Faster than two calls to strstr. (matchLetter): Added. Faster than tolower calls on each letter. (KURL::parse): Changed to use matchLetter and hasSlashDotOrDotDot.
- kwq/KWQPalette.h: Remove all roles except base, and all groups except active, since we don't need them, and copying the color group and palette was making things slow.
- kwq/KWQPalette.mm: Ditto.
- kwq/KWQRegExp.mm: (QRegExp::match): Fixed logic so we don't create and destroy a QCString in the fast case. Also avoid UTF-8/UTF-16 offset mapping.
- kwq/KWQString.h: (QChar::isDigit): Add inline section for ASCII. (QChar::isLetter): Ditto. (QChar::isNumber): Ditto. (QChar::isLetterOrNumber): Ditto. (QChar::digitValue): Ditto. (QChar::lower): Ditto. (QChar::upper): Ditto. (QString::utf8): Add a new version that returns the length; used by QRegExp. (QString::operator+=): Call a new append function.
- kwq/KWQString.mm: (ucstrcmp): Made this function inline. (equal): Added, replacing various strcmp functions. (equalCaseInsensitive): Ditto. (ok_in_base): Changed to use <ctype.h> isdigit and isalpha instead of QChar functions. (QString::detachInternal): Moved up so it will be inlined. (QString::~QString): Streamlined a little. (QString::utf8): Changed to return the length. (QString::find): Use unicode() instead of cell() in various places. Also refined a faster version of the one that takes a char *. (QString::contains): Changed all of the overloads to have structure that's more similar, and made them slightly faster too. (QString::isAllLatin1): Added. (QString::copyLatin1): Added. Lets you get the string as a char * buffer without changing the string itself into that format. (QString::toLong): Changed to use <ctype.h> isdigit instead of QChar function. (QString::toULong): Ditto. (QString::setUnicode): Call the new detachAndDiscardCharacters; not implemented yet. (QString::setLatin1): Call the new detachAndDiscardCharacters; not implemented yet. (QString::sprintf): Call the new detachAndDiscardCharacters; not implemented yet. (QString::insert): Remove one memmove call for the case that appends at the end. (QString::detach): Change code to use the internal data if we can; saves at destructor time. (QString::detachAndDiscardCharacters): Added. Placeholder for now that just calls detach(). (QString::setLength): Optimize the setLength(0) case. (QString::fill): Call the new detachAndDiscardCharacters; not implemented yet. (QString::append): Renamed from operator+=, which now simply calls append(). (QString::reserve): Added. Useful when building up a string, like in QTextCodec.
- WebCore-tests.exp: Added new function names for QChar.
- WebCore-combined.exp: Updated.
- kwq/KWQTextCodec.mm: (KWQTextDecoder::convertLatin1): Added. Since this is the most common encoding, and very easy to decode (built into QString, in fact), best to do it as a special case, not with TEC. (KWQTextDecoder::convertUTF16): Added a reserve() call for better performance and made the stack buffer larger. (KWQTextDecoder::convertUsingTEC): Added a reserve() call for better performance and made the stack buffer larger. (KWQTextDecoder::convert): Added a switch statement and convertLatin1 case.
- kwq/KWQView.h: Removed the KWQView class.
- kwq/KWQView.mm: Removed.
- WebCore.pbproj/project.pbxproj: Removed KWQView.mm.
- kwq/KWQWidget.h: Changed name of QWidgetPrivate to KWQWidgetPrivate.
- kwq/KWQWidget.mm: (QWidget::QWidget): Got rid of code that makes a KWQView when no view is passed in. We were creating and destroying extra views because of this. (QWidget::setFrameGeometry): Only call getOuterView() once, not three times. Also, don't do any work at all if the frame is already correct.
- khtml/khtmlview.cpp: (KHTMLView::init): Removed a call that will hit an assertion due to the way a new KHTMLView does not yet have an NSView.
- kwq/WebCoreTextRenderer.h: Broke applyRounding into applyRunRounding and applyWordRounding.
- kwq/WebCoreTextRendererFactory.m: (WebCoreInitializeEmptyTextStyle): Initialize both rounding flags on.
WebKit:
Reviewed by Dave.
- fixed things seen in the profile, for a total speedup of 4% on cvs-base
- fixed some layout regressions from my last speedup due to text measurement inconsistencies by adding a flag to control whether word rounding is done or not
- fixed text measurement to be used with AppKit to match AppKit again, as it did at some point in the past
- WebCoreSupport.subproj/WebTextRenderer.h: Remove some unused fields, and added a field to say whether we treat this font as fixed pitch.
- WebCoreSupport.subproj/WebTextRenderer.m: (getUncachedWidth): Remove space width hack from this level. There was already a width hack up at the higher level for space itself, so there's not a significant speed benefit, and the higher level can make a more intelligent choice based on the current rounding setting since it's not cached. (-[WebTextRenderer _computeWidthForSpace]): Don't store so many widths; just the adjusted width we will actually use. (widthForNextCharacter): Use two different rules for when to adjust space widths, based on whether this is a fixed pitch font or not. Also, don't do any adjusting of space widths if applyWordRounding is false.
- Misc.subproj/WebKitNSStringExtras.m: (-[NSString _web_drawAtPoint:font:textColor:]): Turn off rounding, so we get the kind of spacing AppKit would normally give. (-[NSString _web_widthWithFont:]): Ditto.
- Misc.subproj/WebStringTruncator.m: (stringWidth): Ditto.
- 1:13 PM Changeset in webkit [6051] by
-
- 4 edits in trunk/JavaScriptCore
Reviewed by Dave.
- fixed things seen in the profile, for a total speedup of 4% on cvs-base (including changes across all projects)
- JavaScriptCorePrefix.h: Add a workaround for a bug in our system headers that prevents the <ctype.h> macros from working right in C++ code that uses the <cctype> header.
- kjs/ustring.cpp: (KJS::inlineUTF8SequenceLengthNonASCII): Added. (KJS::UTF8SequenceLengthNonASCII): Added. (KJS::inlineUTF8SequenceLength): Added. (KJS::UTF8SequenceLength): Calls inlineUTF8SequenceLengthNonASCII now. (KJS::decodeUTF8Sequence): Use new inlineUTF8SequenceLengthNonASCII; faster for ASCII. (KJS::createSortedOffsetsArray): Add special case for 1, 2, and 3 offsets, so we don't do qsort for those. (KJS::convertUTF16OffsetsToUTF8Offsets): Use new inlineUTF8SequenceLengthNonASCII; faster for ASCII. (KJS::convertUTF8OffsetsToUTF16Offsets): Use new inlineUTF8SequenceLengthNonASCII; faster for ASCII.
- fixed the test program so it won't hit the interpreter lock assertion
- kjs/testkjs.cpp: (main): Just lock around the whole thing, since the test is singly threaded.
- 10:33 AM Changeset in webkit [6050] by
-
- 2 edits in trunk/LayoutTests
Updated tests affected by the list box width fix.
Feb 7, 2004:
- 6:44 PM Changeset in webkit [6049] by
-
- 11 edits in trunk/WebCore
Reviewed by Dave.
- switched KWQComboBox, KWQListBox, and KWQLineEdit to use WebKit text measuring/rendering instead of AppKit
- fixed width calculation for KWQListBox that made them too wide (the computation used the width of standard scroll bars rather than the small scroll bars they actually use)
Speeds up cvs-base by 5%!
- khtml/rendering/render_form.cpp: (RenderSelect::updateFromElement): Get rid of beginBatchInsert, and rename endBatchInsert. Use our own "append" calls instead of "insert" calls.
- kwq/KWQComboBox.h: Replace insertItem with appendItem. Add a new populateMenu call (for internal use, but public). Change width member to be int instead of float. Remove updateCurrentItem(), and add a menuPopulated boolean and a QStringList containing the items.
- kwq/KWQComboBox.mm: (QComboBox::QComboBox): Initialize currentItem directly instead of calling updateCurrentItem. Also initialize menuPopulated to true. (QComboBox::appendItem): Replaces insertItem. Put items in a string list. Don't keep the menu populated unless the button is highlighted (which indicates the menu is showing). (QComboBox::sizeHint): Compute widths using WebCoreTextRenderer, and the string list. (QComboBox::baselinePosition): Change ceil to ceilf, since we are dealing with floats, not doubles. (QComboBox::clear): Clear the items list. Also reset the currentItem field directly instead of using updateCurrentItem(). (QComboBox::setCurrentItem): If the menu is not populated, then keep a single item with the appropriate title. If the menu is populated, then select the appropriate item. (QComboBox::itemSelected): Moved the logic from updateCurrentItem in here for simplicity. (QComboBox::focusPolicy): Tweaked the comment. (QComboBox::populateMenu): Added. (-[KWQPopUpButtonCell setHighlighted:]): Populate the menu when the cell is highlighted.
- kwq/KWQLineEdit.mm: (QLineEdit::sizeForCharacterWidth): Put an empty string in the cell, and add in a separately-computed width for the string. (QLineEdit::baselinePosition): Use ceilf instead of ceil since we are doing floats, not doubles.
- kwq/KWQListBox.h: Changed the items list from an NSArray to a QValueList. (KWQListBoxItem::KWQListBoxItem): Added a new class to keep the string and the "is label" boolean. (QListBox::count): Now inline. (QListBox::appendItem): Replaced insertItem with this. (QListBox::appendGroupLabel): Replaced insertGroupLabel with this. (QListBox::itemAtIndex): Replaced itemIsGroupLabel with this.
- kwq/KWQListBox.mm: (itemTextRenderer): Replaced itemFont with this, which returns a WebCoreTextRenderer. (groupLabelTextRenderer): Ditto. (QListBox::QListBox): Removed the _insertingItems boolean, and handling of the _items list. (QListBox::~QListBox): Ditto. (QListBox::clear): Now clears the items list. Doesn't both with reloadData, since doneAppendingItems handles that. (QListBox::appendItem): Replaced insertItem. Just adds to the list. No need to construct attributed strings any more. (QListBox::doneAppendingItems): Replaced endBatchInsert. No need to clear the obsolete _insertingItems boolean. (QListBox::setEnabled): Added a call to reloadData. (QListBox::sizeForNumberOfLines): Compute widths using WebCoreTextRenderer, and the string list. Also adjust for the difference in widths between small and default scrollers and add in margins. (QListBox::setWritingDirection): Remove code that updates the direction in attributed strings. (-[KWQTableView initWithListBox:]): Compute height from font, not cell. (-[KWQTableView numberOfRowsInTableView:]): Get count from QListBox instead of items array. (-[KWQTableView tableView:objectValueForTableColumn:row:]): Return nil becase we don't want to create an NSString for each cell. We'll draw the appropriate thing. (-[KWQTableView tableView:shouldSelectRow:]): Update for change to QComboBox function. (-[KWQTableView drawRow:clipRect:]): Added. Draws the text in the cell, with the appropriate color and position, using WebCoreTextRenderer for speed. (-[KWQTableView _accessibilityTableCell:tableColumn:]): Set up cell with a string in this case, because we need the string to be seen by the accessibilty framework.
- kwq/WebCoreTextRenderer.h: Fixed typo in comment.
- kwq/WebCoreTextRendererFactory.m: Removed bogus inline specifiers.
- khtml/rendering/render_layer.cpp: Fixed a couple of cases of RenderLayer::RenderLayer that just should have said RenderLayer.
- 1:33 PM Changeset in webkit [6048] by
-
- 4 edits in trunk
WebCore:
- WebCore.pbproj/project.pbxproj: Get rid of the DEPLOYMENT_LOCATION and DEPLOYMENT_POSTPROCESSING flags that were in the Deployment build style. These were causing the need to chmod all the time after building WebCore successfully, and were doing us no good.
WebKit:
- WebKit.pbproj/project.pbxproj: Get rid of the DEPLOYMENT_LOCATION and DEPLOYMENT_POSTPROCESSING flags that were in the Deployment build style. These were causing the need to chmod all the time after building WebCore successfully, and were doing us no good.
- 12:56 PM Changeset in webkit [6047] by
-
- 1 edit1 add in trunk/WebCore
- kwq/can-convert.mm: Added test program to see which conversions are actually supported by TEC.