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

Timeline



Sep 19, 2021:

6:15 PM Changeset in webkit [282741] by Simon Fraser
  • 15 edits in trunk/Source/WebCore

Have ScrollAnimation work in terms of offsets, not positions
https://bugs.webkit.org/show_bug.cgi?id=230450

Reviewed by Antti Koivisto.

Scroll positions can have negative values in RTL content. It's simpler for ScrollAnimation
to work on zero-based scroll offsets. ScrollAnimator handles the mapping from these to
ScrollPositions.

Also share a bit of setCurrentPosition() code. This required adding an early return in
ScrollableArea::setScrollPositionFromAnimation() to avoid re-entrant calls during scrolling
tree commit, which would cause deadlocks on the scrolling tree lock, which happened when a
ScrollAnimation set a fractional offset.

  • platform/KeyboardScrollingAnimator.cpp:

(WebCore::KeyboardScrollingAnimator::scrollableDirectionsFromPosition const): Clarify offset vs. position.
(WebCore::KeyboardScrollingAnimator::updateKeyboardScrollPosition):
(WebCore::KeyboardScrollingAnimator::scrollableDirectionsFromOffset const): Deleted.

  • platform/KeyboardScrollingAnimator.h:
  • platform/ScrollAnimation.h:
  • platform/ScrollAnimationKinetic.cpp:

(WebCore::ScrollAnimationKinetic::PerAxisData::PerAxisData):
(WebCore::ScrollAnimationKinetic::PerAxisData::animateScroll):
(WebCore::ScrollAnimationKinetic::startAnimatedScrollWithInitialVelocity):
(WebCore::ScrollAnimationKinetic::animationTimerFired):

  • platform/ScrollAnimationKinetic.h:
  • platform/ScrollAnimationSmooth.cpp:

(WebCore::ScrollAnimationSmooth::startAnimatedScroll):
(WebCore::ScrollAnimationSmooth::startAnimatedScrollToDestination):
(WebCore::ScrollAnimationSmooth::retargetActiveAnimation):
(WebCore::ScrollAnimationSmooth::startOrRetargetAnimation):
(WebCore::ScrollAnimationSmooth::updateScrollExtents):
(WebCore::ScrollAnimationSmooth::animateScroll):
(WebCore::ScrollAnimationSmooth::animationTimerFired):

  • platform/ScrollAnimationSmooth.h:
  • platform/ScrollAnimator.cpp:

(WebCore::ScrollAnimator::scroll):
(WebCore::ScrollAnimator::scrollToPositionWithoutAnimation):
(WebCore::ScrollAnimator::scrollToPositionWithAnimation):
(WebCore::ScrollAnimator::offsetFromPosition const):
(WebCore::ScrollAnimator::positionFromOffset const):
(WebCore::ScrollAnimator::setCurrentPosition):
(WebCore::ScrollAnimator::notifyPositionChanged):
(WebCore::ScrollAnimator::scrollAnimationDidUpdate):
(WebCore::ScrollAnimator::scrollExtentsForAnimation):
(WebCore::ScrollAnimator::offsetFromPosition): Deleted.
(WebCore::ScrollAnimator::positionFromOffset): Deleted.

  • platform/ScrollAnimator.h:
  • platform/ScrollView.cpp:

(WebCore::ScrollView::setScrollOffset):

  • platform/ScrollableArea.cpp:

(WebCore::ScrollableArea::setScrollPositionFromAnimation):

  • platform/ScrollableArea.h:

(WebCore::ScrollableArea::minimumScrollOffset const): minimumScrollOffset is always 0,0 but add this function for symmetry.

  • platform/mac/ScrollAnimatorMac.mm:

(WebCore::ScrollAnimatorMac::immediateScrollBy):

  • rendering/RenderLayerScrollableArea.cpp:

(WebCore::RenderLayerScrollableArea::clampScrollOffset const):

5:10 PM Changeset in webkit [282740] by Wenson Hsieh
  • 7 edits in trunk/Source

Teach WebKit::createShareableBitmap to snapshot video elements
https://bugs.webkit.org/show_bug.cgi?id=230468

Reviewed by Tim Horton.

Source/WebCore:

Now that createShareableBitmap may return images for video elements, we need to ensure that we explicitly
avoid allowing Live Text in video elements, since doing so will (1) break built-in platform media controls,
which also share the same shadow root, and (2) lead to confusing results when playing or seeking in videos,
since the recognized text falls out of sync with the video frame.

  • html/HTMLVideoElement.h:
  • page/EventHandler.cpp:

(WebCore::EventHandler::textRecognitionCandidateElement const):

For the above reasons, we refactor logic to check if the currently hovered node is a candidate for text
recognition, such that the video element check is consolidated all in one place.

(WebCore::EventHandler::updateMouseEventTargetNode):
(WebCore::EventHandler::textRecognitionHoverTimerFired):

  • page/EventHandler.h:
  • rendering/RenderVideo.h:

Source/WebKit:

createShareableBitmap currently only returns a non-null image bitmap for image renderers that have cached
images; notably, this omits video elements. For use in future patches, we should allow this helper function to
handle video elements by snapshotting the current frame of the video.

  • WebProcess/WebCoreSupport/ShareableBitmapUtilities.cpp:

(WebKit::createShareableBitmap):

4:46 PM Changeset in webkit [282739] by Alan Bujtas
  • 2 edits in trunk/LayoutTests

Unreviewed gardening after r282738.

2:18 PM Changeset in webkit [282738] by Alan Bujtas
  • 4 edits in trunk

[LFC][IFC] overflow-wrap: anywhere/break-word rules over word-break: keep-all
https://bugs.webkit.org/show_bug.cgi?id=230458

Reviewed by Antti Koivisto.

LayoutTests/imported/w3c:

  • web-platform-tests/css/css-text/overflow-wrap/overflow-wrap-break-word-keep-all-001-expected.txt:

Source/WebCore:

https://drafts.csswg.org/css-text/#overflow-wrap-property
"...An otherwise unbreakable sequence of characters may be broken at an arbitrary point if there are
no otherwise-acceptable break points in the line."

"word-break: keep all" makes the content "otherwise unbreakable sequence of characters". It simply means
that "overflow-wrap: anywhere/break-word" may break the content at an arbitrary position even when "keep-all" is set,

  • layout/formattingContexts/inline/InlineContentBreaker.cpp:

(WebCore::Layout::InlineContentBreaker::wordBreakBehavior const):

10:04 AM Changeset in webkit [282737] by Antti Koivisto
  • 4 edits in trunk/Source/WebCore

[lFC][Integration] Enable some text painting features
https://bugs.webkit.org/show_bug.cgi?id=230459

Reviewed by Sam Weinig.

Enable text-shadow and background-clip:text.

  • layout/integration/LayoutIntegrationCoverage.cpp:

(WebCore::LayoutIntegration::printReason):
(WebCore::LayoutIntegration::canUseForStyle):

  • layout/integration/LayoutIntegrationCoverage.h:
  • layout/integration/LayoutIntegrationLineLayout.cpp:

(WebCore::LayoutIntegration::LineLayout::paint):

Allow TextClip paint phase.

9:42 AM Changeset in webkit [282736] by Antti Koivisto
  • 6 edits in trunk/Source/WebCore

[LFC][Integration] Make block selection gap painting use iterator
https://bugs.webkit.org/show_bug.cgi?id=230457

Reviewed by Alan Bujtas.

Make the code not depend on legacy inline boxes.

  • rendering/LegacyRootInlineBox.cpp:

(WebCore::LegacyRootInlineBox::lineSelectionGap): Deleted.

  • rendering/LegacyRootInlineBox.h:
  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::logicalLeftSelectionGap):
(WebCore::RenderBlock::logicalRightSelectionGap):

  • rendering/RenderBlock.h:
  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::inlineSelectionGaps):

7:27 AM Changeset in webkit [282735] by Antti Koivisto
  • 7 edits in trunk/Source/WebCore

[LFC][Integration] Paint LFC text runs with TextBoxPainter
https://bugs.webkit.org/show_bug.cgi?id=230455

Reviewed by Alan Bujtas.

This will give LFC path all the same painting features (including selections, markers etc) that
the legacy path has. This patch does not enable any new features yet.

  • layout/integration/LayoutIntegrationLineLayout.cpp:

(WebCore::LayoutIntegration::LineLayout::paint):
(WebCore::LayoutIntegration::LineLayout::paintTextRunUsingPhysicalCoordinates):

Use TextBoxPainter.

  • layout/integration/LayoutIntegrationLineLayout.h:
  • rendering/LegacyInlineTextBox.cpp:

(WebCore::LegacyInlineTextBox::textOriginFromBoxRect const): Deleted.
(WebCore::LegacyInlineTextBox::debugTextShadow const): Deleted.

  • rendering/LegacyInlineTextBox.h:
  • rendering/TextBoxPainter.cpp:

(WebCore::TextBoxPainter::TextBoxPainter):

TextBoxPainter now uses the inline iterator instead of directly accessing LegacyInlineTextBox.

(WebCore::TextBoxPainter::paint):
(WebCore::TextBoxPainter::createMarkedTextFromSelectionInBox):
(WebCore::TextBoxPainter::paintBackground):
(WebCore::TextBoxPainter::paintForegroundAndDecorations):
(WebCore::TextBoxPainter::paintCompositionBackground):
(WebCore::TextBoxPainter::paintForeground):
(WebCore::TextBoxPainter::paintDecoration):
(WebCore::TextBoxPainter::paintCompositionUnderlines):
(WebCore::textPosition):
(WebCore::TextBoxPainter::paintCompositionUnderline):
(WebCore::TextBoxPainter::paintPlatformDocumentMarkers):
(WebCore::TextBoxPainter::calculateUnionOfAllDocumentMarkerBounds):
(WebCore::TextBoxPainter::computePaintRect):
(WebCore::fontCascadeFor):
(WebCore::TextBoxPainter::calculateDocumentMarkerBounds):
(WebCore::TextBoxPainter::computeHaveSelection const):
(WebCore::TextBoxPainter::combinedText const):
(WebCore::TextBoxPainter::fontCascade const):
(WebCore::TextBoxPainter::textOriginFromPaintRect const):
(WebCore::TextBoxPainter::debugTextShadow const):
(WebCore::createMarkedTextFromSelectionInBox): Deleted.

  • rendering/TextBoxPainter.h:

Sep 18, 2021:

9:25 PM Changeset in webkit [282734] by mmaxfield@apple.com
  • 4 edits in trunk/Source/WebCore

[Cocoa] Add "Shaping" log channel
https://bugs.webkit.org/show_bug.cgi?id=230440

Reviewed by Darin Adler.

This logging has been useful to me before, so I figure it might be useful to other people.

This new channel is off by default.

No new tests because there is no behavior change.

  • platform/Logging.h:
  • platform/graphics/coretext/FontCoreText.cpp:

(WebCore::Font::applyTransforms const):

  • platform/graphics/mac/ComplexTextControllerCoreText.mm:

(WebCore::ComplexTextController::ComplexTextRun::ComplexTextRun):
(WebCore::ComplexTextController::collectComplexTextRunsForCharacters):

7:55 PM Changeset in webkit [282733] by Simon Fraser
  • 7 edits
    4 moves in trunk/Source/WebCore

Move ScrollingMomentumCalculator into the platform directory
https://bugs.webkit.org/show_bug.cgi?id=230452

Reviewed by Wenson Hsieh.

ScrollingMomentumCalculator/ScrollingMomentumCalculatorMac have no non-platform dependencies.

Other changes are unified sources fallout.

  • Sources.txt:
  • SourcesCocoa.txt:
  • WebCore.xcodeproj/project.pbxproj:
  • platform/ScrollingMomentumCalculator.cpp: Renamed from Source/WebCore/page/scrolling/ScrollingMomentumCalculator.cpp.
  • platform/ScrollingMomentumCalculator.h: Renamed from Source/WebCore/page/scrolling/ScrollingMomentumCalculator.h.
  • platform/gamepad/mac/HIDGamepadElement.cpp:
  • platform/graphics/Model.cpp:
  • platform/mac/ScrollingMomentumCalculatorMac.h: Renamed from Source/WebCore/page/scrolling/mac/ScrollingMomentumCalculatorMac.h.
  • platform/mac/ScrollingMomentumCalculatorMac.mm: Renamed from Source/WebCore/page/scrolling/mac/ScrollingMomentumCalculatorMac.mm.
5:56 PM Changeset in webkit [282732] by Simon Fraser
  • 5 edits in trunk/Source/WebCore

Scroll offsets in ScrollingMomentumCalculator should be FloatPoint, not FloatSize
https://bugs.webkit.org/show_bug.cgi?id=230451

Reviewed by Wenson Hsieh.

Scroll offsets are generally represented as IntPoint or FloatPoint. Have
ScrollingMomentumCalculator conform to this convention.

  • page/scrolling/ScrollingMomentumCalculator.cpp:

(WebCore::ScrollingMomentumCalculator::ScrollingMomentumCalculator):
(WebCore::ScrollingMomentumCalculator::setRetargetedScrollOffset):
(WebCore::ScrollingMomentumCalculator::predictedDestinationOffset):
(WebCore::BasicScrollingMomentumCalculator::linearlyInterpolatedOffsetAtProgress):
(WebCore::BasicScrollingMomentumCalculator::cubicallyInterpolatedOffsetAtProgress const):
(WebCore::BasicScrollingMomentumCalculator::scrollOffsetAfterElapsedTime):
(WebCore::BasicScrollingMomentumCalculator::initializeInterpolationCoefficientsIfNecessary):

  • page/scrolling/ScrollingMomentumCalculator.h:

(WebCore::ScrollingMomentumCalculator::retargetedScrollOffset const):

  • page/scrolling/mac/ScrollingMomentumCalculatorMac.h:
  • page/scrolling/mac/ScrollingMomentumCalculatorMac.mm:

(WebCore::ScrollingMomentumCalculatorMac::scrollOffsetAfterElapsedTime):
(WebCore::ScrollingMomentumCalculatorMac::predictedDestinationOffset):
(WebCore::ScrollingMomentumCalculatorMac::retargetedScrollOffsetDidChange):
(WebCore::ScrollingMomentumCalculatorMac::ensurePlatformMomentumCalculator):

3:59 PM Changeset in webkit [282731] by Simon Fraser
  • 3 edits in trunk/Source/WebCore

Remove some logging left in by mistake.

Unreviewed.

  • platform/ScrollAnimationSmooth.cpp:

(WebCore::ScrollAnimationSmooth::startAnimatedScroll):
(WebCore::ScrollAnimationSmooth::startAnimatedScrollToDestination):

  • platform/ScrollAnimator.cpp:

(WebCore::ScrollAnimator::setCurrentPosition):
(WebCore::ScrollAnimator::scrollAnimationDidUpdate):

3:44 PM Changeset in webkit [282730] by Simon Fraser
  • 6 edits in trunk/Source/WebCore

Remove use of NSScrollAnimationHelper for animated scrolls
https://bugs.webkit.org/show_bug.cgi?id=230445

Reviewed by Martin Robinson.

NSScrollAnimationHelper provided little utility. Under the hood it's ust an ease-in-out
animation with a duration based on distance, and that's exactly what ScrollAnimationSmooth
is now, so we can remove use of NSScrollAnimationHelper in ScrollAnimatorMac and just
use the ScrollAnimationSmooth from the base class.

This unifies the scroll animation used for keyboard scrolling and CSS smooth scrolling.

  • platform/ScrollAnimator.cpp:

(WebCore::ScrollAnimator::scroll):
(WebCore::ScrollAnimator::scrollToPositionWithoutAnimation):
(WebCore::ScrollAnimator::setCurrentPosition):
(WebCore::ScrollAnimator::scrollAnimationDidUpdate):

  • platform/ScrollAnimator.h:

(WebCore::ScrollAnimator::platformAllowsScrollAnimation const):

  • platform/mac/ScrollAnimatorMac.h:
  • platform/mac/ScrollAnimatorMac.mm:

(WebCore::ScrollAnimatorMac::ScrollAnimatorMac):
(WebCore::scrollAnimationEnabledForSystem):
(WebCore::ScrollAnimatorMac::platformAllowsScrollAnimation const):
(WebCore::ScrollAnimatorMac::scroll):
(abs): Deleted.
(-[WebScrollAnimationHelperDelegate initWithScrollAnimator:]): Deleted.
(-[WebScrollAnimationHelperDelegate invalidate]): Deleted.
(-[WebScrollAnimationHelperDelegate bounds]): Deleted.
(-[WebScrollAnimationHelperDelegate _immediateScrollToPoint:]): Deleted.
(-[WebScrollAnimationHelperDelegate _pixelAlignProposedScrollPosition:]): Deleted.
(-[WebScrollAnimationHelperDelegate convertSizeToBase:]): Deleted.
(-[WebScrollAnimationHelperDelegate convertSizeFromBase:]): Deleted.
(-[WebScrollAnimationHelperDelegate convertSizeToBacking:]): Deleted.
(-[WebScrollAnimationHelperDelegate convertSizeFromBacking:]): Deleted.
(-[WebScrollAnimationHelperDelegate superview]): Deleted.
(-[WebScrollAnimationHelperDelegate documentView]): Deleted.
(-[WebScrollAnimationHelperDelegate window]): Deleted.
(-[WebScrollAnimationHelperDelegate _recursiveRecomputeToolTips]): Deleted.
(WebCore::ScrollAnimatorMac::scrollToPositionWithAnimation): Deleted.
(WebCore::ScrollAnimatorMac::scrollToPositionWithoutAnimation): Deleted.
(WebCore::ScrollAnimatorMac::immediateScrollToPositionForScrollAnimation): Deleted.

  • platform/mac/ScrollbarsControllerMac.h:
1:41 PM Changeset in webkit [282729] by Simon Fraser
  • 9 edits in trunk/Source/WebCore

Rename haveScrolledSincePageLoad() and push the state to ScrollbarsController
https://bugs.webkit.org/show_bug.cgi?id=230444

Reviewed by Myles C. Maxfield.

r81159 added logic to suppress scrollbar animations during page load (delayed using a 100ms
timer in ScrollbarsControllerMac), but to unsuppress the animations when receiving user
events or scrolling. This state using the confusingly named "haveScrolledSincePageLoad",
which is really "a wheel evnet or scroll requires that we stop suppressing scrollbar
animations". So name it scrollbarAnimationsUnsuspendedByUserInteraction", and have
ScrollbarsController maintain the state, rather than ScrollAnimator.

Add some OverlayScrollbars logging to show this working (although it reveals that the
100ms timer can fire multiple times).

  • platform/ScrollAnimator.cpp:

(WebCore::ScrollAnimator::cancelAnimations):

  • platform/ScrollAnimator.h:

(WebCore::ScrollAnimator::haveScrolledSincePageLoad const): Deleted.
(WebCore::ScrollAnimator::setHaveScrolledSincePageLoad): Deleted.

  • platform/ScrollbarsController.cpp:

(WebCore::ScrollbarsController::shouldSuspendScrollbarAnimations const):
(WebCore::ScrollbarsController::cancelAnimations):
(WebCore::ScrollbarsController::didBeginScrollGesture):
(WebCore::ScrollbarsController::didEndScrollGesture):
(WebCore::ScrollbarsController::mayBeginScrollGesture):

  • platform/ScrollbarsController.h:

(WebCore::ScrollbarsController::scrollbarAnimationsUnsuspendedByUserInteraction const):
(WebCore::ScrollbarsController::setScrollbarAnimationsUnsuspendedByUserInteraction):
(WebCore::ScrollbarsController::cancelAnimations): Deleted.
(WebCore::ScrollbarsController::didBeginScrollGesture const): Deleted.
(WebCore::ScrollbarsController::didEndScrollGesture const): Deleted.
(WebCore::ScrollbarsController::mayBeginScrollGesture const): Deleted.

  • platform/mac/ScrollAnimatorMac.h:
  • platform/mac/ScrollAnimatorMac.mm:

(WebCore::ScrollAnimatorMac::scroll):
(WebCore::ScrollAnimatorMac::handleWheelEventPhase):
(WebCore::ScrollAnimatorMac::handleWheelEvent):
(WebCore::ScrollAnimatorMac::cancelAnimations): Deleted.

  • platform/mac/ScrollbarsControllerMac.h:
  • platform/mac/ScrollbarsControllerMac.mm:

(-[WebScrollbarPartAnimation setCurrentProgress:]):
(-[WebScrollerImpDelegate setUpAlphaAnimation:scrollerPainter:part:animateAlphaTo:duration:]):
(WebCore::ScrollbarsControllerMac::cancelAnimations):
(WebCore::ScrollbarsControllerMac::didBeginScrollGesture):
(WebCore::ScrollbarsControllerMac::didEndScrollGesture):
(WebCore::ScrollbarsControllerMac::mayBeginScrollGesture):
(WebCore::ScrollbarsControllerMac::initialScrollbarPaintTimerFired):
(WebCore::ScrollbarsControllerMac::haveScrolledSincePageLoad const): Deleted.
(WebCore::ScrollbarsControllerMac::didBeginScrollGesture const): Deleted.
(WebCore::ScrollbarsControllerMac::didEndScrollGesture const): Deleted.
(WebCore::ScrollbarsControllerMac::mayBeginScrollGesture const): Deleted.

12:05 PM Changeset in webkit [282728] by Simon Fraser
  • 4 edits in trunk/Source/WebCore

Clean up the ScrollAnimator interface a little
https://bugs.webkit.org/show_bug.cgi?id=230324

Reviewed by Myles C. Maxfield.

Reduce brainprint by removing the "scroll to offset" variants; have the caller
do offset -> position conversion instead.

Move virtual functions close together. Remove updateScrollSnapState()
which was unimplemented.

  • platform/ScrollAnimator.cpp:

(WebCore::ScrollAnimator::immediateScrollOnAxis):
(WebCore::ScrollAnimator::scrollToOffsetWithoutAnimation): Deleted.
(WebCore::ScrollAnimator::scrollToOffsetWithAnimation): Deleted.

  • platform/ScrollAnimator.h:

(WebCore::ScrollAnimator::scrollableArea const):
(WebCore::ScrollAnimator::processWheelEventForScrollSnap):
(WebCore::ScrollAnimator::currentPosition const):
(WebCore::ScrollAnimator::haveScrolledSincePageLoad const):
(WebCore::ScrollAnimator::setHaveScrolledSincePageLoad):

  • platform/ScrollableArea.cpp:

(WebCore::ScrollableArea::scrollToOffsetWithoutAnimation):
(WebCore::ScrollableArea::doPostThumbMoveSnapping):

  • platform/mac/ScrollAnimatorMac.mm:
9:12 AM Changeset in webkit [282727] by Patrick Griffis
  • 7 edits in trunk/Source/WebCore

[GTK] Disable MediaSessionManagerGLib when MEDIA_SESSION disabled
https://bugs.webkit.org/show_bug.cgi?id=230420

Reviewed by Philippe Normand.

Previously WebKit would try to own the MPRIS bus names even though
the feature was disabled.

  • platform/RemoteCommandListener.cpp:

(WebCore::RemoteCommandListener::resetCreationFunction):

  • platform/audio/PlatformMediaSessionManager.cpp:
  • platform/audio/glib/MediaSessionManagerGLib.cpp:
  • platform/audio/glib/MediaSessionManagerGLib.h:
  • platform/glib/RemoteCommandListenerGLib.cpp:
  • platform/glib/RemoteCommandListenerGLib.h:
8:59 AM Changeset in webkit [282726] by Alan Bujtas
  • 3 edits in trunk/Source/WebCore

[LFC][IFC] Stretch the inline box with glyphs coming from fallback fonts.
https://bugs.webkit.org/show_bug.cgi?id=230439

Reviewed by Antti Koivisto.

https://www.w3.org/TR/css-inline-3/#inline-height
"...
When the computed line-height is normal, the layout bounds of an inline box encloses all its glyphs, going from the highest A to the deepest D.
(Note that glyphs in a single box can come from different fonts and thus might not all have the same A and D.)
..."
(This is still no-op as TextUtil::fallbackFontsForRun returns an empty set)

  • layout/formattingContexts/inline/InlineLineBoxBuilder.cpp:

(WebCore::Layout::LineBoxBuilder::adjustVerticalGeometryForInlineBoxWithFallbackFonts const):
(WebCore::Layout::LineBoxBuilder::constructAndAlignInlineLevelBoxes):

  • layout/formattingContexts/inline/InlineLineBoxBuilder.h:
6:29 AM Changeset in webkit [282725] by Alan Bujtas
  • 5 edits in trunk/Source/WebCore

[LFC][IFC] Add skeleton implementation for fallback font support
https://bugs.webkit.org/show_bug.cgi?id=230433

Reviewed by Antti Koivisto.

This is in preparation for supporting inline box stretching glyphs coming from fallback fonts.

  • layout/formattingContexts/inline/InlineLineBoxBuilder.cpp:

(WebCore::Layout::LineBoxBuilder::adjustVerticalGeometryForInlineBoxWithFallbackFonts const):
(WebCore::Layout::LineBoxBuilder::setInitialVerticalGeometryForInlineBox const):
(WebCore::Layout::LineBoxBuilder::constructAndAlignInlineLevelBoxes):
(WebCore::Layout::LineBoxBuilder::setVerticalGeometryForInlineBox const): Deleted.

  • layout/formattingContexts/inline/InlineLineBoxBuilder.h:
  • layout/formattingContexts/inline/text/TextUtil.cpp:

(WebCore::Layout::TextUtil::fallbackFontsForRun):

  • layout/formattingContexts/inline/text/TextUtil.h:
6:29 AM Changeset in webkit [282724] by Alan Bujtas
  • 2 edits in trunk/Source/WebCore

[IFC][Integration] Enable surrogate pairs
https://bugs.webkit.org/show_bug.cgi?id=229434

Reviewed by Antti Koivisto.

The "break the content at arbitrary position" feature is already surrogate pair aware, so
let's enable this for IFC.

  • layout/integration/LayoutIntegrationCoverage.cpp:

(WebCore::LayoutIntegration::canUseForCharacter):

1:56 AM Changeset in webkit [282723] by mmaxfield@apple.com
  • 21 edits
    1 add
    8 deletes in trunk

[iOS Family] Delete letterpress support
https://bugs.webkit.org/show_bug.cgi?id=230441

Reviewed by Tim Horton.

Source/WebCore:

It isn't necessary anymore.

Tests deleted.

  • PlatformMac.cmake:
  • SourcesCocoa.txt:
  • WebCore.xcodeproj/project.pbxproj:
  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::renderTextDecorationFlagsToCSSValue):

  • css/CSSPrimitiveValueMappings.h:

(WebCore::CSSPrimitiveValue::operator OptionSet<TextDecoration> const):

  • css/CSSValueKeywords.in:
  • css/parser/CSSPropertyParser.cpp:

(WebCore::consumeTextDecorationLine):

  • platform/graphics/FontCascade.h:
  • platform/graphics/GraphicsContext.h:
  • platform/graphics/cocoa/FontCascadeCocoa.cpp: Added.

(WebCore::FontCascade::canReturnFallbackFontsForComplexText):
(WebCore::FontCascade::canExpandAroundIdeographsInComplexText):

  • platform/graphics/cocoa/FontCascadeCocoa.mm: Removed.
  • platform/graphics/coretext/FontCascadeCoreText.cpp:

(WebCore::FontCascade::drawGlyphs):
(WebCore::shouldUseLetterpressEffect): Deleted.

  • rendering/TextPaintStyle.cpp:

(WebCore::TextPaintStyle::operator== const):
(WebCore::computeTextPaintStyle):
(WebCore::updateGraphicsContext):

  • rendering/TextPaintStyle.h:
  • rendering/style/RenderStyleConstants.cpp:

(WebCore::operator<<):

  • rendering/style/RenderStyleConstants.h:

Source/WTF:

  • wtf/PlatformEnable.h:
  • wtf/PlatformEnableCocoa.h:

LayoutTests:

  • TestExpectations:
  • fast/text/letterpress-different-expected-mismatch.html: Removed.
  • fast/text/letterpress-different.html: Removed.
  • fast/text/letterpress-paint-expected-mismatch.html: Removed.
  • fast/text/letterpress-paint.html: Removed.
  • platform/ios/TestExpectations:
  • platform/ios/ios/getComputedStyle-text-decoration-letterpress-expected.txt: Removed.
  • platform/ios/ios/getComputedStyle-text-decoration-letterpress.html: Removed.
  • platform/ios/ios/resources/getComputedStyle-text-decoration-letterpress.js: Removed.
Note: See TracTimeline for information about the timeline view.