Changeset 79936 in webkit


Ignore:
Timestamp:
Feb 28, 2011 3:50:27 PM (13 years ago)
Author:
commit-queue@webkit.org
Message:

2011-02-28 Jia Pu <jpu@apple.com>

Reviewed by Darin Adler.

[Mac] Make "Change back to …" contextual menu item work with new autocorrection.
https://bugs.webkit.org/show_bug.cgi?id=55396
<rdar://problem/8836093>

The change in InlineTextBox.cpp fixes a bug, where the rectangle of Replacement marker isn't
calculated. We need this to do hit test when deciding whether to show "Change back to ..." on
contextual menu.

The change in Editor.cpp is for notifying spellchecker about the reversion whenever "Change
back to ..." is clicked.

  • editing/Editor.cpp: (WebCore::Editor::changeBackToReplacedString):
  • rendering/InlineTextBox.cpp: (WebCore::InlineTextBox::paintDocumentMarkers):
Location:
trunk/Source/WebCore
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r79935 r79936  
     12011-02-28  Jia Pu  <jpu@apple.com>
     2
     3        Reviewed by Darin Adler.
     4
     5        [Mac] Make "Change back to …" contextual menu item work with new autocorrection.
     6        https://bugs.webkit.org/show_bug.cgi?id=55396
     7        <rdar://problem/8836093>
     8
     9        The change in InlineTextBox.cpp fixes a bug, where the rectangle of Replacement marker isn't
     10        calculated. We need this to do hit test when deciding whether to show "Change back to ..." on
     11        contextual menu.
     12
     13        The change in Editor.cpp is for notifying spellchecker about the reversion whenever "Change
     14        back to ..." is clicked.
     15
     16        * editing/Editor.cpp:
     17        (WebCore::Editor::changeBackToReplacedString):
     18        * rendering/InlineTextBox.cpp:
     19        (WebCore::InlineTextBox::paintDocumentMarkers):
     20
    1212011-02-28  Victoria Kirst  <vrk@google.com>
    222
  • trunk/Source/WebCore/editing/Editor.cpp

    r79794 r79936  
    24952495        return;
    24962496   
     2497#if SUPPORT_AUTOCORRECTION_PANEL
     2498    String replacement = plainText(selection.get());
     2499    client()->recordAutocorrectionResponse(EditorClient::AutocorrectionReverted, replacedString, replacement);
     2500#endif
    24972501    TextCheckingParagraph paragraph(selection);
    24982502    replaceSelectionWithText(replacedString, false, false);
    24992503    RefPtr<Range> changedRange = paragraph.subrange(paragraph.checkingStart(), replacedString.length());
    25002504    changedRange->startContainer()->document()->markers()->addMarker(changedRange.get(), DocumentMarker::Replacement, String());
     2505#if SUPPORT_AUTOCORRECTION_PANEL
     2506    changedRange->startContainer()->document()->markers()->addMarker(changedRange.get(), DocumentMarker::SpellCheckingExemption);
     2507#endif
    25012508}
    25022509
  • trunk/Source/WebCore/rendering/InlineTextBox.cpp

    r78846 r79936  
    10591059            case DocumentMarker::Spelling:
    10601060            case DocumentMarker::CorrectionIndicator:
     1061            case DocumentMarker::Replacement:
    10611062                if (background)
    10621063                    continue;
     
    10911092                break;
    10921093            case DocumentMarker::CorrectionIndicator:
     1094                paintSpellingOrGrammarMarker(pt, boxOrigin, marker, style, font, false);
     1095                break;
     1096            case DocumentMarker::Replacement:
    10931097                computeRectForReplacementMarker(marker, style, font);
    1094                 paintSpellingOrGrammarMarker(pt, boxOrigin, marker, style, font, false);
    10951098                break;
    10961099            default:
Note: See TracChangeset for help on using the changeset viewer.