Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: ef93c1b412c09e10975907c8fd683269eb36a413
      
https://github.com/WebKit/WebKit/commit/ef93c1b412c09e10975907c8fd683269eb36a413
  Author: Jack Wiig <[email protected]>
  Date:   2023-06-09 (Fri, 09 Jun 2023)

  Changed paths:
    A 
LayoutTests/accessibility/mac/attributed-string/attributed-string-has-completion-annotation-expected.txt
    A 
LayoutTests/accessibility/mac/attributed-string/attributed-string-has-completion-annotation.html
    M LayoutTests/platform/mac/TestExpectations
    M Source/WebCore/PAL/pal/spi/mac/NSSpellCheckerSPI.h
    M Source/WebCore/accessibility/mac/AccessibilityObjectMac.mm
    M Source/WebCore/accessibility/mac/WebAccessibilityObjectWrapperMac.h
    M Source/WebCore/editing/Editor.cpp
    M Source/WebCore/editing/Editor.h
    M Source/WebKit/UIProcess/WebPageProxy.cpp
    M Source/WebKit/UIProcess/WebPageProxy.h
    M Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm
    M Source/WebKit/UIProcess/mac/WebViewImpl.mm
    M Source/WebKit/WebProcess/InjectedBundle/API/c/WKBundlePage.cpp
    M Source/WebKit/WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h
    M Source/WebKit/WebProcess/WebCoreSupport/glib/WebEditorClientGLib.cpp
    M Source/WebKit/WebProcess/WebPage/WebPage.cpp
    M Source/WebKit/WebProcess/WebPage/WebPage.h
    M Source/WebKit/WebProcess/WebPage/WebPage.messages.in
    M Source/WebKitLegacy/mac/WebView/WebFrame.mm
    M Source/WebKitLegacy/mac/WebView/WebHTMLView.mm
    M Tools/WebKitTestRunner/InjectedBundle/Bindings/TextInputController.idl
    M Tools/WebKitTestRunner/InjectedBundle/TextInputController.cpp
    M Tools/WebKitTestRunner/InjectedBundle/TextInputController.h

  Log Message:
  -----------
  Support custom annotations for Accessibility in composition contexts.
https://bugs.webkit.org/show_bug.cgi?id=257867
rdar://problem/110488738

Reviewed by Tyler Wilcock.

This change broadens the information that we can parse from an attributed 
string in a composition context.

Now, annotations (attributes that have no meaningful value, usually @YES or 
"1") can be conveyed.

We use this in accessibility to convey when an inline prediction is happening, 
so assistive technologies know not to process that text as part of the user's 
typing.

* 
LayoutTests/accessibility/mac/attributed-string/attributed-string-has-completion-annotation-expected.txt:
 Added.
* 
LayoutTests/accessibility/mac/attributed-string/attributed-string-has-completion-annotation.html:
 Added.
* Source/WebCore/PAL/pal/spi/mac/NSSpellCheckerSPI.h:
* Source/WebCore/accessibility/mac/AccessibilityObjectMac.mm:
(WebCore::attributedStringSetCompositionAttributes):
(WebCore::attributedStringCreate):
* Source/WebCore/accessibility/mac/WebAccessibilityObjectWrapperMac.h:
* Source/WebCore/editing/Editor.cpp:
(WebCore::Editor::clear):
(WebCore::Editor::setComposition):
* Source/WebCore/editing/Editor.h:
(WebCore::Editor::compositionUsesCustomAnnotations const):
(WebCore::Editor::customCompositionAnnotations const):
* Source/WebKit/UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::setCompositionAsync):
* Source/WebKit/UIProcess/WebPageProxy.h:
* Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView _setMarkedText:underlines:highlights:selectedRange:]):
* Source/WebKit/UIProcess/mac/WebViewImpl.mm:
(WebKit::compositionAnnotations):
(WebKit::WebViewImpl::setMarkedText):
* Source/WebKit/WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
(WKBundlePageSetComposition):
* Source/WebKit/WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h:
* Source/WebKit/WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::setCompositionForTesting):
(WebKit::WebPage::setCompositionAsync):
* Source/WebKit/WebProcess/WebPage/WebPage.h:
* Source/WebKit/WebProcess/WebPage/WebPage.messages.in:
* Source/WebKitLegacy/mac/WebView/WebFrame.mm:
(-[WebFrame setMarkedText:selectedRange:]):
(-[WebFrame setMarkedText:forCandidates:]):
* Source/WebKitLegacy/mac/WebView/WebHTMLView.mm:
(-[WebHTMLView setMarkedText:selectedRange:]):
* Tools/WebKitTestRunner/InjectedBundle/Bindings/TextInputController.idl:
* Tools/WebKitTestRunner/InjectedBundle/TextInputController.cpp:
(WTR::createCompositionAnnotationData):
(WTR::TextInputController::setMarkedText):
* Tools/WebKitTestRunner/InjectedBundle/TextInputController.h:

Canonical link: https://commits.webkit.org/265055@main


_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to