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