-
justing authored
Reviewed by levi * editing/selection/editable-non-editable-crash-expected.checksum: Added. * editing/selection/editable-non-editable-crash-expected.png: Added. * editing/selection/editable-non-editable-crash-expected.txt: Added. * editing/selection/editable-non-editable-crash.html: Added. * editing/selection/skip-non-editable-1-expected.txt: * editing/selection/skip-non-editable-1.html: WebCore: Reviewed by levi Fix Mail ToDo crashers. * dom/Range.cpp: (WebCore::Range::compareBoundaryPoints): Added an ASSERT that both containers are non-null and an early return. * editing/Selection.cpp: (WebCore::Selection::validate): Fix a dangling start/end. (WebCore::Selection::adjustForEditableContent): Added an early return if m_start or m_end are null. (WebCore::Selection::isContentEditable): Use isRichlyEditablePosition. (WebCore::Selection::isContentRichlyEditable): Ditto. * editing/Selection.h: * editing/VisiblePosition.cpp: (WebCore::VisiblePosition::next): Use the new highestEditableRoot. (WebCore::VisiblePosition::previous): Ditto. * editing/htmlediting.cpp: (WebCore::highestEditableRoot): Takes in a position. (WebCore::isEditablePosition): Added. (WebCore::isRichlyEditablePosition): Added. (WebCore::rootEditableElement): Added. (WebCore::nextCandidate): Moved and split out from nextVisiblePosition. (WebCore::nextVisuallyDistinctCandidate): Ditto. (WebCore::previousCandidate): Moved and split out from previousVisiblePosition. (WebCore::previousVisuallyDistinctCandidate): Ditto. (WebCore::firstEditablePositionAfterPositionInRoot): Iterate over positions, using nextVisuallyDistinctCandidate, skipping atomic nodes that are non-editable. (WebCore::lastEditablePositionBeforePositionInRoot): Ditto. * editing/htmlediting.h: * editing/visible_units.cpp: (WebCore::startOfWord): Added a FIXME. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@15226 268f45cc-cd09-0410-ab3c-d52691b4dbfc
acef81d1