Skip to content
  • justing's avatar
    LayoutTests: · 6b8bc83f
    justing authored
            Reviewed by harrison
            
            Added:
            * editing/selection/skip-non-editable-1-expected.txt: Added.
            * editing/selection/skip-non-editable-1.html: Added.
            * editing/selection/skip-non-editable-2-expected.txt: Added.
            * editing/selection/skip-non-editable-2.html: Added.
    
            Equivalent render tree:
            * editing/execCommand/format-block-with-braces-expected.txt:
            
            Fixes:
            * editing/selection/iframe-expected.checksum:
            * editing/selection/iframe-expected.png:
            * editing/selection/iframe-expected.txt:
            * editing/selection/inline-table-expected.checksum:
            * editing/selection/inline-table-expected.png:
            * editing/selection/inline-table-expected.txt:
            * editing/selection/move-between-blocks-no-001-expected.checksum:
            * editing/selection/move-between-blocks-no-001-expected.png:
            * editing/selection/move-between-blocks-no-001-expected.txt:
            * editing/selection/select-box-expected.checksum:
            * editing/selection/select-box-expected.png:
            * editing/selection/select-box-expected.txt:
    
    WebCore:
    
            Reviewed by harrison
            
            <rdar://problem/4598309
            Caret gets stuck when it hits non editable content within an editable body
            <http://bugzilla.opendarwin.org/show_bug.cgi?id=9510>
            Caret will jump out of an editable region
            
            * dom/Position.cpp:
            (WebCore::Position::upstream): Don't move into a new editable region so that 
            candidates that that straddle an editable/non-editable boundary will 
            correspond to different VisiblePositions.
            (WebCore::Position::downstream): Ditto.
            * editing/SelectionController.cpp:
            (WebCore::SelectionController::modifyMovingRightForward): Use VisiblePosition::next(true)
            (WebCore::SelectionController::modifyMovingLeftBackward): Use VisiblePosition::previous(true)
            * editing/VisiblePosition.cpp:
            (WebCore::VisiblePosition::next): Added code to jump to the next editable region as long
            as it has the same highest editable root.
            (WebCore::VisiblePosition::previous): Ditto.
            * editing/VisiblePosition.h:
            * editing/htmlediting.cpp:
            (WebCore::highestEditableRoot): Added, returns the highest editable root of a node if that
            node is in editable content, otherwise 0.
            * editing/htmlediting.h:
    
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@15112 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    6b8bc83f