Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 16bd64e97b30b4da2c557b424e6f3205bc6642a8
      
https://github.com/WebKit/WebKit/commit/16bd64e97b30b4da2c557b424e6f3205bc6642a8
  Author: Richard Robinson <[email protected]>
  Date:   2026-02-22 (Sun, 22 Feb 2026)

  Changed paths:
    M Source/WebCore/Headers.cmake
    M Source/WebCore/Sources.txt
    M Source/WebCore/WebCore.xcodeproj/project.pbxproj
    A Source/WebCore/dom/SelectionType.cpp
    A Source/WebCore/dom/SelectionType.h
    M Source/WebCore/dom/SlotAssignment.cpp
    M Source/WebCore/editing/VisibleSelection.cpp
    M Source/WebCore/editing/VisibleSelection.h
    M Source/WebKit/Shared/EditorState.cpp
    M Source/WebKit/Shared/EditorState.h
    M Source/WebKit/Shared/EditorState.serialization.in
    M Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in
    M Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm
    M Source/WebKit/UIProcess/Cocoa/WebPageProxyCocoa.mm
    M Source/WebKit/UIProcess/WebPageProxy.cpp
    M Source/WebKit/UIProcess/gtk/WebPageProxyGtk.cpp
    M Source/WebKit/UIProcess/ios/WKContentViewInteraction.h
    M Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm
    M Source/WebKit/UIProcess/ios/WebPageProxyIOS.mm
    M Source/WebKit/UIProcess/mac/WKTextSelectionController.swift
    M Source/WebKit/UIProcess/mac/WebPageProxyMac.mm
    M Source/WebKit/UIProcess/mac/WebViewImpl.mm
    M Source/WebKit/WebProcess/Plugins/PDF/PDFPluginBase.mm
    M Source/WebKit/WebProcess/Plugins/PDF/UnifiedPDF/UnifiedPDFPlugin.mm
    M Source/WebKit/WebProcess/WebPage/Cocoa/WebPageCocoa.mm
    M Source/WebKit/WebProcess/WebPage/WebPage.cpp

  Log Message:
  -----------
  Use an enum to represent the selection type for `EditorState` instead of two 
booleans
https://bugs.webkit.org/show_bug.cgi?id=308369
rdar://170868905

Reviewed by Abrar Rahman Protyasha and Ryosuke Niwa.

Introduce `WebCore::SelectionType` and use it instead of the existing pair of 
boolean fields on EditorState.

* Source/WebCore/WebCore.xcodeproj/project.pbxproj:
* Source/WebCore/dom/SelectionType.cpp: Added.
(operator<<):
* Source/WebCore/dom/SelectionType.h: Added.
* Source/WebCore/editing/VisibleSelection.cpp:
(WebCore::VisibleSelection::updateSelectionType):
(WebCore::VisibleSelection::setWithoutValidation):
* Source/WebCore/editing/VisibleSelection.h:
(WebCore::VisibleSelection::type const):
(WebCore::VisibleSelection::isNone const):
(WebCore::VisibleSelection::isCaret const):
(WebCore::VisibleSelection::isRange const):
* Source/WebKit/Shared/EditorState.cpp:
(WebKit::operator<<):
* Source/WebKit/Shared/EditorState.h:
* Source/WebKit/Shared/EditorState.serialization.in:
* Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in:
* Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm:
(selectionAttributes):
* Source/WebKit/UIProcess/Cocoa/WebPageProxyCocoa.mm:
(WebKit::WebPageProxy::writingToolsBehavior const):
* Source/WebKit/UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::hasSelectedRange const):
* Source/WebKit/UIProcess/ios/WKContentViewInteraction.h:
* Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm:
(WebKit::WKSelectionDrawingInfo::WKSelectionDrawingInfo):
(WebKit::WKSelectionDrawingInfo::compare const):
(WebKit::operator<<):
(-[WKContentView observeValueForKeyPath:ofObject:change:context:]):
(-[WKContentView shouldHideSelectionInFixedPositionWhenScrolling]):
(-[WKContentView canShowNonEmptySelectionView]):
(-[WKContentView textInteractionGesture:shouldBeginAtPoint:]):
(-[WKContentView webSelectionRects]):
(-[WKContentView supportedPasteboardTypesForCurrentSelection]):
(-[WKContentView lookupForWebView:]):
(-[WKContentView shouldAllowHighlightLinkCreation]):
(-[WKContentView canPerformAction:withSender:]):
(-[WKContentView canPerformActionForWebView:withSender:]):
(-[WKContentView _characterInRelationToCaretSelection:]):
(-[WKContentView textInRange:]):
(-[WKContentView selectedTextRange]):
(-[WKContentView _hasContent]):
(-[WKContentView _updateInitialWritingDirectionIfNecessary]):
(-[WKContentView _updateSelectionAssistantSuppressionState]):
(-[WKContentView appHighlightMenu]):
(-[WKContentView _simulateSelectionStart]):
* Source/WebKit/UIProcess/ios/WebPageProxyIOS.mm:
(WebKit::WebPageProxy::didUpdateEditorState):
(WebKit::WebPageProxy::selectionBoundingRectInRootViewCoordinates const):
* Source/WebKit/UIProcess/mac/WebPageProxyMac.mm:
(WebKit::WebPageProxy::stringSelectionForPasteboard):
(WebKit::WebPageProxy::dataSelectionForPasteboard):
(WebKit::WebPageProxy::didUpdateEditorState):
(WebKit::WebPageProxy::selectionBoundingRectInRootViewCoordinates const):
* Source/WebKit/UIProcess/mac/WebViewImpl.mm:
(WebKit::WebViewImpl::mightBeginDragWhileInactive):
(WebKit::WebViewImpl::validRequestorForSendAndReturnTypes):
(WebKit::WebViewImpl::selectionDidChange):
(WebKit::WebViewImpl::unionRectInVisibleSelectedRangeInScreen const):
(WebKit::WebViewImpl::changeFontColorFromSender):
(WebKit::WebViewImpl::changeFontAttributesFromSender):
(WebKit::WebViewImpl::changeFontFromFontManager):
(WebKit::WebViewImpl::validateUserInterfaceItem):
(WebKit::WebViewImpl::showWritingTools):
(WebKit::WebViewImpl::inputContextIncludingNonEditable):
(WebKit::WebViewImpl::updateTextTouchBar):
* Source/WebKit/WebProcess/Plugins/PDF/PDFPluginBase.mm:
(WebKit::PDFPluginBase::populateEditorStateIfNeeded const):
* Source/WebKit/WebProcess/Plugins/PDF/UnifiedPDF/UnifiedPDFPlugin.mm:
(WebKit::UnifiedPDFPlugin::platformPopulateEditorStateIfNeeded const):
* Source/WebKit/WebProcess/WebPage/Cocoa/WebPageCocoa.mm:
(WebKit::WebPage::getPlatformEditorStateCommon const):
* Source/WebKit/WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::editorState const):

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



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications

Reply via email to