Skip to content
  • harrison's avatar
    LayoutTests: · 6b7c5c2d
    harrison authored
            Reviewed by Justin.
    
            <rdar://problem/4746860> Mail crash in WebCore::CSSMutableStyleDeclaration::merge(WebCore::CSSMutableStyleDeclaration*, bool)
    
            * editing/style/style-boundary-005.html: Added. Matches steps from bug.
            * editing/execCommand/hilitecolor-expected.txt: Updated (no empty Apple style spans).
            * editing/style/remove-underline-across-paragraph-in-bold-expected.txt: Updated (no empty Apple style spans).
            * editing/style/remove-underline-in-bold-expected.txt: Updated (no empty Apple style spans).
            * editing/style/typing-style-003-expected.txt: Updated (no empty Apple style spans).
    
    WebCore:
    
            Reviewed by Justin.
    
            <rdar://problem/4746860> Mail crash in WebCore::CSSMutableStyleDeclaration::merge(WebCore::CSSMutableStyleDeclaration*, bool)
    
            Tests added or changed:
            * editing/style/style-boundary-005.html: Added. Matches steps from bug.
            * editing/execCommand/hilitecolor-expected.txt: Updated (no empty Apple style spans).
            * editing/style/remove-underline-across-paragraph-in-bold-expected.txt: Updated (no empty Apple style spans).
            * editing/style/remove-underline-in-bold-expected.txt: Updated (no empty Apple style spans).
            * editing/style/typing-style-003-expected.txt: Updated (no empty Apple style spans).
    
            * dom/Text.cpp:
            (WebCore::Text::splitText):
            Comment changes.
            
            * editing/ApplyStyleCommand.cpp:
            (WebCore::isUnstyledStyleSpan):
            Renamed from isEmptyStyleSpan.
            
            (WebCore::ApplyStyleCommand::applyRelativeFontStyleChange):
            Rename emptySpans local to unstyledSpans.
            
            (WebCore::dummySpanAncestorForNode):
            New. To locate Apple style span created when splitting a text node.
            
            (WebCore::ApplyStyleCommand::cleanupUnstyledAppleStyleSpans):
            Renamed from cleanUpEmptyStyleSpans. Algorithm changed to scan children
            of dummy span's parents, rather than traversing up from start and
            end locations. Old algorithm would miss empty spans in the bug case.
            
            (WebCore::ApplyStyleCommand::applyInlineStyle):
            Use dummySpanAncestorForNode() and cleanupUnstyledAppleStyleSpans().
            
            (WebCore::ApplyStyleCommand::removeCSSStyle):
            Renamed isEmptyStyleSpan() to isUnstyledStyleSpan().
            
            (WebCore::ApplyStyleCommand::mergeStartWithPreviousIfIdentical):
            Comment changes.
            
            * editing/ApplyStyleCommand.h:
            Renamed cleanUpEmptyStyleSpans() to cleanupUnstyledAppleStyleSpans().
              
            * editing/ReplaceSelectionCommand.cpp:
            (WebCore::ReplaceSelectionCommand::removeRedundantStyles):
            Allow for Apple style span to be unstyled, because old email may have this in the DOM.
            Use !node->hasChildNodes() instead of !node->firstChild().
            
            * editing/SplitTextNodeCommand.cpp:
            (WebCore::SplitTextNodeCommand::doApply):
            Comment changes.
            
            * rendering/RenderTreeAsText.cpp:
            (WebCore::isEmptyOrUnstyledAppleStyleSpan):
            (WebCore::operator<<):
            Flag empty or unstyled AppleStyleSpa nbecause we never want to leave them in the DOM
    
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@17036 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    6b7c5c2d