Timeline



Feb 13, 2004:

6:10 PM Changeset in webkit [6087] by mjs
  • 7 edits in trunk

WebCore:

Reviewed by John.

  • redo visited link history checking for a 2% speed improvement
  • kwq/KWQKHistoryProvider.mm: (KParts::HistoryProvider::contains): Don't make a KURL or an NSString. Punt on canonicalization and directly pass the internal Latin1 or unicode buffer.
  • kwq/KWQString.h:
  • kwq/KWQString.mm: (QString::hasFastLatin1): New method to check whether getting the latin1 buffer is fast (doesn't allocate).
  • kwq/WebCoreHistory.h: add new methods to look up by raw latin1 or unicode buffer instead of NSString.

WebKit:

Reviewed by John.

  • redo visited link history checking for a 2% speed improvement
  • History.subproj/WebHistory.m: (-[_WebCoreHistoryProvider containsItemForURLString:]): Removed. (-[_WebCoreHistoryProvider containsItemForURLLatin1:length:]): Implemented. For https and http URLs with empty path, add a slash. Make a CFString using the passed-in latin1 buffer without copying. (-[_WebCoreHistoryProvider containsItemForURLUnicode:length:]): Ditto for unicode. (matchLetter): New static helper function. (matchUnicodeLetter): Ditto.
2:39 PM Changeset in webkit [6086] by rjw
  • 14 edits
    13 adds in trunk/JavaScriptCore

rk towards the JavaScript ObjC bindings. The bindings now work for

simple scalar types. testbindings.mm is an illustration of how the
bindings work.

Reviewed by Ken.

  • JavaScriptCore.pbproj/project.pbxproj:
  • Makefile.am:
  • bindings/jni/jni_class.cpp: (JavaClass::methodsNamed):
  • bindings/jni/jni_class.h:
  • bindings/jni/jni_instance.cpp: (JavaInstance::invokeMethod):
  • bindings/jni/jni_instance.h:
  • bindings/jni/jni_runtime.h: (KJS::Bindings::JavaMethod::returnType):
  • bindings/make_testbindings: Added.
  • bindings/objc/objc_class.h: Added. (KJS::Bindings::ObjcClass::~ObjcClass): (KJS::Bindings::ObjcClass::ObjcClass): (KJS::Bindings::ObjcClass::operator=): (KJS::Bindings::ObjcClass::constructorAt): (KJS::Bindings::ObjcClass::numConstructors):
  • bindings/objc/objc_class.mm: Added. (ObjcClass::_commonDelete): (ObjcClass::_commonCopy): (ObjcClass::_commonInit): (_createClassesByIsAIfNecessary): (ObjcClass::classForIsA): (ObjcClass::ObjcClass): (ObjcClass::name): (ObjcClass::methodsNamed): (ObjcClass::fieldNamed):
  • bindings/objc/objc_header.h: Added.
  • bindings/objc/objc_instance.h: Added. (KJS::Bindings::ObjcInstance::getObject):
  • bindings/objc/objc_instance.mm: Added. (ObjcInstance::ObjcInstance): (ObjcInstance::~ObjcInstance): (ObjcInstance::operator=): (ObjcInstance::begin): (ObjcInstance::end): (ObjcInstance::getClass): (ObjcInstance::invokeMethod): (ObjcInstance::defaultValue): (ObjcInstance::stringValue): (ObjcInstance::numberValue): (ObjcInstance::booleanValue): (ObjcInstance::valueOf):
  • bindings/objc/objc_jsobject.h: Added.
  • bindings/objc/objc_jsobject.mm: Added.
  • bindings/objc/objc_runtime.h: (KJS::Bindings::ObjcField::~ObjcField): (KJS::Bindings::ObjcField::ObjcField): (KJS::Bindings::ObjcField::operator=): (KJS::Bindings::ObjcMethod::ObjcMethod): (KJS::Bindings::ObjcMethod::~ObjcMethod): (KJS::Bindings::ObjcMethod::operator=):
  • bindings/objc/objc_runtime.mm: Added. (ObjcMethod::ObjcMethod): (ObjcMethod::name): (ObjcMethod::numParameters): (ObjcMethod::getMethodSignature): (ObjcField::ObjcField): (ObjcField::name): (ObjcField::type): (ObjcField::valueFromInstance): (ObjcField::setValueToInstance):
  • bindings/objc/objc_utility.h: Added. (KJS::Bindings::):
  • bindings/objc/objc_utility.mm: Added. (KJS::Bindings::JSMethodNameToObjCMethodName): (KJS::Bindings::convertValueToObjcValue): (KJS::Bindings::convertObjcValueToValue): (KJS::Bindings::objcValueTypeForType):
  • bindings/runtime.cpp: (MethodList::MethodList): (MethodList::operator=): (Instance::setValueOfField): (Instance::createBindingForLanguageInstance): (Instance::createRuntimeObject):
  • bindings/runtime.h:
  • bindings/runtime_method.cpp: (RuntimeMethodImp::RuntimeMethodImp): (RuntimeMethodImp::get): (RuntimeMethodImp::call):
  • bindings/runtime_method.h:
  • bindings/runtime_object.cpp: (RuntimeObjectImp::get): (RuntimeObjectImp::hasProperty):
  • bindings/test.js: Added.
  • bindings/testbindings.mm: Added. (-[MySecondInterface init]): (-[MyFirstInterface init]): (-[MyFirstInterface dealloc]): (+[MyFirstInterface JavaScriptNameForSelector:]): (-[MyFirstInterface getInt]): (-[MyFirstInterface setInt:]): (-[MyFirstInterface getMySecondInterface]): (-[MyFirstInterface logMessage:]): (GlobalImp::className): (readJavaScriptFromFile): (main):
12:08 PM Changeset in webkit [6085] by vicki
  • 3 edits in trunk

Set version to '129u'. The tree is open!

12:04 PM Changeset in webkit [6084]
  • 3 copies in tags/Safari-128

This commit was manufactured by cvs2svn to create tag 'Safari-128'.

12:04 PM Changeset in webkit [6083] by vicki
  • 6 edits in trunk

Safari-128 stamp

Feb 12, 2004:

3:58 PM Changeset in webkit [6082] by hyatt
  • 2 edits in trunk/WebCore

Fix for 3557850 and 3557607. Make sure to setParent(0) on the body's link declaration, so that TreeShared
will delete it.

  • khtml/html/html_baseimpl.cpp: (HTMLBodyElementImpl::~HTMLBodyElementImpl):
2:40 PM Changeset in webkit [6081] by kocienda
  • 9 edits
    2 adds in trunk/WebCore

Reviewed by Hyatt

Refactored object design for edit commands into something that's
starting to feel more solid. Added some accessors to edit
commands.

  • WebCore.pbproj/project.pbxproj:
  • khtml/editing/htmlediting_impl.h: Added.
  • khtml/editing/htmlediting_impl.m: Added.
12:04 AM Changeset in webkit [6080] by hyatt
  • 1 edit in trunk/WebCore/khtml/rendering/render_block.cpp

Adjust shouldCollapseChild as per dirk's suggestion.

Feb 11, 2004:

5:50 PM Changeset in webkit [6079] by hyatt
  • 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 hyatt
  • 2 edits
    4 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 hyatt
  • 2 adds in trunk/LayoutTests/fast/block/margin-collapse

Adding test of zeldman margin collapse bug.

4:47 PM Changeset in webkit [6076] by hyatt
  • 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 hyatt
  • 2 adds in trunk/LayoutTests/fast/table

Add layout test that dumps .rows and .cells

2:07 PM Changeset in webkit [6074] by hyatt
  • 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 hyatt
  • 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 copies
    3 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 vicki
  • 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 hyatt
  • 2 adds in trunk/LayoutTests/fast/css-generated-content

Adding test for display:block generated content.

1:37 PM Changeset in webkit [6069] by hyatt
  • 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 rjw
  • 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 hyatt
  • 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 kocienda
  • 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 kocienda
  • 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 hyatt
  • 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 hyatt
  • 2 edits
    2 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 hyatt
  • 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 hyatt
  • 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 hyatt
  • 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 cblu
  • 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 hyatt
  • 18 edits in trunk/LayoutTests

Revised layout tests after the <hr> changes.

2:01 PM Changeset in webkit [6057] by hyatt
  • 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 hyatt
  • 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 hyatt
  • 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 darin
  • 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 darin
  • 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.
Note: See TracTimeline for information about the timeline view.