⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Changeset 291728 in webkit


Ignore:
Timestamp:
Mar 22, 2022, 5:11:38 PM (5 years ago)
Author:
Megan Gardner
Message:

Expand autocorrect context for more accurate results.
​https://bugs.webkit.org/show_bug.cgi?id=237990
rdar://87353381

Expand autocorrect context to at least 10 words instead of 3, and with a min/max length of 40/100 instead of 12/30
and start context at the beginning of sentences to help with having more accurate autocorrect suggestions.

Reviewed by Tim Horton.

  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::autocorrectionContext):

Location:
trunk/Source/WebKit
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebKit/ChangeLog

    r291724 r291728  
     12022-03-22  Megan Gardner  <megan_gardner@apple.com>
     2
     3        Expand autocorrect context for more accurate results.
     4        https://bugs.webkit.org/show_bug.cgi?id=237990
     5        rdar://87353381
     6
     7        Expand autocorrect context to at least 10 words instead of 3, and with a min/max length of 40/100 instead of 12/30
     8        and start context at the beginning of sentences to help with having more accurate autocorrect suggestions.
     9
     10        Reviewed by Tim Horton.
     11
     12        * WebProcess/WebPage/ios/WebPageIOS.mm:
     13        (WebKit::WebPage::autocorrectionContext):
     14
    1152022-03-22  Tyler Wilcock  <tyler_w@apple.com>
    216
  • trunk/Source/WebKit/WebProcess/WebPage/ios/WebPageIOS.mm

    r291371 r291728  
    25662566    VisiblePosition startPosition = frame->selection().selection().start();
    25672567    VisiblePosition endPosition = frame->selection().selection().end();
    2568     const unsigned minContextWordCount = 3;
    2569     const unsigned minContextLength = 12;
    2570     const unsigned maxContextLength = 30;
     2568    const unsigned minContextWordCount = 10;
     2569    const unsigned minContextLength = 40;
     2570    const unsigned maxContextLength = 100;
    25712571
    25722572    if (frame->selection().isRange())
    … …  
    25992599                contextStartPosition = previousPosition;
    26002600            }
     2601            VisiblePosition sentenceContextStartPosition = positionOfNextBoundaryOfGranularity(startPosition, TextGranularity::SentenceGranularity, SelectionDirection::Backward);
     2602            if (sentenceContextStartPosition.isNotNull() && sentenceContextStartPosition < contextStartPosition)
     2603                contextStartPosition = sentenceContextStartPosition;
    26012604            if (contextStartPosition.isNotNull() && contextStartPosition != startPosition) {
    26022605                contextBefore = plainTextForContext(makeSimpleRange(contextStartPosition, startPosition));
    … …  
    26072610
    26082611        if (endPosition != endOfEditableContent(endPosition)) {
    2609             VisiblePosition nextPosition;
    2610             if (!atBoundaryOfGranularity(endPosition, TextGranularity::WordGranularity, SelectionDirection::Forward) && withinTextUnitOfGranularity(endPosition, TextGranularity::WordGranularity, SelectionDirection::Forward))
    2611                 nextPosition = positionOfNextBoundaryOfGranularity(endPosition, TextGranularity::WordGranularity, SelectionDirection::Forward);
    2612             contextAfter = plainTextForContext(makeSimpleRange(endPosition, nextPosition));
     2612            VisiblePosition nextPosition = positionOfNextBoundaryOfGranularity(endPosition, TextGranularity::SentenceGranularity, SelectionDirection::Forward);
     2613            if (nextPosition.isNotNull() && nextPosition != endPosition)
     2614                contextAfter = plainTextForContext(makeSimpleRange(endPosition, nextPosition));
    26132615        }
    26142616    }
Note: See TracChangeset for help on using the changeset viewer.