Skip to content
  • justing's avatar
    LayoutTests: · e6f80c1e
    justing authored
            Reviewed by levi
            
            <http://bugzilla.opendarwin.org/show_bug.cgi?id=4468>
            Implement execCommand(Insert{Un}OrderedList)
    
            Added:
            * editing/execCommand/create-list-from-range-selection-expected.checksum: Added.
            * editing/execCommand/create-list-from-range-selection-expected.png: Added.
            * editing/execCommand/create-list-from-range-selection-expected.txt: Added.
            * editing/execCommand/create-list-from-range-selection.html: Added.
            * editing/execCommand/insert-list-and-stitch-expected.checksum: Added.
            * editing/execCommand/insert-list-and-stitch-expected.png: Added.
            * editing/execCommand/insert-list-and-stitch-expected.txt: Added.
            * editing/execCommand/insert-list-and-stitch.html: Added.
            * editing/execCommand/insert-list-with-id-expected.checksum: Added.
            * editing/execCommand/insert-list-with-id-expected.png: Added.
            * editing/execCommand/insert-list-with-id-expected.txt: Added.
            * editing/execCommand/insert-list-with-id.html: Added.
            * editing/execCommand/remove-list-from-range-selection-expected.checksum: Added.
            * editing/execCommand/remove-list-from-range-selection-expected.png: Added.
            * editing/execCommand/remove-list-from-range-selection-expected.txt: Added.
            * editing/execCommand/remove-list-from-range-selection.html: Added.
            * editing/execCommand/remove-list-items-expected.checksum: Added.
            * editing/execCommand/remove-list-items-expected.png: Added.
            * editing/execCommand/remove-list-items-expected.txt: Added.
            * editing/execCommand/remove-list-items.html: Added.
            * editing/execCommand/switch-list-type-expected.checksum: Added.
            * editing/execCommand/switch-list-type-expected.png: Added.
            * editing/execCommand/switch-list-type-expected.txt: Added.
            * editing/execCommand/switch-list-type.html: Added.
            
            Fixes:
            * editing/pasteboard/drag-drop-modifies-page-expected.txt:
            * editing/pasteboard/paste-list-001-expected.txt:
            * editing/selection/drag-to-contenteditable-iframe-expected.checksum:
            * editing/selection/drag-to-contenteditable-iframe-expected.png:
            * editing/selection/drag-to-contenteditable-iframe-expected.txt:
            * editing/style/block-style-005-expected.txt:
            * fast/text/textIteratorNilRenderer-expected.checksum:
            * fast/text/textIteratorNilRenderer-expected.png:
            * fast/text/textIteratorNilRenderer-expected.txt:
            * editing/deleting/delete-line-016-expected.checksum:
            * editing/deleting/delete-line-016-expected.png:
            * editing/deleting/delete-line-016-expected.txt:
    
    WebCore:
    
            Reviewed by levi
            
            <http://bugzilla.opendarwin.org/show_bug.cgi?id=4468>
            Implement execCommand(Insert{Un}OrderedList)
    
            * WebCore.xcodeproj/project.pbxproj: Added InsertListCommand.{h,cpp} to the project.
            * dom/Position.cpp:
            (WebCore::hasRenderedNonAnonymousDescendantsWithHeight): 
            Added. A block with height is only a candidate if this is false.  This should fix the problems
            getting carets into empty blocks.
            (WebCore::Position::inRenderedContent):
            * editing/AppendNodeCommand.cpp:
            (WebCore::AppendNodeCommand::doApply):
            * editing/CompositeEditCommand.cpp:
            (WebCore::hasARenderedDescendant):
            (WebCore::CompositeEditCommand::prune): A node can have DOM descendants that are rendered, yet
            have no rendered descendants.  Fixed the pruning rule to avoid removing a node like this.
            (WebCore::CompositeEditCommand::mergeIdenticalElements): Put the two elements next to
            each other if they aren't already, as a convenience.
            (WebCore::CompositeEditCommand::moveParagraph): Added code to preserve the current selection.
            (WebCore::CompositeEditCommand::moveParagraphs): Ditto. 
            * editing/CompositeEditCommand.h:
            * editing/DeleteSelectionCommand.cpp:
            (WebCore::DeleteSelectionCommand::initializeStartEnd): Expansion for special elements should
            continue to happen until it is no longer possible.
            (WebCore::DeleteSelectionCommand::handleGeneralDelete): The code to adjust the start node
            wouldn't always avoid removing the start block.
            * editing/InsertListCommand.cpp: Added.
            (WebCore::InsertListCommand::fixOrphanedListChild): Puts a list item that isn't inside a list
            into a list.
            (WebCore::InsertListCommand::InsertListCommand):
            (WebCore::InsertListCommand::modifyRange):
            (WebCore::InsertListCommand::doApply):
            * editing/InsertListCommand.h: Added.
            (WebCore::InsertListCommand::):
            * editing/InsertNodeBeforeCommand.cpp:
            (WebCore::InsertNodeBeforeCommand::doApply):
            * editing/InsertParagraphSeparatorCommand.cpp:
            * editing/JSEditor.cpp:
            * editing/TextIterator.cpp:
            (WebCore::TextIterator::advance): Don't handle a node if the end of the range used to create the 
            iterator ends at the start of that node.
            used to create the iterator.
            * editing/VisiblePosition.cpp:
            (WebCore::VisiblePosition::next):
            (WebCore::VisiblePosition::previous):
            * editing/VisiblePosition.h: 
            Added a parameter to next/previous to prevent them from going outside the current editable region.
            * editing/htmlediting.cpp:
            (WebCore::highestAncestor):
            (WebCore::enclosingList):
            (WebCore::enclosingListChild):
            (WebCore::outermostEnclosingList):
            (WebCore::createListItemElement):
            * editing/htmlediting.h:
            * page/Frame.cpp:
            (WebCore::Frame::selectionListState): Added.
            * page/Frame.h:
    
    WebKit:
    
            Reviewed by levi
            
            <http://bugzilla.opendarwin.org/show_bug.cgi?id=4468>
            Implement execCommand(Insert{Un}OrderedList)
    
            * WebView/WebFrame.m:
            (-[WebFrame _findFrameWithSelection]): Removed an assertion
            that we only have one frame with a selection.  
            * WebView/WebView.m:
            (-[WebView selectedFrame]): Ditto.
    
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@14777 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    e6f80c1e