Diff
Modified: trunk/Source/WebCore/ChangeLog (290304 => 290305)
--- trunk/Source/WebCore/ChangeLog 2022-02-22 15:33:34 UTC (rev 290304)
+++ trunk/Source/WebCore/ChangeLog 2022-02-22 15:42:48 UTC (rev 290305)
@@ -1,3 +1,34 @@
+2022-02-22 Tim Nguyen <[email protected]>
+
+ Rename RenderStyle::userSelectIncludingInert to RenderStyle::effectiveUserSelect
+ https://bugs.webkit.org/show_bug.cgi?id=237033
+
+ Reviewed by Antti Koivisto.
+
+ This naming is consistent with other properties (effectiveDisplay/Appearance/PointerEvents/etc.).
+
+ * dom/Node.cpp:
+ (WebCore::computeEditabilityFromComputedStyle):
+ (WebCore::Node::canStartSelection const):
+ * dom/Position.cpp:
+ (WebCore::Position::nodeIsUserSelectNone):
+ (WebCore::Position::nodeIsUserSelectAll):
+ * page/EventHandler.cpp:
+ (WebCore::EventHandler::canMouseDownStartSelect):
+ (WebCore::EventHandler::selectCursor):
+ * page/Frame.cpp:
+ (WebCore::Frame::rangeForPoint):
+ * rendering/RenderElement.cpp:
+ (WebCore::RenderElement::selectionBackgroundColor const):
+ (WebCore::RenderElement::selectionColor const):
+ * rendering/RenderLayer.cpp:
+ (WebCore::RenderLayer::calculateClipRects const):
+ * rendering/RenderObject.cpp:
+ (WebCore::RenderObject::collectSelectionGeometriesInternal):
+ * rendering/style/RenderStyle.h:
+ (WebCore::RenderStyle::effectiveUserSelect const):
+ (WebCore::RenderStyle::userSelectIncludingInert const): Deleted.
+
2022-02-22 Chris Dumez <[email protected]>
Move service worker and push API preference from RuntimeEnabledFeatures to Settings
Modified: trunk/Source/WebCore/dom/Node.cpp (290304 => 290305)
--- trunk/Source/WebCore/dom/Node.cpp 2022-02-22 15:33:34 UTC (rev 290304)
+++ trunk/Source/WebCore/dom/Node.cpp 2022-02-22 15:42:48 UTC (rev 290305)
@@ -764,7 +764,7 @@
continue;
// Elements with user-select: all style are considered atomic
// therefore non editable.
- if (treatment == Node::UserSelectAllIsAlwaysNonEditable && style->userSelectIncludingInert() == UserSelect::All)
+ if (treatment == Node::UserSelectAllIsAlwaysNonEditable && style->effectiveUserSelect() == UserSelect::All)
return Node::Editability::ReadOnly;
if (pageIsEditable == PageIsEditable::Yes)
@@ -1141,7 +1141,7 @@
// We allow selections to begin within an element that has -webkit-user-select: none set,
// but if the element is draggable then dragging should take priority over selection.
- if (style.userDrag() == UserDrag::Element && style.userSelectIncludingInert() == UserSelect::None)
+ if (style.userDrag() == UserDrag::Element && style.effectiveUserSelect() == UserSelect::None)
return false;
}
return parentOrShadowHostNode() ? parentOrShadowHostNode()->canStartSelection() : true;
Modified: trunk/Source/WebCore/dom/Position.cpp (290304 => 290305)
--- trunk/Source/WebCore/dom/Position.cpp 2022-02-22 15:33:34 UTC (rev 290304)
+++ trunk/Source/WebCore/dom/Position.cpp 2022-02-22 15:42:48 UTC (rev 290305)
@@ -941,7 +941,7 @@
{
if (!node)
return false;
- return node->renderer() && (node->renderer()->style().userSelectIncludingInert() == UserSelect::None);
+ return node->renderer() && (node->renderer()->style().effectiveUserSelect() == UserSelect::None);
}
bool Position::nodeIsUserSelectAll(const Node* node)
@@ -948,7 +948,7 @@
{
if (!node)
return false;
- return node->renderer() && (node->renderer()->style().userSelectIncludingInert() == UserSelect::All);
+ return node->renderer() && (node->renderer()->style().effectiveUserSelect() == UserSelect::All);
}
Node* Position::rootUserSelectAllForNode(Node* node)
Modified: trunk/Source/WebCore/page/EventHandler.cpp (290304 => 290305)
--- trunk/Source/WebCore/page/EventHandler.cpp 2022-02-22 15:33:34 UTC (rev 290304)
+++ trunk/Source/WebCore/page/EventHandler.cpp 2022-02-22 15:42:48 UTC (rev 290305)
@@ -725,7 +725,7 @@
return true;
if (ImageOverlay::isOverlayText(*node))
- return node->renderer()->style().userSelectIncludingInert() != UserSelect::None;
+ return node->renderer()->style().effectiveUserSelect() != UserSelect::None;
return node->canStartSelection() || Position::nodeIsUserSelectAll(node.get());
}
@@ -1527,7 +1527,7 @@
case CursorType::Auto: {
if (ImageOverlay::isOverlayText(node.get())) {
auto* renderer = node->renderer();
- if (renderer && renderer->style().userSelectIncludingInert() != UserSelect::None)
+ if (renderer && renderer->style().effectiveUserSelect() != UserSelect::None)
return iBeam;
}
Modified: trunk/Source/WebCore/page/Frame.cpp (290304 => 290305)
--- trunk/Source/WebCore/page/Frame.cpp 2022-02-22 15:33:34 UTC (rev 290304)
+++ trunk/Source/WebCore/page/Frame.cpp 2022-02-22 15:42:48 UTC (rev 290305)
@@ -854,7 +854,7 @@
auto position = visiblePositionForPoint(framePoint);
auto containerText = position.deepEquivalent().containerText();
- if (!containerText || !containerText->renderer() || containerText->renderer()->style().userSelectIncludingInert() == UserSelect::None)
+ if (!containerText || !containerText->renderer() || containerText->renderer()->style().effectiveUserSelect() == UserSelect::None)
return std::nullopt;
if (auto previousCharacterRange = makeSimpleRange(position.previous(), position)) {
Modified: trunk/Source/WebCore/rendering/RenderElement.cpp (290304 => 290305)
--- trunk/Source/WebCore/rendering/RenderElement.cpp 2022-02-22 15:33:34 UTC (rev 290304)
+++ trunk/Source/WebCore/rendering/RenderElement.cpp 2022-02-22 15:42:48 UTC (rev 290305)
@@ -1536,7 +1536,7 @@
{
// If the element is unselectable, or we are only painting the selection,
// don't override the foreground color with the selection foreground color.
- if (style().userSelectIncludingInert() == UserSelect::None
+ if (style().effectiveUserSelect() == UserSelect::None
|| (view().frameView().paintBehavior().containsAny({ PaintBehavior::SelectionOnly, PaintBehavior::SelectionAndBackgroundsOnly })))
return Color();
@@ -1591,7 +1591,7 @@
Color RenderElement::selectionBackgroundColor() const
{
- if (style().userSelectIncludingInert() == UserSelect::None)
+ if (style().effectiveUserSelect() == UserSelect::None)
return Color();
if (frame().selection().shouldShowBlockCursor() && frame().selection().isCaret())
Modified: trunk/Source/WebCore/rendering/RenderLayer.cpp (290304 => 290305)
--- trunk/Source/WebCore/rendering/RenderLayer.cpp 2022-02-22 15:33:34 UTC (rev 290304)
+++ trunk/Source/WebCore/rendering/RenderLayer.cpp 2022-02-22 15:42:48 UTC (rev 290305)
@@ -5376,7 +5376,7 @@
if (!renderText.hasRenderedText())
continue;
- if (renderer.style().userSelectIncludingInert() != UserSelect::None)
+ if (renderer.style().effectiveUserSelect() != UserSelect::None)
request.setHasPaintedContent();
if (!renderText.text().isAllSpecialCharacters<isHTMLSpace>()) {
Modified: trunk/Source/WebCore/rendering/RenderObject.cpp (290304 => 290305)
--- trunk/Source/WebCore/rendering/RenderObject.cpp 2022-02-22 15:33:34 UTC (rev 290304)
+++ trunk/Source/WebCore/rendering/RenderObject.cpp 2022-02-22 15:42:48 UTC (rev 290305)
@@ -2249,7 +2249,7 @@
for (auto& node : intersectingNodesWithDeprecatedZeroOffsetStartQuirk(range)) {
auto renderer = node.renderer();
// Only ask leaf render objects for their line box rects.
- if (renderer && !renderer->firstChildSlow() && renderer->style().userSelectIncludingInert() != UserSelect::None) {
+ if (renderer && !renderer->firstChildSlow() && renderer->style().effectiveUserSelect() != UserSelect::None) {
bool isStartNode = renderer->node() == range.start.container.ptr();
bool isEndNode = renderer->node() == range.end.container.ptr();
if (hasFlippedWritingMode != renderer->style().isFlippedBlocksWritingMode())
Modified: trunk/Source/WebCore/rendering/style/RenderStyle.h (290304 => 290305)
--- trunk/Source/WebCore/rendering/style/RenderStyle.h 2022-02-22 15:33:34 UTC (rev 290304)
+++ trunk/Source/WebCore/rendering/style/RenderStyle.h 2022-02-22 15:42:48 UTC (rev 290305)
@@ -616,7 +616,7 @@
MarqueeDirection marqueeDirection() const { return static_cast<MarqueeDirection>(m_rareNonInheritedData->marquee->direction); }
UserModify userModify() const { return static_cast<UserModify>(m_rareInheritedData->userModify); }
UserDrag userDrag() const { return static_cast<UserDrag>(m_rareNonInheritedData->userDrag); }
- UserSelect userSelectIncludingInert() const { return effectiveInert() ? UserSelect::None : userSelect(); }
+ UserSelect effectiveUserSelect() const { return effectiveInert() ? UserSelect::None : userSelect(); }
UserSelect userSelect() const { return static_cast<UserSelect>(m_rareInheritedData->userSelect); }
TextOverflow textOverflow() const { return static_cast<TextOverflow>(m_rareNonInheritedData->textOverflow); }
WordBreak wordBreak() const { return static_cast<WordBreak>(m_rareInheritedData->wordBreak); }
Modified: trunk/Source/WebKit/ChangeLog (290304 => 290305)
--- trunk/Source/WebKit/ChangeLog 2022-02-22 15:33:34 UTC (rev 290304)
+++ trunk/Source/WebKit/ChangeLog 2022-02-22 15:42:48 UTC (rev 290305)
@@ -1,3 +1,17 @@
+2022-02-22 Tim Nguyen <[email protected]>
+
+ Rename RenderStyle::userSelectIncludingInert to RenderStyle::effectiveUserSelect
+ https://bugs.webkit.org/show_bug.cgi?id=237033
+
+ Reviewed by Antti Koivisto.
+
+ This naming is consistent with other properties (effectiveDisplay/Appearance/PointerEvents/etc.).
+
+ * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:
+ (WebKit::InjectedBundleNodeHandle::isSelectableTextNode const):
+ * WebProcess/WebPage/ios/WebPageIOS.mm:
+ (WebKit::selectionPositionInformation):
+
2022-02-22 Chris Dumez <[email protected]>
Move service worker and push API preference from RuntimeEnabledFeatures to Settings
Modified: trunk/Source/WebKit/WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp (290304 => 290305)
--- trunk/Source/WebKit/WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp 2022-02-22 15:33:34 UTC (rev 290304)
+++ trunk/Source/WebKit/WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp 2022-02-22 15:42:48 UTC (rev 290305)
@@ -398,7 +398,7 @@
return false;
auto renderer = m_node->renderer();
- return renderer && renderer->style().userSelectIncludingInert() != UserSelect::None;
+ return renderer && renderer->style().effectiveUserSelect() != UserSelect::None;
}
RefPtr<InjectedBundleNodeHandle> InjectedBundleNodeHandle::htmlTableCellElementCellAbove()
Modified: trunk/Source/WebKit/WebProcess/WebPage/ios/WebPageIOS.mm (290304 => 290305)
--- trunk/Source/WebKit/WebProcess/WebPage/ios/WebPageIOS.mm 2022-02-22 15:33:34 UTC (rev 290304)
+++ trunk/Source/WebKit/WebProcess/WebPage/ios/WebPageIOS.mm 2022-02-22 15:42:48 UTC (rev 290305)
@@ -2997,7 +2997,7 @@
auto* renderer = hitNode->renderer();
info.selectability = ([&] {
- if (renderer->style().userSelectIncludingInert() == UserSelect::None)
+ if (renderer->style().effectiveUserSelect() == UserSelect::None)
return InteractionInformationAtPosition::Selectability::UnselectableDueToUserSelectNone;
if (is<Element>(*hitNode)) {
@@ -3043,7 +3043,7 @@
continue;
auto& style = renderer->style();
- if (style.userSelectIncludingInert() == UserSelect::None && style.userDrag() == UserDrag::Element) {
+ if (style.effectiveUserSelect() == UserSelect::None && style.userDrag() == UserDrag::Element) {
info.prefersDraggingOverTextSelection = true;
break;
}