WebCore:
authorsullivan <sullivan@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 5 Dec 2006 18:36:06 +0000 (18:36 +0000)
committersullivan <sullivan@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 5 Dec 2006 18:36:06 +0000 (18:36 +0000)
commit8b59eeb78e451e1ecf00561e33f2101d4aac15c9
tree87f4bc915921ae80d4ae58021187ddbc48fe27e7
parentf8ba9a77433f4fa48cc0538efbec7e74690c6f71
WebCore:

        Reviewed by Darin

        WebCore part of fix for:
        <rdar://problem/4817188> Context menu for bad grammar should include suggestions and "Ignore Grammar"

        The context menu mechanism is currently in flux; the old mechanism is still in place, but an
        up-and-coming new mechanism is waiting in the wings. I updated both of them, but couldn't
        test the new mechanism because it doesn't work well enough yet. Also, some of this code
        should move from Frame to Editor, but that will wait for another checkin.

        * page/Frame.h:
        added pure virtual function declarations for isSelectionUngrammatical() and guessesForUngrammaticalSelection()

        * bridge/mac/FrameMac.h:
        added virtual functions declarations for isSelectionUngrammatical() and guessesForUngrammaticalSelection()

        * bridge/mac/FrameMac.mm:
        (WebCore::FrameMac::isSelectionMisspelled):
        now updates spelling panel (whether or not it's showing), since this is now needed to make -[NSSSpellChecker
        ignoreWord:inSpellDocumentWithTag:] work correctly
        (WebCore::isRangeUngrammatical):
        new function, helper used by both isSelectionUngrammatical() and guessesForUngrammaticalSelection()
        (WebCore::FrameMac::isSelectionUngrammatical):
        new function, calls isRangeUngrammatical
        (WebCore::FrameMac::guessesForUngrammaticalSelection):
        ditto

        * platform/ContextMenu.cpp:
        (WebCore::ContextMenu::populate):
        now considers bad grammar as well as misspellings

        * platform/ContextMenuItem.h:
        added ContextMenuItemTagIgnoreGrammar

WebKit:

        Reviewed by Darin

        WebKit part of fix for:
        <rdar://problem/4817188> Context menu for bad grammar should include suggestions and "Ignore Grammar"

        The context menu mechanism is currently in flux; the old mechanism is still in place, but an
        up-and-coming new mechanism is waiting in the wings. I updated both of them, but couldn't
        test the new mechanism because it doesn't work well enough yet. Most of this WebKit code
        can be deleted when the new mechanism is in place.

        * WebView/WebUIDelegatePrivate.h:
        added WebMenuItemTagIgnoreGrammar

        * DefaultDelegates/WebDefaultContextMenuDelegate.m:
        (-[WebDefaultUIDelegate menuItemWithTag:target:representedObject:]):
        added case for WebMenuItemTagIgnoreGrammar
        (-[WebDefaultUIDelegate editingContextMenuItemsForElement:defaultMenuItems:]):
        now considers adding grammar-related items as well as spelling-related items

        * WebView/WebHTMLViewPrivate.h:
        declared _isSelectionUngrammatical

        * WebView/WebHTMLView.m:
        (-[WebHTMLView _isSelectionUngrammatical]):
        new method, calls through to WebCore
        (-[WebHTMLView _ignoreGrammarFromMenu:]):
        new method, calls _ignoreSpellingFromMenu: since NSSpellChecker has one method for both

        * English.lproj/Localizable.strings:
        updated for "Ignore Grammar" menu item title

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@18021 268f45cc-cd09-0410-ab3c-d52691b4dbfc
14 files changed:
WebCore/ChangeLog
WebCore/WebCore.xcodeproj/project.pbxproj
WebCore/bridge/mac/FrameMac.h
WebCore/bridge/mac/FrameMac.mm
WebCore/page/Frame.h
WebCore/platform/ContextMenu.cpp
WebCore/platform/ContextMenuItem.h
WebKit/ChangeLog
WebKit/DefaultDelegates/WebDefaultContextMenuDelegate.m
WebKit/English.lproj/Localizable.strings
WebKit/WebKit.xcodeproj/project.pbxproj
WebKit/WebView/WebHTMLView.m
WebKit/WebView/WebHTMLViewPrivate.h
WebKit/WebView/WebUIDelegatePrivate.h