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

Timeline



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.

Sep 17, 2021:

11:51 PM Changeset in webkit [282722] by commit-queue@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

Fix CellTag being set 32 bits even if the base is not a cell
https://bugs.webkit.org/show_bug.cgi?id=230364

Patch by Mikhail R. Gadelha <Mikhail R. Gadelha> on 2021-09-17
Reviewed by Yusuke Suzuki.

Initial patch by Caio Lima.

In 32 bits the tag of the base was not being preserved before calling
the slow path and was instead being always being set to cellTag.

This patch slightly changes the code to instead of setting the cellTag,
it now calls the slow path using only the payload if the base is a cell,
otherwise it uses tag+payload.

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::compileEnumeratorHasProperty):

11:03 PM Changeset in webkit [282721] by Simon Fraser
  • 5 edits in trunk/Source/WebCore

Replace all the complex math in ScrollAnimationSmooth with a single call into a CubicBezierTimingFunction
https://bugs.webkit.org/show_bug.cgi?id=230436

Reviewed by Tim Horton.

ScrollAnimationSmooth had a lot of math that computed velocities for attack, drift and
release phases, but they resulted in odd-feeling animations for long scrolls. We can replace
it all, and get nice-feeling scrolls, by just using an ease-in-out timing function.

Duration is compusted from distance with a max of 200ms, matching macOS behavior.

  • platform/ScrollAnimationSmooth.cpp:

(WebCore::ScrollAnimationSmooth::ScrollAnimationSmooth):
(WebCore::ScrollAnimationSmooth::startAnimatedScroll):
(WebCore::ScrollAnimationSmooth::startAnimatedScrollToDestination):
(WebCore::ScrollAnimationSmooth::startOrRetargetAnimation):
(WebCore::ScrollAnimationSmooth::updateScrollExtents):
(WebCore::linearInterpolation):
(WebCore::ScrollAnimationSmooth::animateScroll):
(WebCore::ScrollAnimationSmooth::animationTimerFired):
(WebCore::ScrollAnimationSmooth::initializeAxesData): Deleted.
(WebCore::curveAt): Deleted.
(WebCore::attackCurve): Deleted.
(WebCore::releaseCurve): Deleted.
(WebCore::coastCurve): Deleted.
(WebCore::curveIntegralAt): Deleted.
(WebCore::attackArea): Deleted.
(WebCore::releaseArea): Deleted.
(WebCore::getAnimationParametersForGranularity): Deleted.
(WebCore::ScrollAnimationSmooth::updatePerAxisData): Deleted.

  • platform/ScrollAnimationSmooth.h:
9:24 PM Changeset in webkit [282720] by Simon Fraser
  • 19 edits
    3 copies
    2 moves
    3 adds in trunk

Move scrollbar-related code out of ScrollAnimator and into ScrollbarsController
https://bugs.webkit.org/show_bug.cgi?id=230295

Reviewed by Tim Horton.

As the first step to cleaning up ScrollAnimator/ScrollController, move scrollbar-related code out of
ScrollAnimator and into a new ScrollbarsController class, with platform-specific subclasses.
This makes it much easier to understand the responsibilities of ScrollAnimator.

  • Sources.txt:
  • SourcesCocoa.txt:
  • SourcesGTK.txt:
  • SourcesWPE.txt:
  • WebCore.xcodeproj/project.pbxproj:
  • platform/ScrollAnimator.cpp:

(WebCore::ScrollAnimator::contentsSizeChanged const):
(WebCore::ScrollAnimator::contentsResized const): Deleted.
(WebCore::ScrollAnimator::willEndLiveResize): Deleted.
(WebCore::ScrollAnimator::didAddVerticalScrollbar): Deleted.
(WebCore::ScrollAnimator::didAddHorizontalScrollbar): Deleted.

  • platform/ScrollAnimator.h:

(WebCore::ScrollAnimator::haveScrolledSincePageLoad const):
(WebCore::ScrollAnimator::setHaveScrolledSincePageLoad):
(WebCore::ScrollAnimator::wheelEventTestMonitor const):
(WebCore::ScrollAnimator::contentAreaWillPaint const): Deleted.
(WebCore::ScrollAnimator::mouseEnteredContentArea): Deleted.
(WebCore::ScrollAnimator::mouseExitedContentArea): Deleted.
(WebCore::ScrollAnimator::mouseMovedInContentArea): Deleted.
(WebCore::ScrollAnimator::mouseEnteredScrollbar const): Deleted.
(WebCore::ScrollAnimator::mouseExitedScrollbar const): Deleted.
(WebCore::ScrollAnimator::mouseIsDownInScrollbar const): Deleted.
(WebCore::ScrollAnimator::willStartLiveResize): Deleted.
(WebCore::ScrollAnimator::contentAreaDidShow): Deleted.
(WebCore::ScrollAnimator::contentAreaDidHide): Deleted.
(WebCore::ScrollAnimator::lockOverlayScrollbarStateToHidden): Deleted.
(WebCore::ScrollAnimator::scrollbarsCanBeActive const): Deleted.
(WebCore::ScrollAnimator::willRemoveVerticalScrollbar): Deleted.
(WebCore::ScrollAnimator::willRemoveHorizontalScrollbar): Deleted.
(WebCore::ScrollAnimator::invalidateScrollbarPartLayers): Deleted.
(WebCore::ScrollAnimator::verticalScrollbarLayerDidChange): Deleted.
(WebCore::ScrollAnimator::horizontalScrollbarLayerDidChange): Deleted.
(WebCore::ScrollAnimator::shouldScrollbarParticipateInHitTesting): Deleted.
(WebCore::ScrollAnimator::notifyContentAreaScrolled): Deleted.
(WebCore::ScrollAnimator::horizontalScrollbarStateForTesting const): Deleted.
(WebCore::ScrollAnimator::verticalScrollbarStateForTesting const): Deleted.

  • platform/ScrollableArea.cpp:

(WebCore::ScrollableArea::scrollAnimator const):
(WebCore::ScrollableArea::scrollbarsController const):
(WebCore::ScrollableArea::scrollPositionChanged):
(WebCore::ScrollableArea::willStartLiveResize):
(WebCore::ScrollableArea::willEndLiveResize):
(WebCore::ScrollableArea::contentAreaWillPaint const):
(WebCore::ScrollableArea::mouseEnteredContentArea const):
(WebCore::ScrollableArea::mouseExitedContentArea const):
(WebCore::ScrollableArea::mouseMovedInContentArea const):
(WebCore::ScrollableArea::mouseEnteredScrollbar const):
(WebCore::ScrollableArea::mouseExitedScrollbar const):
(WebCore::ScrollableArea::mouseIsDownInScrollbar const):
(WebCore::ScrollableArea::contentAreaDidShow const):
(WebCore::ScrollableArea::contentAreaDidHide const):
(WebCore::ScrollableArea::lockOverlayScrollbarStateToHidden const):
(WebCore::ScrollableArea::scrollbarsCanBeActive const):
(WebCore::ScrollableArea::didAddScrollbar):
(WebCore::ScrollableArea::willRemoveScrollbar):
(WebCore::ScrollableArea::contentsResized):
(WebCore::ScrollableArea::availableContentSizeChanged):
(WebCore::ScrollableArea::invalidateScrollbars):
(WebCore::ScrollableArea::verticalScrollbarLayerDidChange):
(WebCore::ScrollableArea::horizontalScrollbarLayerDidChange):
(WebCore::ScrollableArea::horizontalScrollbarStateForTesting const):
(WebCore::ScrollableArea::verticalScrollbarStateForTesting const):
(WebCore::ScrollableArea::resnapAfterLayout):

  • platform/ScrollableArea.h:
  • platform/Scrollbar.cpp:

(WebCore::Scrollbar::shouldParticipateInHitTesting):

  • platform/ScrollbarsController.cpp: Copied from Source/WebCore/platform/ios/ScrollAnimatorIOS.h.

(WebCore::ScrollbarsController::create):
(WebCore::ScrollbarsController::ScrollbarsController):

  • platform/ScrollbarsController.h: Added.

(WebCore::ScrollbarsController::scrollableArea const):
(WebCore::ScrollbarsController::notifyPositionChanged):
(WebCore::ScrollbarsController::cancelAnimations):
(WebCore::ScrollbarsController::didBeginScrollGesture const):
(WebCore::ScrollbarsController::didEndScrollGesture const):
(WebCore::ScrollbarsController::mayBeginScrollGesture const):
(WebCore::ScrollbarsController::contentAreaWillPaint const):
(WebCore::ScrollbarsController::mouseEnteredContentArea):
(WebCore::ScrollbarsController::mouseExitedContentArea):
(WebCore::ScrollbarsController::mouseMovedInContentArea):
(WebCore::ScrollbarsController::mouseEnteredScrollbar const):
(WebCore::ScrollbarsController::mouseExitedScrollbar const):
(WebCore::ScrollbarsController::mouseIsDownInScrollbar const):
(WebCore::ScrollbarsController::willStartLiveResize):
(WebCore::ScrollbarsController::contentsSizeChanged const):
(WebCore::ScrollbarsController::willEndLiveResize):
(WebCore::ScrollbarsController::contentAreaDidShow):
(WebCore::ScrollbarsController::contentAreaDidHide):
(WebCore::ScrollbarsController::lockOverlayScrollbarStateToHidden):
(WebCore::ScrollbarsController::scrollbarsCanBeActive const):
(WebCore::ScrollbarsController::didAddVerticalScrollbar):
(WebCore::ScrollbarsController::willRemoveVerticalScrollbar):
(WebCore::ScrollbarsController::didAddHorizontalScrollbar):
(WebCore::ScrollbarsController::willRemoveHorizontalScrollbar):
(WebCore::ScrollbarsController::invalidateScrollbarPartLayers):
(WebCore::ScrollbarsController::verticalScrollbarLayerDidChange):
(WebCore::ScrollbarsController::horizontalScrollbarLayerDidChange):
(WebCore::ScrollbarsController::shouldScrollbarParticipateInHitTesting):
(WebCore::ScrollbarsController::notifyContentAreaScrolled):
(WebCore::ScrollbarsController::horizontalScrollbarStateForTesting const):
(WebCore::ScrollbarsController::verticalScrollbarStateForTesting const):

  • platform/generic/ScrollAnimatorGeneric.cpp:

(WebCore::ScrollAnimatorGeneric::ScrollAnimatorGeneric):
(WebCore::ScrollAnimatorGeneric::didAddVerticalScrollbar): Deleted.
(WebCore::ScrollAnimatorGeneric::didAddHorizontalScrollbar): Deleted.
(WebCore::ScrollAnimatorGeneric::willRemoveVerticalScrollbar): Deleted.
(WebCore::ScrollAnimatorGeneric::willRemoveHorizontalScrollbar): Deleted.
(WebCore::ScrollAnimatorGeneric::updateOverlayScrollbarsOpacity): Deleted.
(WebCore::easeOutCubic): Deleted.
(WebCore::ScrollAnimatorGeneric::overlayScrollbarAnimationTimerFired): Deleted.
(WebCore::ScrollAnimatorGeneric::showOverlayScrollbars): Deleted.
(WebCore::ScrollAnimatorGeneric::hideOverlayScrollbars): Deleted.
(WebCore::ScrollAnimatorGeneric::mouseEnteredContentArea): Deleted.
(WebCore::ScrollAnimatorGeneric::mouseExitedContentArea): Deleted.
(WebCore::ScrollAnimatorGeneric::mouseMovedInContentArea): Deleted.
(WebCore::ScrollAnimatorGeneric::contentAreaDidShow): Deleted.
(WebCore::ScrollAnimatorGeneric::contentAreaDidHide): Deleted.
(WebCore::ScrollAnimatorGeneric::notifyContentAreaScrolled): Deleted.
(WebCore::ScrollAnimatorGeneric::lockOverlayScrollbarStateToHidden): Deleted.

  • platform/generic/ScrollAnimatorGeneric.h:
  • platform/ios/ScrollAnimatorIOS.h:
  • platform/ios/ScrollAnimatorIOS.mm:

(WebCore::ScrollAnimatorIOS::ScrollAnimatorIOS):

  • platform/mac/ScrollAnimatorMac.h:

(WebCore::ScrollAnimatorMac::haveScrolledSincePageLoad const): Deleted.

  • platform/mac/ScrollAnimatorMac.mm:

(WebCore::ScrollAnimatorMac::ScrollAnimatorMac):
(WebCore::ScrollAnimatorMac::scroll):
(WebCore::ScrollAnimatorMac::notifyPositionChanged):
(WebCore::ScrollAnimatorMac::cancelAnimations):
(WebCore::ScrollAnimatorMac::handleWheelEventPhase):
(WebCore::ScrollAnimatorMac::handleWheelEvent):
(WebCore::macScrollbarTheme): Deleted.
(WebCore::scrollerImpForScrollbar): Deleted.
(-[WebScrollerImpPairDelegate initWithScrollableArea:]): Deleted.
(-[WebScrollerImpPairDelegate invalidate]): Deleted.
(-[WebScrollerImpPairDelegate contentAreaRectForScrollerImpPair:]): Deleted.
(-[WebScrollerImpPairDelegate inLiveResizeForScrollerImpPair:]): Deleted.
(-[WebScrollerImpPairDelegate mouseLocationInContentAreaForScrollerImpPair:]): Deleted.
(-[WebScrollerImpPairDelegate scrollerImpPair:convertContentPoint:toScrollerImp:]): Deleted.
(-[WebScrollerImpPairDelegate scrollerImpPair:setContentAreaNeedsDisplayInRect:]): Deleted.
(-[WebScrollerImpPairDelegate scrollerImpPair:updateScrollerStyleForNewRecommendedScrollerStyle:]): Deleted.
(operator<<): Deleted.
(-[WebScrollbarPartAnimation initWithScrollbar:featureToAnimate:animateFrom:animateTo:duration:]): Deleted.
(-[WebScrollbarPartAnimation startAnimation]): Deleted.
(-[WebScrollbarPartAnimation setStartValue:]): Deleted.
(-[WebScrollbarPartAnimation setEndValue:]): Deleted.
(-[WebScrollbarPartAnimation setCurrentProgress:]): Deleted.
(-[WebScrollbarPartAnimation invalidate]): Deleted.
(-[WebScrollbarPartAnimation setDuration:]): Deleted.
(-[WebScrollbarPartAnimation stopAnimation]): Deleted.
(-[WebScrollerImpDelegate initWithScrollbar:]): Deleted.
(-[WebScrollerImpDelegate cancelAnimations]): Deleted.
(-[WebScrollerImpDelegate scrollAnimator]): Deleted.
(-[WebScrollerImpDelegate convertRectToBacking:]): Deleted.
(-[WebScrollerImpDelegate convertRectFromBacking:]): Deleted.
(-[WebScrollerImpDelegate layer]): Deleted.
(-[WebScrollerImpDelegate mouseLocationInScrollerForScrollerImp:]): Deleted.
(-[WebScrollerImpDelegate convertRectToLayer:]): Deleted.
(-[WebScrollerImpDelegate shouldUseLayerPerPartForScrollerImp:]): Deleted.
(-[WebScrollerImpDelegate effectiveAppearanceForScrollerImp:]): Deleted.
(-[WebScrollerImpDelegate setUpAlphaAnimation:scrollerPainter:part:animateAlphaTo:duration:]): Deleted.
(-[WebScrollerImpDelegate scrollerImp:animateKnobAlphaTo:duration:]): Deleted.
(-[WebScrollerImpDelegate scrollerImp:animateTrackAlphaTo:duration:]): Deleted.
(-[WebScrollerImpDelegate scrollerImp:animateUIStateTransitionWithDuration:]): Deleted.
(-[WebScrollerImpDelegate scrollerImp:animateExpansionTransitionWithDuration:]): Deleted.
(-[WebScrollerImpDelegate scrollerImp:overlayScrollerStateChangedTo:]): Deleted.
(-[WebScrollerImpDelegate invalidate]): Deleted.
(WebCore::ScrollAnimatorMac::~ScrollAnimatorMac): Deleted.
(WebCore::scrollbarState): Deleted.
(WebCore::ScrollAnimatorMac::horizontalScrollbarStateForTesting const): Deleted.
(WebCore::ScrollAnimatorMac::verticalScrollbarStateForTesting const): Deleted.
(WebCore::ScrollAnimatorMac::contentAreaWillPaint const): Deleted.
(WebCore::ScrollAnimatorMac::mouseEnteredContentArea): Deleted.
(WebCore::ScrollAnimatorMac::mouseExitedContentArea): Deleted.
(WebCore::ScrollAnimatorMac::mouseMovedInContentArea): Deleted.
(WebCore::ScrollAnimatorMac::mouseEnteredScrollbar const): Deleted.
(WebCore::ScrollAnimatorMac::mouseExitedScrollbar const): Deleted.
(WebCore::ScrollAnimatorMac::mouseIsDownInScrollbar const): Deleted.
(WebCore::ScrollAnimatorMac::willStartLiveResize): Deleted.
(WebCore::ScrollAnimatorMac::contentsResized const): Deleted.
(WebCore::ScrollAnimatorMac::willEndLiveResize): Deleted.
(WebCore::ScrollAnimatorMac::contentAreaDidShow): Deleted.
(WebCore::ScrollAnimatorMac::contentAreaDidHide): Deleted.
(WebCore::ScrollAnimatorMac::didBeginScrollGesture const): Deleted.
(WebCore::ScrollAnimatorMac::didEndScrollGesture const): Deleted.
(WebCore::ScrollAnimatorMac::mayBeginScrollGesture const): Deleted.
(WebCore::ScrollAnimatorMac::lockOverlayScrollbarStateToHidden): Deleted.
(WebCore::ScrollAnimatorMac::scrollbarsCanBeActive const): Deleted.
(WebCore::ScrollAnimatorMac::didAddVerticalScrollbar): Deleted.
(WebCore::ScrollAnimatorMac::willRemoveVerticalScrollbar): Deleted.
(WebCore::ScrollAnimatorMac::didAddHorizontalScrollbar): Deleted.
(WebCore::ScrollAnimatorMac::willRemoveHorizontalScrollbar): Deleted.
(WebCore::ScrollAnimatorMac::invalidateScrollbarPartLayers): Deleted.
(WebCore::ScrollAnimatorMac::verticalScrollbarLayerDidChange): Deleted.
(WebCore::ScrollAnimatorMac::horizontalScrollbarLayerDidChange): Deleted.
(WebCore::ScrollAnimatorMac::shouldScrollbarParticipateInHitTesting): Deleted.
(WebCore::ScrollAnimatorMac::notifyContentAreaScrolled): Deleted.
(WebCore::ScrollAnimatorMac::updateScrollerStyle): Deleted.
(WebCore::ScrollAnimatorMac::startScrollbarPaintTimer): Deleted.
(WebCore::ScrollAnimatorMac::scrollbarPaintTimerIsActive const): Deleted.
(WebCore::ScrollAnimatorMac::stopScrollbarPaintTimer): Deleted.
(WebCore::ScrollAnimatorMac::initialScrollbarPaintTimerFired): Deleted.
(WebCore::ScrollAnimatorMac::sendContentAreaScrolledSoon): Deleted.
(WebCore::ScrollAnimatorMac::sendContentAreaScrolled): Deleted.
(WebCore::ScrollAnimatorMac::sendContentAreaScrolledTimerFired): Deleted.
(WebCore::ScrollAnimatorMac::setVisibleScrollerThumbRect): Deleted.

  • platform/mac/ScrollbarsControllerMac.h: Added.
  • platform/mac/ScrollbarsControllerMac.mm: Copied from Source/WebCore/platform/mac/ScrollAnimatorMac.mm.

(WebCore::macScrollbarTheme):
(WebCore::scrollerImpForScrollbar):
(-[WebScrollerImpPairDelegate initWithScrollableArea:]):
(-[WebScrollerImpPairDelegate invalidate]):
(-[WebScrollerImpPairDelegate contentAreaRectForScrollerImpPair:]):
(-[WebScrollerImpPairDelegate inLiveResizeForScrollerImpPair:]):
(-[WebScrollerImpPairDelegate mouseLocationInContentAreaForScrollerImpPair:]):
(-[WebScrollerImpPairDelegate scrollerImpPair:convertContentPoint:toScrollerImp:]):
(-[WebScrollerImpPairDelegate scrollerImpPair:setContentAreaNeedsDisplayInRect:]):
(-[WebScrollerImpPairDelegate scrollerImpPair:updateScrollerStyleForNewRecommendedScrollerStyle:]):
(operator<<):
(-[WebScrollbarPartAnimation initWithScrollbar:featureToAnimate:animateFrom:animateTo:duration:]):
(-[WebScrollbarPartAnimation startAnimation]):
(-[WebScrollbarPartAnimation setStartValue:]):
(-[WebScrollbarPartAnimation setEndValue:]):
(-[WebScrollbarPartAnimation setCurrentProgress:]):
(-[WebScrollbarPartAnimation invalidate]):
(-[WebScrollbarPartAnimation setDuration:]):
(-[WebScrollbarPartAnimation stopAnimation]):
(-[WebScrollerImpDelegate initWithScrollbar:]):
(-[WebScrollerImpDelegate cancelAnimations]):
(-[WebScrollerImpDelegate scrollbarsController]):
(-[WebScrollerImpDelegate convertRectToBacking:]):
(-[WebScrollerImpDelegate convertRectFromBacking:]):
(-[WebScrollerImpDelegate layer]):
(-[WebScrollerImpDelegate mouseLocationInScrollerForScrollerImp:]):
(-[WebScrollerImpDelegate convertRectToLayer:]):
(-[WebScrollerImpDelegate shouldUseLayerPerPartForScrollerImp:]):
(-[WebScrollerImpDelegate effectiveAppearanceForScrollerImp:]):
(-[WebScrollerImpDelegate setUpAlphaAnimation:scrollerPainter:part:animateAlphaTo:duration:]):
(-[WebScrollerImpDelegate scrollerImp:animateKnobAlphaTo:duration:]):
(-[WebScrollerImpDelegate scrollerImp:animateTrackAlphaTo:duration:]):
(-[WebScrollerImpDelegate scrollerImp:animateUIStateTransitionWithDuration:]):
(-[WebScrollerImpDelegate scrollerImp:animateExpansionTransitionWithDuration:]):
(-[WebScrollerImpDelegate scrollerImp:overlayScrollerStateChangedTo:]):
(-[WebScrollerImpDelegate invalidate]):
(WebCore::ScrollbarsController::create):
(WebCore::ScrollbarsControllerMac::ScrollbarsControllerMac):
(WebCore::ScrollbarsControllerMac::~ScrollbarsControllerMac):
(WebCore::ScrollbarsControllerMac::notifyPositionChanged):
(WebCore::ScrollbarsControllerMac::cancelAnimations):
(WebCore::ScrollbarsControllerMac::setVisibleScrollerThumbRect):
(WebCore::ScrollbarsControllerMac::haveScrolledSincePageLoad const):
(WebCore::ScrollbarsControllerMac::contentAreaWillPaint const):
(WebCore::ScrollbarsControllerMac::mouseEnteredContentArea):
(WebCore::ScrollbarsControllerMac::mouseExitedContentArea):
(WebCore::ScrollbarsControllerMac::mouseMovedInContentArea):
(WebCore::ScrollbarsControllerMac::mouseEnteredScrollbar const):
(WebCore::ScrollbarsControllerMac::mouseExitedScrollbar const):
(WebCore::ScrollbarsControllerMac::mouseIsDownInScrollbar const):
(WebCore::ScrollbarsControllerMac::willStartLiveResize):
(WebCore::ScrollbarsControllerMac::contentsSizeChanged const):
(WebCore::ScrollbarsControllerMac::willEndLiveResize):
(WebCore::ScrollbarsControllerMac::contentAreaDidShow):
(WebCore::ScrollbarsControllerMac::contentAreaDidHide):
(WebCore::ScrollbarsControllerMac::didBeginScrollGesture const):
(WebCore::ScrollbarsControllerMac::didEndScrollGesture const):
(WebCore::ScrollbarsControllerMac::mayBeginScrollGesture const):
(WebCore::ScrollbarsControllerMac::lockOverlayScrollbarStateToHidden):
(WebCore::ScrollbarsControllerMac::scrollbarsCanBeActive const):
(WebCore::ScrollbarsControllerMac::didAddVerticalScrollbar):
(WebCore::ScrollbarsControllerMac::willRemoveVerticalScrollbar):
(WebCore::ScrollbarsControllerMac::didAddHorizontalScrollbar):
(WebCore::ScrollbarsControllerMac::willRemoveHorizontalScrollbar):
(WebCore::ScrollbarsControllerMac::invalidateScrollbarPartLayers):
(WebCore::ScrollbarsControllerMac::verticalScrollbarLayerDidChange):
(WebCore::ScrollbarsControllerMac::horizontalScrollbarLayerDidChange):
(WebCore::ScrollbarsControllerMac::shouldScrollbarParticipateInHitTesting):
(WebCore::ScrollbarsControllerMac::notifyContentAreaScrolled):
(WebCore::ScrollbarsControllerMac::updateScrollerStyle):
(WebCore::ScrollbarsControllerMac::startScrollbarPaintTimer):
(WebCore::ScrollbarsControllerMac::scrollbarPaintTimerIsActive const):
(WebCore::ScrollbarsControllerMac::stopScrollbarPaintTimer):
(WebCore::ScrollbarsControllerMac::initialScrollbarPaintTimerFired):
(WebCore::ScrollbarsControllerMac::sendContentAreaScrolledTimerFired):
(WebCore::ScrollbarsControllerMac::sendContentAreaScrolledSoon):
(WebCore::ScrollbarsControllerMac::sendContentAreaScrolled):
(WebCore::scrollbarState):
(WebCore::ScrollbarsControllerMac::horizontalScrollbarStateForTesting const):
(WebCore::ScrollbarsControllerMac::verticalScrollbarStateForTesting const):
(WebCore::ScrollbarsControllerMac::wheelEventTestMonitor const):

  • platform/mock/ScrollAnimatorMock.h: Removed.
  • platform/mock/ScrollbarsControllerMock.cpp: Renamed from Source/WebCore/platform/mock/ScrollAnimatorMock.cpp.

(WebCore::ScrollbarsControllerMock::ScrollbarsControllerMock):
(WebCore::ScrollbarsControllerMock::didAddVerticalScrollbar):
(WebCore::ScrollbarsControllerMock::didAddHorizontalScrollbar):
(WebCore::ScrollbarsControllerMock::willRemoveVerticalScrollbar):
(WebCore::ScrollbarsControllerMock::willRemoveHorizontalScrollbar):
(WebCore::ScrollbarsControllerMock::mouseEnteredContentArea):
(WebCore::ScrollbarsControllerMock::mouseMovedInContentArea):
(WebCore::ScrollbarsControllerMock::mouseExitedContentArea):
(WebCore::ScrollbarsControllerMock::scrollbarPrefix const):
(WebCore::ScrollbarsControllerMock::mouseEnteredScrollbar const):
(WebCore::ScrollbarsControllerMock::mouseExitedScrollbar const):
(WebCore::ScrollbarsControllerMock::mouseIsDownInScrollbar const):

  • platform/mock/ScrollbarsControllerMock.h: Added.
8:27 PM Changeset in webkit [282719] by Chris Dumez
  • 2 edits in trunk/Tools

[ macOS Release ] TestWebKitAPI.NetworkProcess.BroadcastChannelCrashRecovery is flaky timing out
https://bugs.webkit.org/show_bug.cgi?id=230430
<rdar://problem/83256307>

Reviewed by Alex Christensen.

I suspect that the flakiness is due to the BroadcastChannel.postMessage() sometimes failing right
after we kill the network process and relaunch it. I believe this could happen because the test
was only making sure that [[WKWebsiteDataStore defaultDataStore] _networkProcessIdentifier]
changed. This meant that the UIProcess was indeed notified that the network process crashed and
that a new one was relaunched. However, this doesn't necessarily indicate that the view's
WebProcesses were notified yet. As a result, when we evaluate JS to post a message on a
BroadcastChannel, the WebProcess could potentially still try to send the IPC via the
IPC::Connection for the old network process.

To try and address this race, I am adding code to wait until cookie synchronization is
working across both web views before I try posting the message. Because cookie synchronization
involves the network process and both WebProcesses, once this happens, we know that both
WebProcesses are properly connected to the new NetworkProcess.

  • TestWebKitAPI/Tests/WebKitCocoa/NetworkProcess.mm:

(waitUntilNetworkProcessIsResponsive):
(TEST):

7:30 PM Changeset in webkit [282718] by Alan Bujtas
  • 4 edits in trunk

[LFC][IFC] Enable content with synthetic bold for IFC
https://bugs.webkit.org/show_bug.cgi?id=230383

Reviewed by Antti Koivisto.

Synthetic bold prevents us from using the fast text measuring codepath, but IFC does work
with the slow codepath too (FontCascade::widthForSimpleText vs FontCascade::width).

  • layout/integration/LayoutIntegrationCoverage.cpp:

(WebCore::LayoutIntegration::canUseForText):

  • rendering/RenderText.cpp:

(WebCore::RenderText::computeCanUseSimplifiedTextMeasuring const):

5:43 PM Changeset in webkit [282717] by commit-queue@webkit.org
  • 4 edits in trunk/Tools

[results.webkit.org] Add ability to access Bugzilla and Radar links from commit messages
https://bugs.webkit.org/show_bug.cgi?id=229160

Patch by Kevin Neal <kevin_neal@apple.com> on 2021-09-17
Reviewed by Jonathan Bedard.

  • Scripts/libraries/resultsdbpy/resultsdbpy/view/static/css/tooltip.css:

(.tooltip-content hr):
(@media (prefers-color-scheme: dark) .tooltip-content hr):

  • Scripts/libraries/resultsdbpy/resultsdbpy/view/static/js/commit.js:

(Commit):

  • Scripts/libraries/resultsdbpy/resultsdbpy/view/static/js/timeline.js:

(xAxisFromScale):

5:39 PM Changeset in webkit [282716] by Chris Dumez
  • 2 edits in trunk/LayoutTests

[ Catalina+ Win WK1 ] http/tests/misc/iframe-reparenting-id-collision.html is a flaky text failure
https://bugs.webkit.org/show_bug.cgi?id=230423
<rdar://problem/83252545>

Reviewed by Geoffrey Garen.

The test opens 2 identical windows. Each of these windows has an iframe which starts an XHR and then
calls iframeXHRStarted() and end up outputing the following line:
"Started loading iframe XHR request."

When the test fails, we see this line logged a third time, even though there are 2 popup windows.
The reason for this is that iframeXHRStarted() transfers an iframe from one popup to another once
both XHRs have started. When transferring the iframe a new XHR starts. The test calls
testRunner.notifyDone() right away but in some cases, the XHR still has time to start and print
the extra line.

  • http/tests/misc/iframe-reparenting-id-collision.html:
5:28 PM Changeset in webkit [282715] by Jonathan Bedard
  • 2 edits in trunk/Tools

[git-webkit] Reset author time when editing commits (Follow-up fix)
https://bugs.webkit.org/show_bug.cgi?id=230224
<rdar://problem/83065417>

Unreviewed follow-up fix.

  • Scripts/libraries/webkitscmpy/webkitscmpy/local/git.py:

(Git.pull): We can't update SVN if the HEAD commit does not have a revision.

5:22 PM Changeset in webkit [282714] by Jonathan Bedard
  • 6 edits in trunk/Tools

[webkitscmpy] Refactor PR branch management
https://bugs.webkit.org/show_bug.cgi?id=230432
<rdar://problem/83258413>

Reviewed by Stephanie Lewis.

  • Scripts/libraries/webkitscmpy/setup.py: Bump version.
  • Scripts/libraries/webkitscmpy/webkitscmpy/init.py: Ditto.
  • Scripts/libraries/webkitscmpy/webkitscmpy/program/branch.py:

(Branch): Specify that the 'eng' prefix is for pull-requests.
(Branch.normalize_branch_name): Normalized branch names should consider other developement prefixes.
(Branch.editable): Check if a branch is editable. Only includes development branches at the moment,
will include commit-queue in the near future.
(Branch.branch_point): Moved from pull_request.py.
(Branch.main):
(Branch.normalize_issue): Renamed normalize_branch_name.

  • Scripts/libraries/webkitscmpy/webkitscmpy/program/pull.py:

(Pull.main): branch_point is now owned Branch command.

  • Scripts/libraries/webkitscmpy/webkitscmpy/program/pull_request.py:

(PullRequest.main): Match DEV_BRANCHES instead of PREFIX, branch_point is now owned Branch command.
(PullRequest.branch_point): Moved to branch.py.

5:16 PM Changeset in webkit [282713] by Simon Fraser
  • 4 edits in trunk/LayoutTests

css/cssom-view/mouseEvent-offsetXY-svg.html passes now
https://bugs.webkit.org/show_bug.cgi?id=230271

Reviewed by Ryan Haddad.
LayoutTests/imported/w3c:

css/cssom-view/mouseEvent-offsetXY-svg.html passes after r282316.

  • web-platform-tests/css/cssom-view/mouseEvent-offsetXY-svg-expected.txt:

LayoutTests:

css/cssom-view/mouseEvent-offsetXY-svg.html passes after r282316.

5:10 PM Changeset in webkit [282712] by achristensen@apple.com
  • 125 edits
    1 add in trunk/Source

Use ObjectIdentifier for ResourceLoader
https://bugs.webkit.org/show_bug.cgi?id=230278

Reviewed by Michael Catanzaro.

Source/WebCore:

  • Modules/fetch/FetchLoader.cpp:

(WebCore::FetchLoader::didReceiveResponse):
(WebCore::FetchLoader::didFinishLoading):

  • Modules/fetch/FetchLoader.h:
  • WebCore.xcodeproj/project.pbxproj:
  • bindings/js/WorkerModuleScriptLoader.h:
  • dom/Document.cpp:

(WebCore::Document::processMetaHttpEquiv):

  • fileapi/FileReaderLoader.cpp:

(WebCore::FileReaderLoader::didReceiveResponse):
(WebCore::FileReaderLoader::didFinishLoading):

  • fileapi/FileReaderLoader.h:
  • inspector/InspectorInstrumentation.cpp:

(WebCore::InspectorInstrumentation::willSendRequestImpl):
(WebCore::InspectorInstrumentation::willSendRequestOfTypeImpl):
(WebCore::InspectorInstrumentation::didReceiveResourceResponseImpl):
(WebCore::InspectorInstrumentation::didReceiveThreadableLoaderResponseImpl):
(WebCore::InspectorInstrumentation::didReceiveDataImpl):
(WebCore::InspectorInstrumentation::didFinishLoadingImpl):
(WebCore::InspectorInstrumentation::didFailLoadingImpl):
(WebCore::InspectorInstrumentation::scriptImportedImpl):
(WebCore::InspectorInstrumentation::didReceiveScriptResponseImpl):
(WebCore::InspectorInstrumentation::interceptResponseImpl):

  • inspector/InspectorInstrumentation.h:

(WebCore::InspectorInstrumentation::willSendRequest):
(WebCore::InspectorInstrumentation::willSendRequestOfType):
(WebCore::InspectorInstrumentation::didReceiveResourceResponse):
(WebCore::InspectorInstrumentation::didReceiveThreadableLoaderResponse):
(WebCore::InspectorInstrumentation::didReceiveData):
(WebCore::InspectorInstrumentation::didFinishLoading):
(WebCore::InspectorInstrumentation::didFailLoading):
(WebCore::InspectorInstrumentation::continueAfterXFrameOptionsDenied):
(WebCore::InspectorInstrumentation::continueWithPolicyDownload):
(WebCore::InspectorInstrumentation::continueWithPolicyIgnore):
(WebCore::InspectorInstrumentation::scriptImported):
(WebCore::InspectorInstrumentation::didReceiveScriptResponse):
(WebCore::InspectorInstrumentation::interceptResponse):

  • inspector/InspectorInstrumentationWebKit.cpp:

(WebCore::InspectorInstrumentationWebKit::interceptResponseInternal):

  • inspector/InspectorInstrumentationWebKit.h:

(WebCore::InspectorInstrumentationWebKit::interceptResponse):

  • inspector/agents/InspectorNetworkAgent.cpp:

(WebCore::InspectorNetworkAgent::willSendRequest):
(WebCore::InspectorNetworkAgent::willSendRequestOfType):
(WebCore::InspectorNetworkAgent::didReceiveResponse):
(WebCore::InspectorNetworkAgent::didReceiveData):
(WebCore::InspectorNetworkAgent::didFinishLoading):
(WebCore::InspectorNetworkAgent::didFailLoading):
(WebCore::InspectorNetworkAgent::didLoadResourceFromMemoryCache):
(WebCore::InspectorNetworkAgent::setInitialScriptContent):
(WebCore::InspectorNetworkAgent::didReceiveScriptResponse):
(WebCore::InspectorNetworkAgent::didReceiveThreadableLoaderResponse):
(WebCore::InspectorNetworkAgent::interceptRequest):
(WebCore::InspectorNetworkAgent::interceptResponse):

  • inspector/agents/InspectorNetworkAgent.h:
  • inspector/agents/WebConsoleAgent.cpp:

(WebCore::WebConsoleAgent::didReceiveResponse):
(WebCore::WebConsoleAgent::didFailLoading):

  • inspector/agents/WebConsoleAgent.h:
  • loader/CrossOriginPreflightChecker.cpp:

(WebCore::CrossOriginPreflightChecker::validatePreflightResponse):
(WebCore::CrossOriginPreflightChecker::doPreflight):

  • loader/CrossOriginPreflightChecker.h:
  • loader/DocumentLoader.cpp:

(WebCore::DocumentLoader::finishedLoading):
(WebCore::DocumentLoader::tryLoadingSubstituteData):
(WebCore::DocumentLoader::stopLoadingAfterXFrameOptionsOrContentSecurityPolicyDenied):
(WebCore::DocumentLoader::responseReceived):
(WebCore::DocumentLoader::disallowDataRequest const):
(WebCore::DocumentLoader::addSubresourceLoader):
(WebCore::DocumentLoader::loadMainResource):
(WebCore::DocumentLoader::subresourceLoaderFinishedLoadingOnePart):

  • loader/DocumentLoader.h:
  • loader/DocumentThreadableLoader.cpp:

(WebCore::DocumentThreadableLoader::didReceiveResponse):
(WebCore::DocumentThreadableLoader::didReceiveData):
(WebCore::DocumentThreadableLoader::didFinishLoading):
(WebCore::DocumentThreadableLoader::didFail):
(WebCore::DocumentThreadableLoader::preflightFailure):
(WebCore::DocumentThreadableLoader::loadRequest):

  • loader/DocumentThreadableLoader.h:
  • loader/EmptyClients.cpp:

(WebCore::EmptyFrameLoaderClient::assignIdentifierToInitialRequest):
(WebCore::EmptyFrameLoaderClient::shouldUseCredentialStorage):
(WebCore::EmptyFrameLoaderClient::dispatchWillSendRequest):
(WebCore::EmptyFrameLoaderClient::dispatchDidReceiveAuthenticationChallenge):
(WebCore::EmptyFrameLoaderClient::canAuthenticateAgainstProtectionSpace):
(WebCore::EmptyFrameLoaderClient::connectionProperties):
(WebCore::EmptyFrameLoaderClient::dispatchDidReceiveResponse):
(WebCore::EmptyFrameLoaderClient::dispatchDidReceiveContentLength):
(WebCore::EmptyFrameLoaderClient::dispatchDidFinishLoading):
(WebCore::EmptyFrameLoaderClient::dispatchDidFailLoading):
(WebCore::EmptyFrameLoaderClient::willCacheResponse const):
(WebCore::EmptyFrameLoaderClient::shouldCacheResponse):

  • loader/EmptyFrameLoaderClient.h:
  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::willLoadMediaElementURL):
(WebCore::FrameLoader::commitProvisionalLoad):
(WebCore::FrameLoader::loadResourceSynchronously):
(WebCore::FrameLoader::requestFromDelegate):
(WebCore::FrameLoader::loadedResourceFromMemoryCache):
(WebCore::FrameLoader::shouldInterruptLoadForXFrameOptions):

  • loader/FrameLoader.h:
  • loader/FrameLoaderClient.h:
  • loader/LoaderStrategy.cpp:

(WebCore::LoaderStrategy::responseFromResourceLoadIdentifier):
(WebCore::LoaderStrategy::networkMetricsFromResourceLoadIdentifier):
(WebCore::LoaderStrategy::intermediateLoadInformationFromResourceLoadIdentifier):

  • loader/LoaderStrategy.h:

(WebCore::LoaderStrategy::ongoingLoads const):
(): Deleted.

  • loader/PingLoader.cpp:

(WebCore::PingLoader::startPingLoad):

  • loader/ProgressTracker.cpp:

(WebCore::ProgressTracker::incrementProgress):
(WebCore::ProgressTracker::completeProgress):
(WebCore::ProgressTracker::createUniqueIdentifier):

  • loader/ProgressTracker.h:
  • loader/ResourceLoadNotifier.cpp:

(WebCore::ResourceLoadNotifier::didReceiveAuthenticationChallenge):
(WebCore::ResourceLoadNotifier::assignIdentifierToInitialRequest):
(WebCore::ResourceLoadNotifier::dispatchWillSendRequest):
(WebCore::ResourceLoadNotifier::dispatchDidReceiveResponse):
(WebCore::ResourceLoadNotifier::dispatchDidReceiveData):
(WebCore::ResourceLoadNotifier::dispatchDidFinishLoading):
(WebCore::ResourceLoadNotifier::dispatchDidFailLoading):
(WebCore::ResourceLoadNotifier::sendRemainingDelegateMessages):

  • loader/ResourceLoadNotifier.h:
  • loader/ResourceLoader.cpp:

(WebCore::ResourceLoader::releaseResources):
(WebCore::ResourceLoader::willSendRequestInternal):

  • loader/ResourceLoader.h:

(WebCore::ResourceLoader::identifier const):

  • loader/ResourceLoaderIdentifier.h: Copied from Source/WebKit/Shared/URLSchemeTaskParameters.h.
  • loader/SubresourceLoader.cpp:

(WebCore::SubresourceLoader::init):
(WebCore::SubresourceLoader::willSendRequestInternal):
(WebCore::SubresourceLoader::didReceiveResponse):
(WebCore::SubresourceLoader::didFinishLoading):
(WebCore::SubresourceLoader::didFail):
(WebCore::SubresourceLoader::didCancel):

  • loader/ThreadableLoaderClient.h:

(WebCore::ThreadableLoaderClient::didSendData):
(WebCore::ThreadableLoaderClient::didReceiveResponse):
(WebCore::ThreadableLoaderClient::didReceiveData):
(WebCore::ThreadableLoaderClient::didFinishLoading):
(WebCore::ThreadableLoaderClient::didFail):
(WebCore::ThreadableLoaderClient::didFinishTiming):
(WebCore::ThreadableLoaderClient::notifyIsDone):

  • loader/ThreadableLoaderClientWrapper.h:

(WebCore::ThreadableLoaderClientWrapper::didReceiveResponse):
(WebCore::ThreadableLoaderClientWrapper::didFinishLoading):
(WebCore::ThreadableLoaderClientWrapper::didReceiveAuthenticationCancellation):

  • loader/WorkerThreadableLoader.cpp:

(WebCore::WorkerThreadableLoader::MainThreadBridge::MainThreadBridge):
(WebCore::WorkerThreadableLoader::MainThreadBridge::didReceiveResponse):
(WebCore::WorkerThreadableLoader::MainThreadBridge::didFinishLoading):

  • loader/WorkerThreadableLoader.h:

(WebCore::WorkerThreadableLoader::create):
(WebCore::WorkerThreadableLoader::done const):

  • loader/appcache/ApplicationCacheGroup.cpp:

(WebCore::ApplicationCacheGroup::update):
(WebCore::ApplicationCacheGroup::startLoadingEntry):

  • loader/appcache/ApplicationCacheGroup.h:
  • loader/cache/CachedRawResource.cpp:

(WebCore::CachedRawResource::CachedRawResource):

  • loader/cache/CachedRawResource.h:
  • loader/cache/CachedResource.cpp:

(WebCore::CachedResource::load):

  • loader/cache/CachedResource.h:

(WebCore::CachedResource::identifierForLoadWithoutResourceLoader const):

  • page/EventSource.cpp:

(WebCore::EventSource::didReceiveResponse):
(WebCore::EventSource::didFinishLoading):

  • page/EventSource.h:
  • workers/Worker.cpp:

(WebCore::Worker::didReceiveResponse):

  • workers/Worker.h:
  • workers/WorkerFontLoadRequest.cpp:

(WebCore::WorkerFontLoadRequest::didReceiveResponse):
(WebCore::WorkerFontLoadRequest::didFinishLoading):

  • workers/WorkerFontLoadRequest.h:
  • workers/WorkerOrWorkletGlobalScope.h:

(WebCore::WorkerOrWorkletGlobalScope::createUniqueIdentifier): Deleted.

  • workers/WorkerScriptLoader.cpp:

(WebCore::WorkerScriptLoader::didReceiveResponse):
(WebCore::WorkerScriptLoader::didFinishLoading):

  • workers/WorkerScriptLoader.h:

(WebCore::WorkerScriptLoader::identifier const):

  • workers/WorkerScriptLoaderClient.h:
  • workers/service/ServiceWorkerJob.cpp:

(WebCore::ServiceWorkerJob::didReceiveResponse):

  • workers/service/ServiceWorkerJob.h:
  • xml/XMLHttpRequest.cpp:

(WebCore::XMLHttpRequest::didFinishLoading):
(WebCore::XMLHttpRequest::didReceiveResponse):

  • xml/XMLHttpRequest.h:

Source/WebKit:

  • NetworkProcess/NetworkConnectionToWebProcess.cpp:

(WebKit::NetworkConnectionToWebProcess::didReceiveMessage):
(WebKit::NetworkConnectionToWebProcess::resolveBlobReferences):
(WebKit::NetworkConnectionToWebProcess::scheduleResourceLoad):
(WebKit::NetworkConnectionToWebProcess::performSynchronousLoad):
(WebKit::NetworkConnectionToWebProcess::loadPing):
(WebKit::NetworkConnectionToWebProcess::removeLoadIdentifier):
(WebKit::NetworkConnectionToWebProcess::preconnectTo):
(WebKit::NetworkConnectionToWebProcess::isResourceLoadFinished):
(WebKit::NetworkConnectionToWebProcess::didFinishPreconnection):
(WebKit::NetworkConnectionToWebProcess::convertMainResourceLoadToDownload):
(WebKit::NetworkConnectionToWebProcess::startTrackingResourceLoad):
(WebKit::NetworkConnectionToWebProcess::stopTrackingResourceLoad):
(WebKit::NetworkConnectionToWebProcess::findNetworkActivityTracker):
(WebKit::NetworkConnectionToWebProcess::prioritizeResourceLoads):
(WebKit::NetworkConnectionToWebProcess::takeNetworkResourceLoader):

  • NetworkProcess/NetworkConnectionToWebProcess.h:

(WebKit::NetworkConnectionToWebProcess::getNetworkLoadInformationResponse):
(WebKit::NetworkConnectionToWebProcess::getNetworkLoadIntermediateInformation):
(WebKit::NetworkConnectionToWebProcess::takeNetworkLoadInformationMetrics):
(WebKit::NetworkConnectionToWebProcess::addNetworkLoadInformation):
(WebKit::NetworkConnectionToWebProcess::addNetworkLoadInformationMetrics):
(WebKit::NetworkConnectionToWebProcess::removeNetworkLoadInformation):
(WebKit::NetworkConnectionToWebProcess::ResourceNetworkActivityTracker::ResourceNetworkActivityTracker):

  • NetworkProcess/NetworkConnectionToWebProcess.messages.in:
  • NetworkProcess/NetworkProcess.cpp:

(WebKit::NetworkProcess::prepareLoadForWebProcessTransfer):

  • NetworkProcess/NetworkProcess.h:
  • NetworkProcess/NetworkProcess.messages.in:
  • NetworkProcess/NetworkResourceLoadMap.cpp:

(WebKit::NetworkResourceLoadMap::add):
(WebKit::NetworkResourceLoadMap::remove):
(WebKit::NetworkResourceLoadMap::take):
(WebKit::NetworkResourceLoadMap::get const):

  • NetworkProcess/NetworkResourceLoadMap.h:

(WebKit::NetworkResourceLoadMap::contains const):

  • NetworkProcess/NetworkResourceLoadParameters.h:
  • NetworkProcess/NetworkResourceLoader.cpp:

(WebKit::NetworkResourceLoader::transferToNewWebProcess):
(WebKit::escapeIDForJSON):
(WebKit::logBlockedCookieInformation):
(WebKit::logCookieInformationInternal):
(WebKit::NetworkResourceLoader::logCookieInformation):

  • NetworkProcess/NetworkResourceLoader.h:
  • Scripts/webkit/messages.py:

(types_that_cannot_be_forward_declared):

  • Shared/URLSchemeTaskParameters.cpp:

(WebKit::URLSchemeTaskParameters::decode):

  • Shared/URLSchemeTaskParameters.h:
  • UIProcess/Network/NetworkProcessProxy.cpp:

(WebKit::NetworkProcessProxy::prepareLoadForWebProcessTransfer):

  • UIProcess/Network/NetworkProcessProxy.h:
  • UIProcess/ProvisionalPageProxy.cpp:

(WebKit::ProvisionalPageProxy::decidePolicyForResponse):

  • UIProcess/ProvisionalPageProxy.h:
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::decidePolicyForResponse):
(WebKit::WebPageProxy::decidePolicyForResponseShared):
(WebKit::WebPageProxy::stopURLSchemeTask):

  • UIProcess/WebPageProxy.h:
  • UIProcess/WebPageProxy.messages.in:
  • UIProcess/WebURLSchemeHandler.cpp:

(WebKit::WebURLSchemeHandler::startTask):
(WebKit::WebURLSchemeHandler::processForTaskIdentifier const):
(WebKit::WebURLSchemeHandler::stopAllTasksForPage):
(WebKit::WebURLSchemeHandler::stopTask):
(WebKit::WebURLSchemeHandler::removeTaskFromPageMap):

  • UIProcess/WebURLSchemeHandler.h:
  • UIProcess/WebURLSchemeTask.h:

(WebKit::WebURLSchemeTask::identifier const):

  • WebProcess/InjectedBundle/API/APIInjectedBundlePageResourceLoadClient.h:

(API::InjectedBundle::ResourceLoadClient::didInitiateLoadForResource):
(API::InjectedBundle::ResourceLoadClient::willSendRequestForFrame):
(API::InjectedBundle::ResourceLoadClient::didReceiveResponseForResource):
(API::InjectedBundle::ResourceLoadClient::didReceiveContentLengthForResource):
(API::InjectedBundle::ResourceLoadClient::didFinishLoadForResource):
(API::InjectedBundle::ResourceLoadClient::didFailLoadForResource):
(API::InjectedBundle::ResourceLoadClient::shouldCacheResponse):
(API::InjectedBundle::ResourceLoadClient::shouldUseCredentialStorage):

  • WebProcess/InjectedBundle/InjectedBundlePageResourceLoadClient.cpp:

(WebKit::InjectedBundlePageResourceLoadClient::didInitiateLoadForResource):
(WebKit::InjectedBundlePageResourceLoadClient::willSendRequestForFrame):
(WebKit::InjectedBundlePageResourceLoadClient::didReceiveResponseForResource):
(WebKit::InjectedBundlePageResourceLoadClient::didReceiveContentLengthForResource):
(WebKit::InjectedBundlePageResourceLoadClient::didFinishLoadForResource):
(WebKit::InjectedBundlePageResourceLoadClient::didFailLoadForResource):
(WebKit::InjectedBundlePageResourceLoadClient::shouldCacheResponse):
(WebKit::InjectedBundlePageResourceLoadClient::shouldUseCredentialStorage):

  • WebProcess/InjectedBundle/InjectedBundlePageResourceLoadClient.h:
  • WebProcess/Network/NetworkProcessConnection.cpp:

(WebKit::NetworkProcessConnection::didReceiveMessage):
(WebKit::NetworkProcessConnection::didFinishPingLoad):
(WebKit::NetworkProcessConnection::didFinishPreconnection):

  • WebProcess/Network/NetworkProcessConnection.h:
  • WebProcess/Network/NetworkProcessConnection.messages.in:
  • WebProcess/Network/WebLoaderStrategy.cpp:

(WebKit::WebLoaderStrategy::scheduleLoad):
(WebKit::WebLoaderStrategy::scheduleLoadFromNetworkProcess):
(WebKit::WebLoaderStrategy::remove):
(WebKit::WebLoaderStrategy::tryLoadingSynchronouslyUsingURLSchemeHandler):
(WebKit::WebLoaderStrategy::loadResourceSynchronously):
(WebKit::WebLoaderStrategy::startPingLoad):
(WebKit::WebLoaderStrategy::didFinishPingLoad):
(WebKit::WebLoaderStrategy::preconnectTo):
(WebKit::WebLoaderStrategy::didFinishPreconnection):
(WebKit::WebLoaderStrategy::responseFromResourceLoadIdentifier):
(WebKit::WebLoaderStrategy::intermediateLoadInformationFromResourceLoadIdentifier):
(WebKit::WebLoaderStrategy::networkMetricsFromResourceLoadIdentifier):
(WebKit::WebLoaderStrategy::prioritizeResourceLoads):
(WebKit::WebLoaderStrategy::generateLoadIdentifier): Deleted.

  • WebProcess/Network/WebLoaderStrategy.h:
  • WebProcess/Network/WebResourceInterceptController.cpp:

(WebKit::WebResourceInterceptController::isIntercepting const):
(WebKit::WebResourceInterceptController::beginInterceptingResponse):
(WebKit::WebResourceInterceptController::continueResponse):
(WebKit::WebResourceInterceptController::interceptedResponse):
(WebKit::WebResourceInterceptController::defer):

  • WebProcess/Network/WebResourceInterceptController.h:
  • WebProcess/Network/WebResourceLoader.cpp:

(WebKit::WebResourceLoader::messageSenderDestinationID const):
(WebKit::WebResourceLoader::didReceiveResponse):

  • WebProcess/Network/WebResourceLoader.h:
  • WebProcess/Storage/WebSWContextManagerConnection.h:
  • WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:

(WebKit::WebFrameLoaderClient::assignIdentifierToInitialRequest):
(WebKit::WebFrameLoaderClient::dispatchWillSendRequest):
(WebKit::WebFrameLoaderClient::shouldUseCredentialStorage):
(WebKit::WebFrameLoaderClient::dispatchDidReceiveAuthenticationChallenge):
(WebKit::WebFrameLoaderClient::canAuthenticateAgainstProtectionSpace):
(WebKit::WebFrameLoaderClient::dispatchDidReceiveResponse):
(WebKit::WebFrameLoaderClient::dispatchDidReceiveContentLength):
(WebKit::WebFrameLoaderClient::dispatchDidFinishLoading):
(WebKit::WebFrameLoaderClient::dispatchDidFailLoading):
(WebKit::WebFrameLoaderClient::dispatchDecidePolicyForResponse):
(WebKit::WebFrameLoaderClient::willCacheResponse const):
(WebKit::WebFrameLoaderClient::sendH2Ping):

  • WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
  • WebProcess/WebPage/WebFrame.cpp:

(WebKit::WebFrame::convertMainResourceLoadToDownload):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::addConsoleMessage):
(WebKit::WebPage::addResourceRequest):
(WebKit::WebPage::removeResourceRequest):
(WebKit::WebPage::urlSchemeTaskWillPerformRedirection):
(WebKit::WebPage::urlSchemeTaskDidPerformRedirection):
(WebKit::WebPage::urlSchemeTaskDidReceiveResponse):
(WebKit::WebPage::urlSchemeTaskDidReceiveData):
(WebKit::WebPage::urlSchemeTaskDidComplete):

  • WebProcess/WebPage/WebPage.h:

(WebKit::WebPage::addConsoleMessage):

  • WebProcess/WebPage/WebPage.messages.in:
  • WebProcess/WebPage/WebURLSchemeHandlerProxy.cpp:

(WebKit::WebURLSchemeHandlerProxy::loadSynchronously):
(WebKit::WebURLSchemeHandlerProxy::taskDidPerformRedirection):
(WebKit::WebURLSchemeHandlerProxy::taskDidReceiveResponse):
(WebKit::WebURLSchemeHandlerProxy::taskDidReceiveData):
(WebKit::WebURLSchemeHandlerProxy::taskDidComplete):
(WebKit::WebURLSchemeHandlerProxy::removeTask):

  • WebProcess/WebPage/WebURLSchemeHandlerProxy.h:
  • WebProcess/WebPage/WebURLSchemeTaskProxy.cpp:
  • WebProcess/WebPage/WebURLSchemeTaskProxy.h:

(WebKit::WebURLSchemeTaskProxy::identifier const):

Source/WebKitLegacy:

  • WebCoreSupport/WebResourceLoadScheduler.cpp:

(WebResourceLoadScheduler::loadResourceSynchronously):

  • WebCoreSupport/WebResourceLoadScheduler.h:

Source/WebKitLegacy/mac:

  • WebCoreSupport/WebFrameLoaderClient.h:
  • WebCoreSupport/WebFrameLoaderClient.mm:

(WebFrameLoaderClient::assignIdentifierToInitialRequest):
(WebFrameLoaderClient::dispatchWillSendRequest):
(WebFrameLoaderClient::shouldUseCredentialStorage):
(WebFrameLoaderClient::dispatchDidReceiveAuthenticationChallenge):
(WebFrameLoaderClient::canAuthenticateAgainstProtectionSpace):
(WebFrameLoaderClient::connectionProperties):
(WebFrameLoaderClient::dispatchDidReceiveResponse):
(WebFrameLoaderClient::willCacheResponse const):
(WebFrameLoaderClient::dispatchDidReceiveContentLength):
(WebFrameLoaderClient::dispatchDidFinishLoading):
(WebFrameLoaderClient::dispatchDidFailLoading):

  • WebView/WebDocumentLoaderMac.h:
  • WebView/WebDocumentLoaderMac.mm:

(WebDocumentLoaderMac::increaseLoadCount):
(WebDocumentLoaderMac::decreaseLoadCount):

  • WebView/WebViewInternal.h:

Source/WebKitLegacy/win:

  • WebCoreSupport/WebFrameLoaderClient.cpp:

(WebFrameLoaderClient::assignIdentifierToInitialRequest):
(WebFrameLoaderClient::shouldUseCredentialStorage):
(WebFrameLoaderClient::dispatchDidReceiveAuthenticationChallenge):
(WebFrameLoaderClient::dispatchWillSendRequest):
(WebFrameLoaderClient::dispatchDidReceiveResponse):
(WebFrameLoaderClient::dispatchDidReceiveContentLength):
(WebFrameLoaderClient::dispatchDidFinishLoading):
(WebFrameLoaderClient::dispatchDidFailLoading):
(WebFrameLoaderClient::shouldCacheResponse):

  • WebCoreSupport/WebFrameLoaderClient.h:
4:46 PM Changeset in webkit [282711] by Kate Cheney
  • 8 edits
    1 delete in trunk

Remove unnecessary ITP memory store code
https://bugs.webkit.org/show_bug.cgi?id=229512
<rdar://problem/82644309>

Reviewed by John Wilander.

Source/WebKit:

No new tests. Confirmed by existing tests.

Remove ITP Memory store. This is the first part of a two part operation,
which removes the ResourceLoadStatisticsMemoryStore class. The next
step will be reducing ResourceLoadStatisticsStore and
ResourceLoadStatisticsDatabaseStore to one single ResourceLoadStatisticsStore class.

  • NetworkProcess/Classifier/ResourceLoadStatisticsDatabaseStore.cpp:

(WebKit::ResourceLoadStatisticsDatabaseStore::populateFromMemoryStore): Deleted.

  • NetworkProcess/Classifier/ResourceLoadStatisticsDatabaseStore.h:
  • NetworkProcess/Classifier/ResourceLoadStatisticsMemoryStore.cpp: Removed.
  • NetworkProcess/Classifier/WebResourceLoadStatisticsStore.cpp:

(WebKit::WebResourceLoadStatisticsStore::WebResourceLoadStatisticsStore):

  • Sources.txt:
  • WebKit.xcodeproj/project.pbxproj:

Tools:

  • TestWebKitAPI/Tests/WebKitCocoa/ResourceLoadStatistics.mm:

(TEST):
Deleted an extra memory store test leftover from when we still had
a functioning memory store. Now it is just a duplicate of the database
test, so we can remove it.

4:45 PM Changeset in webkit [282710] by mmaxfield@apple.com
  • 2 edits in trunk/Source/WebCore

Fix the Xcode build

Unreviewed.

No new tests because there is no behavior change.

  • DerivedSources-output.xcfilelist:
4:40 PM Changeset in webkit [282709] by Ayumi Kojima
  • 2 edits in trunk/LayoutTests

[ MacOS ] http/tests/media/track-in-band-hls-metadata.htm is a flaky failure.
https://bugs.webkit.org/show_bug.cgi?id=230435

Unreviewed test gardening.

  • platform/mac/TestExpectations:
4:33 PM Changeset in webkit [282708] by Eric Hutchison
  • 2 edits in trunk/LayoutTests

[iOS] http/tests/navigation/back-to-slow-frame.html is a flaky crash.
https://bugs.webkit.org/show_bug.cgi?id=230434.

Unreviewed test gardening.

  • platform/ios-wk2/TestExpectations:
4:17 PM Changeset in webkit [282707] by ysuzuki@apple.com
  • 15 edits
    1 add in trunk

[JSC] Add fast property enumeration mode for JSON.stringify
https://bugs.webkit.org/show_bug.cgi?id=230393

Reviewed by Mark Lam.

JSTests:

  • stress/json-stringify-object-modify.js: Added.

(shouldBe):
(throw.new.Error.let.object.hello.get inner):
(throw.new.Error):
(shouldBe.let.object.hello.get inner):

Source/JavaScriptCore:

We collected profiles and found several subtests are using JSON.stringify enough. And generated strings are many serialized leaf objects.

This patch adds fast object property enumeration. When we know that source object meets some conditions, we can say that,
as long as structure is not changed, we can continue using property names and offset collected from the structure.
This way removes non observable Get operations to accelerate JSON.stringify performance for major object iteration cases.

We also extend MarkedArgumentBuffer: introducing MarkedArgumentBufferWithSize which can take default inline capacity as a template
parameter. This is used in JSON.stringify to increase the buffer because now we also need to record structures in MarkedArgumentBuffer.

This offers 0.4% improvement in Speedometer2 (EmberJS-TodoMVC, Vanilla-XXX, EmberJS-Debug-TodoMVC, they have enough amount of JSON.stringify
time).


| subtest | ms | ms | b / a | pValue (significance using False Discovery Rate) |


| Elm-TodoMVC |117.710000 |117.751667 |1.000354 | 0.883246 |
| VueJS-TodoMVC |24.500000 |24.311667 |0.992313 | 0.365130 |
| EmberJS-TodoMVC |126.646667 |125.738333 |0.992828 | 0.002587 (significant) |
| BackboneJS-TodoMVC |47.873333 |47.911667 |1.000801 | 0.762509 |
| Preact-TodoMVC |17.020000 |17.070000 |1.002938 | 0.786799 |
| AngularJS-TodoMVC |129.856667 |129.353333 |0.996124 | 0.177632 |
| Vanilla-ES2015-TodoMVC |61.698333 |61.120000 |0.990626 | 0.000003 (significant) |
| Inferno-TodoMVC |62.840000 |62.496667 |0.994536 | 0.312340 |
| Flight-TodoMVC |77.095000 |76.936667 |0.997946 | 0.702724 |
| Angular2-TypeScript-TodoMVC |39.740000 |39.191667 |0.986202 | 0.053485 |
| VanillaJS-TodoMVC |49.008333 |48.346667 |0.986499 | 0.000638 (significant) |
| jQuery-TodoMVC |216.785000 |217.188333 |1.001861 | 0.270747 |
| EmberJS-Debug-TodoMVC |344.230000 |342.993333 |0.996407 | 0.012262 (significant) |
| React-TodoMVC |85.461667 |85.411667 |0.999415 | 0.758049 |
| React-Redux-TodoMVC |140.681667 |140.640000 |0.999704 | 0.871277 |
| Vanilla-ES2015-Babel-Webpack-TodoMVC |59.928333 |59.351667 |0.990377 | 0.000000 (significant) |


a mean = 264.40650
b mean = 265.51533
pValue = 0.0005567357
(Bigger means are better.)
1.004 times better
Results ARE significant

  • heap/Heap.cpp:

(JSC::Heap::addCoreConstraints):

  • heap/Heap.h:
  • heap/HeapInlines.h:
  • runtime/ArgList.cpp:

(JSC::MarkedArgumentBufferBase::addMarkSet):
(JSC::MarkedArgumentBufferBase::markLists):
(JSC::MarkedArgumentBufferBase::slowEnsureCapacity):
(JSC::MarkedArgumentBufferBase::expandCapacity):
(JSC::MarkedArgumentBufferBase::slowAppend):
(JSC::MarkedArgumentBuffer::addMarkSet): Deleted.
(JSC::MarkedArgumentBuffer::markLists): Deleted.
(JSC::MarkedArgumentBuffer::slowEnsureCapacity): Deleted.
(JSC::MarkedArgumentBuffer::expandCapacity): Deleted.
(JSC::MarkedArgumentBuffer::slowAppend): Deleted.

  • runtime/ArgList.h:

(JSC::MarkedArgumentBufferWithSize::MarkedArgumentBufferWithSize):
(JSC::MarkedArgumentBuffer::MarkedArgumentBuffer): Deleted.
(JSC::MarkedArgumentBuffer::~MarkedArgumentBuffer): Deleted.
(JSC::MarkedArgumentBuffer::size const): Deleted.
(JSC::MarkedArgumentBuffer::isEmpty const): Deleted.
(JSC::MarkedArgumentBuffer::at const): Deleted.
(JSC::MarkedArgumentBuffer::clear): Deleted.
(JSC::MarkedArgumentBuffer::appendWithAction): Deleted.
(JSC::MarkedArgumentBuffer::append): Deleted.
(JSC::MarkedArgumentBuffer::appendWithCrashOnOverflow): Deleted.
(JSC::MarkedArgumentBuffer::removeLast): Deleted.
(JSC::MarkedArgumentBuffer::last): Deleted.
(JSC::MarkedArgumentBuffer::takeLast): Deleted.
(JSC::MarkedArgumentBuffer::ensureCapacity): Deleted.
(JSC::MarkedArgumentBuffer::hasOverflowed): Deleted.
(JSC::MarkedArgumentBuffer::overflowCheckNotNeeded): Deleted.
(JSC::MarkedArgumentBuffer::fill): Deleted.
(JSC::MarkedArgumentBuffer::slotFor const): Deleted.
(JSC::MarkedArgumentBuffer::mallocBase): Deleted.
(JSC::MarkedArgumentBuffer::setNeedsOverflowCheck): Deleted.
(JSC::MarkedArgumentBuffer::clearNeedsOverflowCheck): Deleted.

  • runtime/JSONObject.cpp:

(JSC::Stringifier::Holder::hasFastObjectProperties const):
(JSC::Stringifier::appendStringifiedValue):
(JSC::Stringifier::Holder::Holder):
(JSC::Stringifier::Holder::appendNextProperty):

  • runtime/ObjectConstructorInlines.h:

(JSC::canPerformFastPropertyEnumerationForJSONStringify):

Source/WebCore:

  • Modules/webaudio/AudioWorkletProcessor.cpp:

(WebCore::AudioWorkletProcessor::buildJSArguments):

  • Modules/webaudio/AudioWorkletProcessor.h:

Source/WebKitLegacy/mac:

  • Plugins/Hosted/NetscapePluginInstanceProxy.h:
  • Plugins/Hosted/NetscapePluginInstanceProxy.mm:

(WebKit::NetscapePluginInstanceProxy::demarshalValues):

4:15 PM Changeset in webkit [282706] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

Add CustomToJSObject wrapper for CSSStyleValueCustom
https://bugs.webkit.org/show_bug.cgi?id=230422

Patch by Johnson Zhou <qiaosong_zhou@apple.com> on 2021-09-17
Reviewed by Alex Christensen.

  • bindings/js/JSCSSStyleValueCustom.cpp:

(WebCore::toJSNewlyCreated):

  • css/typedom/CSSKeywordValue.h:

(isType):

4:13 PM Changeset in webkit [282705] by ddkilzer@apple.com
  • 3 edits in trunk

Remove duplicate ChangeLog entries.

4:08 PM Changeset in webkit [282704] by ddkilzer@apple.com
  • 2 edits in trunk/Source/WTF

Build fix: WebKit::WebProcessPool should use a weak observer with CFNotificationCenter
<https://webkit.org/b/230227>
<rdar://problem/83067708>

  • wtf/spi/cocoa/NSObjCRuntimeSPI.h:
  • Fix internal Catalina builds by including NSObjCRuntime_Private.h, but falling through to define NS_DIRECT and NS_DIRECT_MEMBERS if they weren't defined in the private header.
4:08 PM Changeset in webkit [282703] by ddkilzer@apple.com
  • 3 edits in trunk

WebKit::WebProcessPool should use a weak observer with CFNotificationCenter
<https://webkit.org/b/230227>
<rdar://problem/83067708>

Reviewed by Darin Adler.

Source/WebKit:

To fix the bug, implement an Objective-C class named
WKProcessPoolWeakObserver which contains an instance variable
holding a WeakPtr<WebProcessPool>, and tell CFNotificationCenter
to hold a weak reference to WKProcessPoolWeakObserver.

Since WKProcessPoolWeakObserver is self-contained within the
source file, it uses the NS_DIRECT_MEMBERS attribute since it
does not require the overhead of dynamic Objective-C method
dispatch.

  • UIProcess/Cocoa/WebProcessPoolCocoa.mm:

(-[WKProcessPoolWeakObserver initWithWeakPtr:]): Add.
(-[WKProcessPoolWeakObserver pool]): Add.

  • Implement WKProcessPoolWeakObserver class.
  • Note that init methods can never be marked as NS_DIRECT, and @property statements can't use NS_DIRECT in their declaration, so the @property is declared in a category which uses NS_DIRECT_MEMBERS.

(WebKit::extractWebProcessPool): Add.

  • Static helper method for extracting RefPtr<WebProcessPool> from type-punned WKProcessPoolWeakObserver.

(WebKit::WebProcessPool::backlightLevelDidChangeCallback):
(WebKit::WebProcessPool::accessibilityPreferencesChangedCallback):
(WebKit::WebProcessPool::mediaAccessibilityPreferencesChangedCallback):
(WebKit::WebProcessPool::colorPreferencesDidChangeCallback):
(WebKit::WebProcessPool::remoteWebInspectorEnabledCallback):

  • Clean up function parameter list.
  • Use extractWebProcessPool() helper method to get a RefPtr<WebProcessPool> from observer.

(WebKit::WebProcessPool::addCFNotificationObserver): Add.
(WebKit::WebProcessPool::removeCFNotificationObserver): Add.

  • Private helper methods to reduce duplicate code.
  • Use m_weakObserver for CFNotificationCenter observer and include _CFNotificationObserverIsObjC to fix the bug.

(WebKit::WebProcessPool::registerNotificationObservers):

  • Make use of new addCFNotificationObserver() helper method.
  • Fixes use of static_cast<CFStringRef> to make code ready for ARC by using a bridge cast or removing the static_cast when CFSTR() is used.

(WebKit::WebProcessPool::unregisterNotificationObservers):

  • Make use of new removeCFNotificationObserver() helper method.
  • UIProcess/WebProcessPool.h:
  • Add m_weakObserver instance variable to hold the WKProcessPoolWeakObserver object.

(WebKit::WebProcessPool::addCFNotificationObserver): Add.
(WebKit::WebProcessPool::removeCFNotificationObserver): Add.

  • Add declarations for new helper methods.

(WebKit::WebProcessPool::backlightLevelDidChangeCallback):
(WebKit::WebProcessPool::accessibilityPreferencesChangedCallback):
(WebKit::WebProcessPool::mediaAccessibilityPreferencesChangedCallback):
(WebKit::WebProcessPool::colorPreferencesDidChangeCallback):
(WebKit::WebProcessPool::remoteWebInspectorEnabledCallback):

  • Clean up function parameter list.

Source/WTF:

Tests (API):

TestWTF.TypeCastsNS.checked_ns_cast
TestWTF.TypeCastsNS.dynamic_ns_cast
TestWTF.TypeCastsNS.dynamic_ns_cast_RetainPtr

  • WTF.xcodeproj/project.pbxproj:
  • wtf/PlatformMac.cmake:
  • Add new header files to the project.
  • wtf/cocoa/TypeCastsNS.h: Add.

(WTF::checked_ns_cast):
(WTF::dynamic_ns_cast):

  • Add casts for NS objects similar to TypeCastsCF.h.
  • wtf/PlatformHave.h:

(HAVE_NS_DIRECT_SUPPORT): Add.

  • Note that clang for macOS 11 Big Sur claims to know about the attributes, but will fail to compile if they are actually used.
  • wtf/spi/cocoa/NSObjCRuntimeSPI.h: Add.

(NS_DIRECT):
(NS_DIRECT_MEMBERS):

  • Define compiler attributes for direct dispatch of Objective-C methods.

Tools:

  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • Add TypeCastsNS.mm to the project.
  • TestWebKitAPI/Tests/WTF/cocoa/TypeCastsNS.mm: Add.

(TestWebKitAPI::TEST): Add tests for <wtf/TypeCastsNS.h>.

4:02 PM Changeset in webkit [282702] by achristensen@apple.com
  • 28 edits
    34 adds in trunk

Addition of CSSTransformValue, CSSTransformComponent & subclasses
https://bugs.webkit.org/show_bug.cgi?id=230284

LayoutTests/imported/w3c:

Reviewed by Alex Christensen.

  • web-platform-tests/css/css-typed-om/idlharness-expected.txt:
  • web-platform-tests/css/css-typed-om/rotate-by-added-angle-expected.txt:
  • web-platform-tests/css/css-typed-om/stylevalue-normalization/transformvalue-normalization.tentative-expected.txt:
  • web-platform-tests/css/css-typed-om/stylevalue-serialization/crashtests/cssTransform-Internal-value-expected.txt:
  • web-platform-tests/css/css-typed-om/stylevalue-serialization/cssTransformValue.tentative-expected.txt:
  • web-platform-tests/css/css-typed-om/stylevalue-subclasses/cssMatrixComponent.tentative-expected.txt:
  • web-platform-tests/css/css-typed-om/stylevalue-subclasses/cssPerspective.tentative-expected.txt:
  • web-platform-tests/css/css-typed-om/stylevalue-subclasses/cssRotate.tentative-expected.txt:
  • web-platform-tests/css/css-typed-om/stylevalue-subclasses/cssScale.tentative-expected.txt:
  • web-platform-tests/css/css-typed-om/stylevalue-subclasses/cssSkew.tentative-expected.txt:
  • web-platform-tests/css/css-typed-om/stylevalue-subclasses/cssSkewX.tentative-expected.txt:
  • web-platform-tests/css/css-typed-om/stylevalue-subclasses/cssSkewY.tentative-expected.txt:
  • web-platform-tests/css/css-typed-om/stylevalue-subclasses/cssTransformComponent-toMatrix-expected.txt:
  • web-platform-tests/css/css-typed-om/stylevalue-subclasses/cssTransformComponent-toMatrix-relative-units-expected.txt:
  • web-platform-tests/css/css-typed-om/stylevalue-subclasses/cssTransformValue-toMatrix-expected.txt:
  • web-platform-tests/css/css-typed-om/stylevalue-subclasses/cssTransformValue.tentative-expected.txt:
  • web-platform-tests/css/css-typed-om/stylevalue-subclasses/cssTranslate.tentative-expected.txt:

Source/WebCore:

Patch by Johnson Zhou <qiaosong_zhou@apple.com> on 2021-09-17
Reviewed by Alex Christensen.

  • CMakeLists.txt:
  • DerivedSources-input.xcfilelist:
  • DerivedSources.make:
  • Sources.txt:
  • WebCore.xcodeproj/project.pbxproj:
  • bindings/js/WebCoreBuiltinNames.h:
  • css/DOMMatrix.idl:
  • css/DOMMatrixReadOnly.h:
  • css/typedom/transform/CSSMatrixComponent.cpp: Added.

(WebCore::CSSMatrixComponent::create):
(WebCore::CSSMatrixComponent::CSSMatrixComponent):
(WebCore::CSSMatrixComponent::toString const):
(WebCore::CSSMatrixComponent::toMatrix):

  • css/typedom/transform/CSSMatrixComponent.h: Added.

(WebCore::CSSMatrixComponent::create):
(WebCore::CSSMatrixComponent::matrix):
(WebCore::CSSMatrixComponent::setMatrix):

  • css/typedom/transform/CSSMatrixComponent.idl: Added.
  • css/typedom/transform/CSSMatrixComponentOptions.h: Added.
  • css/typedom/transform/CSSMatrixComponentOptions.idl: Added.
  • css/typedom/transform/CSSPerspective.cpp: Added.

(WebCore::CSSPerspective::create):
(WebCore::CSSPerspective::CSSPerspective):
(WebCore::CSSPerspective::toString const):
(WebCore::CSSPerspective::toMatrix):

  • css/typedom/transform/CSSPerspective.h: Added.

(WebCore::CSSPerspective::length):
(WebCore::CSSPerspective::setLength):

  • css/typedom/transform/CSSPerspective.idl: Added.
  • css/typedom/transform/CSSRotate.cpp: Added.

(WebCore::CSSRotate::create):
(WebCore::CSSRotate::CSSRotate):
(WebCore::CSSRotate::toString const):
(WebCore::CSSRotate::toMatrix):

  • css/typedom/transform/CSSRotate.h: Added.

(WebCore::CSSRotate::x):
(WebCore::CSSRotate::y):
(WebCore::CSSRotate::z):
(WebCore::CSSRotate::angle):
(WebCore::CSSRotate::setX):
(WebCore::CSSRotate::setY):
(WebCore::CSSRotate::setZ):
(WebCore::CSSRotate::setAngle):

  • css/typedom/transform/CSSRotate.idl: Added.
  • css/typedom/transform/CSSScale.cpp: Added.

(WebCore::CSSScale::create):
(WebCore::CSSScale::CSSScale):
(WebCore::CSSScale::toString const):
(WebCore::CSSScale::toMatrix):

  • css/typedom/transform/CSSScale.h: Added.

(WebCore::CSSScale::x):
(WebCore::CSSScale::y):
(WebCore::CSSScale::z):
(WebCore::CSSScale::setX):
(WebCore::CSSScale::setY):
(WebCore::CSSScale::setZ):

  • css/typedom/transform/CSSScale.idl: Added.
  • css/typedom/transform/CSSSkew.cpp: Added.

(WebCore::CSSSkew::create):
(WebCore::CSSSkew::CSSSkew):
(WebCore::CSSSkew::toString const):
(WebCore::CSSSkew::toMatrix):

  • css/typedom/transform/CSSSkew.h: Added.

(WebCore::CSSSkew::ax):
(WebCore::CSSSkew::ay):
(WebCore::CSSSkew::setAx):
(WebCore::CSSSkew::setAy):

  • css/typedom/transform/CSSSkew.idl: Added.
  • css/typedom/transform/CSSSkewX.cpp: Added.

(WebCore::CSSSkewX::create):
(WebCore::CSSSkewX::CSSSkewX):
(WebCore::CSSSkewX::toString const):
(WebCore::CSSSkewX::toMatrix):

  • css/typedom/transform/CSSSkewX.h: Added.

(WebCore::CSSSkewX::ax):
(WebCore::CSSSkewX::setAx):

  • css/typedom/transform/CSSSkewX.idl: Added.
  • css/typedom/transform/CSSSkewY.cpp: Added.

(WebCore::CSSSkewY::create):
(WebCore::CSSSkewY::CSSSkewY):
(WebCore::CSSSkewY::toString const):
(WebCore::CSSSkewY::toMatrix):

  • css/typedom/transform/CSSSkewY.h: Added.

(WebCore::CSSSkewY::ay):
(WebCore::CSSSkewY::setAy):

  • css/typedom/transform/CSSSkewY.idl: Added.
  • css/typedom/transform/CSSTransformComponent.cpp: Added.

(WebCore::CSSTransformComponent::toString const):
(WebCore::CSSTransformComponent::toMatrix):

  • css/typedom/transform/CSSTransformComponent.h: Added.

(WebCore::CSSTransformComponent::is2D const):
(WebCore::CSSTransformComponent::setIs2D):

  • css/typedom/transform/CSSTransformComponent.idl: Added.
  • css/typedom/transform/CSSTransformValue.cpp: Added.

(WebCore::CSSTransformValue::create):
(WebCore::CSSTransformValue::item):
(WebCore::CSSTransformValue::setItem):
(WebCore::CSSTransformValue::is2D const):
(WebCore::CSSTransformValue::setIs2D):
(WebCore::CSSTransformValue::toMatrix):
(WebCore::CSSTransformValue::CSSTransformValue):

  • css/typedom/transform/CSSTransformValue.h: Added.

(WebCore::CSSTransformValue::length const):
(isType):

  • css/typedom/transform/CSSTransformValue.idl: Added.
  • css/typedom/transform/CSSTranslate.cpp: Added.

(WebCore::CSSTranslate::create):
(WebCore::CSSTranslate::CSSTranslate):
(WebCore::CSSTranslate::toString const):
(WebCore::CSSTranslate::toMatrix):

  • css/typedom/transform/CSSTranslate.h: Added.

(WebCore::CSSTranslate::x):
(WebCore::CSSTranslate::y):
(WebCore::CSSTranslate::z):
(WebCore::CSSTranslate::setX):
(WebCore::CSSTranslate::setY):
(WebCore::CSSTranslate::setZ):

  • css/typedom/transform/CSSTranslate.idl: Added.
3:58 PM Changeset in webkit [282701] by Ross Kirsling
  • 9 edits in trunk/Source/JavaScriptCore

Unreviewed fix for JSCOnly build with ENABLE_DFG_JIT off.

  • b3/testb3_1.cpp:
  • wasm/WasmEntryPlan.cpp:
  • wasm/WasmLLIntPlan.cpp:
  • wasm/WasmOperations.cpp:
  • wasm/WasmSignature.cpp:
  • wasm/WasmSignature.h:
  • wasm/generateWasmOpsHeader.py:
  • wasm/js/JSToWasm.h:
3:58 PM Changeset in webkit [282700] by Eric Hutchison
  • 2 edits in trunk/LayoutTests

http/wpt/fetch/fetch-response-body-stop-in-worker.html crashing on EWS in iOS.
https://bugs.webkit.org/show_bug.cgi?id=225528.

Unreviewed test gardening.

  • platform/ios-14-wk2/TestExpectations:
3:39 PM Changeset in webkit [282699] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WTF

Enable UseCGDisplayListsForDOMRendering by default where it is available
https://bugs.webkit.org/show_bug.cgi?id=230387

Reviewed by Dean Jackson.

  • Scripts/Preferences/WebPreferencesInternal.yaml:
2:49 PM Changeset in webkit [282698] by Chris Dumez
  • 2 edits in trunk/Source/WebKit

Unreviewed build fix.

  • Shared/Cocoa/AuxiliaryProcessCocoa.mm:
2:43 PM Changeset in webkit [282697] by Simon Fraser
  • 16 edits in trunk/Source/WebCore

Make ScrollAnimation a little more generic
https://bugs.webkit.org/show_bug.cgi?id=230385

Reviewed by Tim Horton.

Prepare for new ScrollAnimation subclasses by making it a little more generic. Rather
than the function callbacks, use a virtual client class, implemented by ScrollAnimator
and ScrollingTreeScrollingNodeDelegateNicosia. Remove the generic 'scroll' methods
from the base class, since they only apply to ScrollAnimationSmooth (clients need
to keep derived class pointers, and most already do).

Remove ambiguity around the currentPosition by requiring it for every 'start' call.
Remove ambiguity around setCurrentPosition() by removing it. Clients just call stop().
Remove ambiguity around retargeting by making it explicit.

Do per-axis setup when starting animations, not when creating one, so the animation starts
out stateless.

  • Sources.txt: Build platform/ScrollAnimationKinetic.cpp for macOS, mostly to catch

build errors (it's currently unused).

  • WebCore.xcodeproj/project.pbxproj:
  • page/scrolling/nicosia/ScrollingTreeScrollingNodeDelegateNicosia.cpp:

(WebCore::ScrollingTreeScrollingNodeDelegateNicosia::resetCurrentPosition):
(WebCore::ScrollingTreeScrollingNodeDelegateNicosia::ensureScrollAnimationKinetic):
(WebCore::ScrollingTreeScrollingNodeDelegateNicosia::ensureScrollAnimationSmooth):
(WebCore::ScrollingTreeScrollingNodeDelegateNicosia::handleWheelEvent):
(WebCore::ScrollingTreeScrollingNodeDelegateNicosia::scrollAnimationDidUpdate):
(WebCore::ScrollingTreeScrollingNodeDelegateNicosia::scrollAnimationDidEnd):
(WebCore::ScrollingTreeScrollingNodeDelegateNicosia::scrollExtentsForAnimation):

  • page/scrolling/nicosia/ScrollingTreeScrollingNodeDelegateNicosia.h:
  • platform/ScrollAnimation.h:

(WebCore::ScrollAnimation::ScrollAnimation):
(WebCore::ScrollAnimation::updateScrollExtents):
(WebCore::ScrollAnimation::serviceAnimation):
(WebCore::ScrollAnimation::~ScrollAnimation): Deleted.
(WebCore::ScrollAnimation::scroll): Deleted.
(WebCore::ScrollAnimation::updateVisibleLengths): Deleted.
(WebCore::ScrollAnimation::setCurrentPosition): Deleted.

  • platform/ScrollAnimationKinetic.cpp:

(WebCore::ScrollAnimationKinetic::ScrollAnimationKinetic):
(WebCore::ScrollAnimationKinetic::startAnimatedScrollWithInitialVelocity):
(WebCore::ScrollAnimationKinetic::animationTimerFired):
(WebCore::ScrollAnimationKinetic::start): Deleted.

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

(WebCore::ScrollAnimationSmooth::ScrollAnimationSmooth):
(WebCore::ScrollAnimationSmooth::startAnimatedScroll):
(WebCore::ScrollAnimationSmooth::startAnimatedScrollToDestination):
(WebCore::ScrollAnimationSmooth::stop):
(WebCore::ScrollAnimationSmooth::updateScrollExtents):
(WebCore::ScrollAnimationSmooth::initializeAxesData):
(WebCore::ScrollAnimationSmooth::animationTimerFired):
(WebCore::ScrollAnimationSmooth::PerAxisData::PerAxisData): Deleted.
(WebCore::ScrollAnimationSmooth::scroll): Deleted.
(WebCore::ScrollAnimationSmooth::updateVisibleLengths): Deleted.
(WebCore::ScrollAnimationSmooth::setCurrentPosition): Deleted.

  • platform/ScrollAnimationSmooth.h: Rename some "time" variables to "duration" for clarity
  • platform/ScrollAnimator.cpp:

(WebCore::ScrollAnimator::ScrollAnimator):
(WebCore::ScrollAnimator::scroll):
(WebCore::ScrollAnimator::scrollToPositionWithoutAnimation):
(WebCore::ScrollAnimator::scrollToPositionWithAnimation):
(WebCore::ScrollAnimator::retargetRunningAnimation):
(WebCore::ScrollAnimator::contentsResized const):
(WebCore::ScrollAnimator::willEndLiveResize):
(WebCore::ScrollAnimator::didAddVerticalScrollbar):
(WebCore::ScrollAnimator::didAddHorizontalScrollbar):
(WebCore::ScrollAnimator::scrollAnimationDidUpdate):
(WebCore::ScrollAnimator::scrollAnimationDidEnd):
(WebCore::ScrollAnimator::scrollExtentsForAnimation):
(): Deleted.
(WebCore::m_keyboardScrollingAnimator): Deleted.

  • platform/ScrollAnimator.h:
  • platform/generic/ScrollAnimatorGeneric.cpp:

(WebCore::ScrollAnimatorGeneric::ScrollAnimatorGeneric):
(WebCore::ScrollAnimatorGeneric::handleWheelEvent):
(WebCore::ScrollAnimatorGeneric::updatePosition):
(WebCore::ScrollAnimatorGeneric::scrollAnimationDidUpdate):

  • platform/generic/ScrollAnimatorGeneric.h:
2:42 PM Changeset in webkit [282696] by Cameron McCormack
  • 21 edits
    12 adds in trunk

Preserve color space when creating ImageBuffers for ImageBitmaps
https://bugs.webkit.org/show_bug.cgi?id=229022
<rdar://problem/81828459>

Reviewed by Sam Weinig.

LayoutTests/imported/w3c:

  • web-platform-tests/html/canvas/element/manual/wide-gamut-canvas/canvas-display-p3-drawImage-ImageBitmap-Blob-expected.txt: Added.
  • web-platform-tests/html/canvas/element/manual/wide-gamut-canvas/canvas-display-p3-drawImage-ImageBitmap-Blob.html: Added.
  • web-platform-tests/html/canvas/element/manual/wide-gamut-canvas/canvas-display-p3-drawImage-ImageBitmap-ImageBitmap-expected.txt: Added.
  • web-platform-tests/html/canvas/element/manual/wide-gamut-canvas/canvas-display-p3-drawImage-ImageBitmap-ImageBitmap.html: Added.
  • web-platform-tests/html/canvas/element/manual/wide-gamut-canvas/canvas-display-p3-drawImage-ImageBitmap-ImageData-expected.txt: Added.
  • web-platform-tests/html/canvas/element/manual/wide-gamut-canvas/canvas-display-p3-drawImage-ImageBitmap-ImageData.html: Added.
  • web-platform-tests/html/canvas/element/manual/wide-gamut-canvas/canvas-display-p3-drawImage-ImageBitmap-canvas-expected.txt: Added.
  • web-platform-tests/html/canvas/element/manual/wide-gamut-canvas/canvas-display-p3-drawImage-ImageBitmap-canvas.html: Added.
  • web-platform-tests/html/canvas/element/manual/wide-gamut-canvas/canvas-display-p3-drawImage-ImageBitmap-cloned-expected.txt: Added.
  • web-platform-tests/html/canvas/element/manual/wide-gamut-canvas/canvas-display-p3-drawImage-ImageBitmap-cloned.html: Added.
  • web-platform-tests/html/canvas/element/manual/wide-gamut-canvas/canvas-display-p3-drawImage-ImageBitmap-image-expected.txt: Added.
  • web-platform-tests/html/canvas/element/manual/wide-gamut-canvas/canvas-display-p3-drawImage-ImageBitmap-image.html: Added.

Source/WebCore:

ImageBitmaps can be created with various sources of image data.
Currently, they always create an sRGB ImageBuffer to copy the
image data into. This patch tries to preserve the color space
of the source image data. Because ImageBuffer only works with 8 bit
RGBA data, other color space models (such as CMYK) get converted
to Display P3 if available, or sRGB otherwise. The rationale for
this is that ImageBitmaps are designed to be drawn into canvases,
and we currently only support sRGB and Display P3 for canvas backing
stores.

It's not ideal that we do the color space conversion, since it would
be better to delay the conversion until it's needed when drawing onto
the canvas. It's also not ideal that we can't preserve the pixel
format of the image data, which might be 16 bit color or floats. We
could support these only if ImageBuffer were extended to support them.
A different design for ImageBitmap where it can hold on to the image
data source directly (and support for structured cloning and worker
thread transferrance added) could also work. For now, we don't worry,
and accept the loss of color fidelity when downsampling or converting
from non-RGB color space models.

Support for structured cloning of ImageBitmaps with non-sRGB data
isn't added, but a test for this is. (This will need a way to
serialize the DestinationColorSpace.)

Tests: imported/w3c/web-platform-tests/html/canvas/element/manual/wide-gamut-canvas/canvas-display-p3-drawImage-ImageBitmap-Blob.html

imported/w3c/web-platform-tests/html/canvas/element/manual/wide-gamut-canvas/canvas-display-p3-drawImage-ImageBitmap-ImageBitmap.html
imported/w3c/web-platform-tests/html/canvas/element/manual/wide-gamut-canvas/canvas-display-p3-drawImage-ImageBitmap-ImageData.html
imported/w3c/web-platform-tests/html/canvas/element/manual/wide-gamut-canvas/canvas-display-p3-drawImage-ImageBitmap-canvas.html
imported/w3c/web-platform-tests/html/canvas/element/manual/wide-gamut-canvas/canvas-display-p3-drawImage-ImageBitmap-cloned.html
imported/w3c/web-platform-tests/html/canvas/element/manual/wide-gamut-canvas/canvas-display-p3-drawImage-ImageBitmap-image.html

  • bindings/js/SerializedScriptValue.cpp:

(WebCore::CloneSerializer::dumpImageBitmap):
(WebCore::CloneDeserializer::readImageBitmap):

  • html/ImageBitmap.cpp:

(WebCore::ImageBitmap::create):
(WebCore::ImageBitmap::createImageBuffer):
(WebCore::ImageBitmap::resolveWithBlankImageBuffer):
(WebCore::ImageBitmap::createPromise):
(WebCore::ImageBitmap::createFromBuffer):

  • html/ImageBitmap.h:
  • html/OffscreenCanvas.cpp:

(WebCore::OffscreenCanvas::transferToImageBitmap):
(WebCore::OffscreenCanvas::createImageBuffer const):

  • platform/graphics/BitmapImage.cpp:

(WebCore::BitmapImage::colorSpace):

  • platform/graphics/BitmapImage.h:
  • platform/graphics/DestinationColorSpace.cpp:

(WebCore::DestinationColorSpace::asRGB const): New function that
abstracts out the behavior "tell me whether the color space is
appropriate for use with an 8 bit RGB buffer", which is common
to ImageBitmap and ShareableBitmapCG.

  • platform/graphics/DestinationColorSpace.h:
  • platform/graphics/Image.cpp:

(WebCore::Image::colorSpace):

  • platform/graphics/Image.h:

Source/WebKit:

  • Shared/cg/ShareableBitmapCG.cpp:

(WebKit::ShareableBitmap::validateConfiguration): Factor out some
loging into DestinationColorSpace::asRGB.

Source/WTF:

  • wtf/PlatformHave.h:

LayoutTests:

  • TestExpectations:
  • platform/ios-14/TestExpectations:
  • platform/ios/TestExpectations:
  • platform/mac/TestExpectations:
2:26 PM Changeset in webkit [282695] by Eric Hutchison
  • 2 edits in trunk/LayoutTests

Update test expectations for js/dfg-int32array-overflow-values.html.
https://bugs.webkit.org/show_bug.cgi?id=229594.

Unreviewed test gardening.

  • platform/win/TestExpectations:
2:24 PM Changeset in webkit [282694] by Ayumi Kojima
  • 3 edits in trunk/LayoutTests

[ BigSur iOS14 ] http/tests/xmlhttprequest/redirect-cross-origin-tripmine.html (layout-test) is a flaky timeout.
https://bugs.webkit.org/show_bug.cgi?id=225668

Unreviewed test gardening.

  • platform/mac-wk2/TestExpectations:
  • platform/mac/TestExpectations:
2:19 PM Changeset in webkit [282693] by Chris Dumez
  • 2 edits in trunk/Source/WebKit

Unreviewed, reverting r282011.

This causes GPUProcess main thread hangs on memory pressure

Reverted changeset:

"Fix race in
RemoteRenderingBackend::allowsExitUnderMemoryPressure()"
https://bugs.webkit.org/show_bug.cgi?id=229870
https://commits.webkit.org/r282011

2:12 PM Changeset in webkit [282692] by Ayumi Kojima
  • 3 edits in trunk/LayoutTests

[ iOS MacOS ] http/tests/security/contentSecurityPolicy/frame-src-cross-origin-load.html is a flakey failure/timeout.
https://bugs.webkit.org/show_bug.cgi?id=230428

Unreviewed test gardening.

  • platform/ios-wk2/TestExpectations:
  • platform/mac/TestExpectations:
2:09 PM Changeset in webkit [282691] by Eric Hutchison
  • 3 edits in trunk/LayoutTests

[Mac wk1, Win] http/tests/misc/iframe-reparenting-id-collision.html is a flaky image failure.

https://bugs.webkit.org/show_bug.cgi?id=230427.

Unreviewed test gardening.

  • platform/mac-wk1/TestExpectations:
  • platform/win/TestExpectations:
1:39 PM Changeset in webkit [282690] by Ayumi Kojima
  • 2 edits in trunk/LayoutTests

[MacOS Debug] http/tests/security/contentSecurityPolicy/frame-src-cross-origin-load.html is a flakey failure.
https://bugs.webkit.org/show_bug.cgi?id=222748

Unreviewed test gardening.

  • platform/mac/TestExpectations: Removed test expectation
1:22 PM Changeset in webkit [282689] by Ayumi Kojima
  • 2 edits in trunk/LayoutTests

[ BigSur wk1 ] printing/allowed-breaks.html is a flaky failure.
https://bugs.webkit.org/show_bug.cgi?id=230425

Unreviewed test gardening.

  • platform/mac-wk1/TestExpectations:
1:15 PM Changeset in webkit [282688] by Russell Epstein
  • 1 copy in tags/Safari-613.1.2.1

Tag Safari-613.1.2.1.

1:10 PM Changeset in webkit [282687] by Russell Epstein
  • 8 edits in branches/safari-613.1.2-branch/Source

Versioning.

WebKit-7613.1.2.1

1:07 PM Changeset in webkit [282686] by Simon Fraser
  • 26 edits in trunk

Convert usesMockScrollAnimator from a DeprecatedGlobalSettings to a WebPreference
https://bugs.webkit.org/show_bug.cgi?id=230371

Reviewed by Tim Horton.
Source/WebCore:

There were ordering problems that resulted from timing of a test calling
internals.setUsesMockScrollAnimator(true) and the first access of the scrollAnimator(),
which resulted in fast/scrolling/scroll-animator-select-list-events.html failing
when run twice in a row.

Fix by making usesMockScrollAnimator a WebPreference, which means that tests
can use <!-- webkit-test-runner --> options to enable it, which avoids the
ordering dependency.

  • page/DeprecatedGlobalSettings.cpp:

(WebCore::DeprecatedGlobalSettings::setUsesMockScrollAnimator): Deleted.
(WebCore::DeprecatedGlobalSettings::usesMockScrollAnimator): Deleted.

  • page/DeprecatedGlobalSettings.h:
  • page/FrameView.cpp:

(WebCore::FrameView::mockScrollAnimatorEnabled const):
(WebCore::FrameView::usesMockScrollAnimator const): Deleted.

  • page/FrameView.h:
  • platform/ScrollableArea.cpp:

(WebCore::ScrollableArea::scrollAnimator const):

  • platform/ScrollableArea.h:

(WebCore::ScrollableArea::mockScrollAnimatorEnabled const):
(WebCore::ScrollableArea::usesMockScrollAnimator const): Deleted.

  • rendering/RenderLayerScrollableArea.cpp:

(WebCore::RenderLayerScrollableArea::mockScrollAnimatorEnabled const):
(WebCore::RenderLayerScrollableArea::usesMockScrollAnimator const): Deleted.

  • rendering/RenderLayerScrollableArea.h:
  • rendering/RenderListBox.cpp:

(WebCore::RenderListBox::mockScrollAnimatorEnabled const):
(WebCore::RenderListBox::usesMockScrollAnimator const): Deleted.

  • rendering/RenderListBox.h:
  • testing/Internals.cpp:

(WebCore::Internals::resetToConsistentState):
(WebCore::Internals::setUsesMockScrollAnimator): Deleted.

  • testing/Internals.h:
  • testing/Internals.idl:

Source/WebKitLegacy/win:

Add Windows preferences.

  • WebPreferences.cpp:

(WebPreferences::mockScrollAnimatorEnabled):

  • WebPreferences.h:
  • WebView.cpp:

(WebView::notifyPreferencesChanged):

Source/WTF:

Add a MockScrollAnimatorEnabled setting.

  • Scripts/Preferences/WebPreferences.yaml:

LayoutTests:

Convert to use the <!-- webkit-test-runner --> format for specifying MockScrollAnimatorEnabled.

  • fast/scrolling/scroll-animator-basic-events.html:
  • fast/scrolling/scroll-animator-overlay-scrollbars-clicked.html:
  • fast/scrolling/scroll-animator-overlay-scrollbars-hovered.html:
  • fast/scrolling/scroll-animator-select-list-events.html:
1:03 PM Changeset in webkit [282685] by Angelos Oikonomopoulos
  • 4 edits in trunk

Unbreak GCC_OFFLINEASM_SOURCE_MAP when LTO is in use
https://bugs.webkit.org/show_bug.cgi?id=230061
<rdar://problem/83166173>

Reviewed by Michael Catanzaro.

.:

  • Source/cmake/OptionsCommon.cmake:

Re-enable GCC_OFFLINEASM_SOURCE_MAP.

Source/JavaScriptCore:

Our ASM postprocessing hack is incompatible with
LTO. Unconditionally disable LTO for LowLevelInterpreter.cxx when
GCC_OFFLINEASM_SOURCE_MAP is in use.

  • CMakeLists.txt:
12:28 PM Changeset in webkit [282684] by Alan Bujtas
  • 5 edits in trunk/Source/WebCore

[LFC][IFC] Add InlineInvalidation::horizontalConstraintChanged
https://bugs.webkit.org/show_bug.cgi?id=230290

Reviewed by Antti Koivisto.

Add the "resize" invalidation codepath. It notifies formatting context about the available horizontal space change.

  • layout/formattingContexts/inline/InlineFormattingContext.cpp:

(WebCore::Layout::InlineFormattingContext::invalidateFormattingState):

  • layout/formattingContexts/inline/invalidation/InlineInvalidation.cpp:

(WebCore::Layout::InlineInvalidation::horizontalConstraintChanged):

  • layout/formattingContexts/inline/invalidation/InlineInvalidation.h:
  • layout/integration/LayoutIntegrationLineLayout.cpp:

(WebCore::LayoutIntegration::LineLayout::layout):
(WebCore::LayoutIntegration::LineLayout::updateFormattingRootGeometry):
(WebCore::LayoutIntegration::LineLayout::prepareLayoutState):

  • layout/integration/LayoutIntegrationLineLayout.h:
12:08 PM Changeset in webkit [282683] by Russell Epstein
  • 1 edit in branches/safari-612-branch/Source/WebKit/WebProcess/WebPage/WebPage.cpp

Unreviewed build fix. rdar://83183884

12:03 PM Changeset in webkit [282682] by Ayumi Kojima
  • 2 edits in trunk/LayoutTests

[ iOS ] http/wpt/webaudio/the-audio-api/the-audioworklet-interface/context-already-rendering.html is flaky.
https://bugs.webkit.org/show_bug.cgi?id=230421

Unreviewed test gardening.

  • platform/ios-wk2/TestExpectations:
12:01 PM Changeset in webkit [282681] by Eric Hutchison
  • 2 edits in trunk/LayoutTests

[iOS wk2 iPad] platform/ipad/media/modern-media-controls/media-documents/media-document-video-ios-sizing.html is a flaky timeout.
https://bugs.webkit.org/show_bug.cgi?id=230419.

Unreviewed test gardening.

  • platform/ipad/TestExpectations:
11:57 AM Changeset in webkit [282680] by commit-queue@webkit.org
  • 4 edits in trunk

REGRESSION(r282220): [GCC] Several flaky crashes on media/track/cue tests
https://bugs.webkit.org/show_bug.cgi?id=230318

Patch by Philippe Normand <pnormand@igalia.com> on 2021-09-17
Reviewed by Xabier Rodriguez-Calvar.

Source/WebCore:

The crashes were happening because the text track(s) managed by the media element still had
their client set to the media element being destroyed, so the TextTrack destructor was
looping back to its client, the media element being destroyed. This is particularly an issue
in GCC/Release builds, most likely undefined behavior. The proposed solution is to
explicitely break the link between the media element and the tracks it manages when
destroying the media element. This matches existing code as well in the same destructor
(CDMClient, audio session).

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::~HTMLMediaElement):

LayoutTests:

  • platform/glib/TestExpectations: Unflag tests no longer flaky.
11:57 AM Changeset in webkit [282679] by Russell Epstein
  • 1 edit in branches/safari-612-branch/Source/WebKit/WebProcess/WebPage/WebPage.cpp

Unreviewed build fix. rdar://83183884

11:56 AM Changeset in webkit [282678] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

REGRESSION: [ iOS ] 5 TestWebKitAPI.WebpagePreferences.* api tests are flaky timing out
https://bugs.webkit.org/show_bug.cgi?id=229094

Patch by Alex Christensen <achristensen@webkit.org> on 2021-09-17
Reviewed by Chris Dumez.

Disable the tests on iOS until we can fix the problem.
This will help EWS be much faster and more reliable.

  • TestWebKitAPI/Tests/WebKitCocoa/WebsitePolicies.mm:

(TEST):

11:50 AM Changeset in webkit [282677] by commit-queue@webkit.org
  • 3 edits in trunk/LayoutTests

[GLIB] Update test expectations. Unreviewed test gardening.
https://bugs.webkit.org/show_bug.cgi?id=230416

Patch by Arcady Goldmints-Orlov <Arcady Goldmints-Orlov> on 2021-09-17

  • platform/glib/TestExpectations:
  • platform/gtk/TestExpectations:
11:48 AM Changeset in webkit [282676] by Ayumi Kojima
  • 2 edits in trunk/LayoutTests

[ iOS ] imported/w3c/web-platform-tests/fetch/data-urls/base64.any.worker.html is flaky crashing.
https://bugs.webkit.org/show_bug.cgi?id=230418

Unreviewed test gardening.

  • platform/ios-wk2/TestExpectations:
11:22 AM Changeset in webkit [282675] by Ayumi Kojima
  • 3 edits in trunk/LayoutTests

[ iOS Debug & Mac wk2 ] media/video-seek-with-negative-playback.html is a flaky failure..
https://bugs.webkit.org/show_bug.cgi?id=228087

Unreviewed test gardening.

  • platform/ios-wk2/TestExpectations:
  • platform/mac-wk2/TestExpectations:
11:15 AM Changeset in webkit [282674] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

Speed up run-jsc-stress-tests with parallel processing
https://bugs.webkit.org/show_bug.cgi?id=230251

Patch by Geza Lore <gezalore@gmail.com> on 2021-09-17
Reviewed by Yusuke Suzuki.

Around 2/3 of the time spent in the initial serial processing phase of
run-jsc-stress-tests is simply writing out the many test runner
scripts to disk, which is trivially parallelizable. The change in this
patch forks sub-processes to emit the test runner scripts which makes
the serial startup phase overall about 2.5x faster on my test machine
(47 sec -> 19 sec).

  • Scripts/run-jsc-stress-tests:
11:07 AM Changeset in webkit [282673] by Ayumi Kojima
  • 3 edits in trunk/LayoutTests

[ iOS Debug & macOS wk2 ] fast/canvas/canvas-drawImage-detached-leak.html is a flaky failure.
https://bugs.webkit.org/show_bug.cgi?id=230413

Unreviewed test gardening.

  • platform/ios-wk2/TestExpectations:
  • platform/mac-wk2/TestExpectations:
11:03 AM Changeset in webkit [282672] by Ayumi Kojima
  • 2 edits in trunk/LayoutTests

[ iOS ] imported/w3c/web-platform-tests/html/dom/idlharness.https.html is flaky failing after rebaselining.
https://bugs.webkit.org/show_bug.cgi?id=230407

Unreviewed test gardening.

  • platform/ios-wk2/TestExpectations:
10:53 AM Changeset in webkit [282671] by Eric Hutchison
  • 3 edits in trunk/LayoutTests

[Mac iOS] imported/w3c/web-platform-tests/service-workers/service-worker/clients-matchall-client-types.https.html is a flaky failure.
https://bugs.webkit.org/show_bug.cgi?id=230412.

Unreviewed test gardening.

  • platform/ios-wk2/TestExpectations:
  • platform/mac-wk2/TestExpectations:
10:44 AM Changeset in webkit [282670] by Ayumi Kojima
  • 2 edits in trunk/LayoutTests

[ macOS ] http/tests/media/hls/video-controller-getStartDate.html is flaky failing.
https://bugs.webkit.org/show_bug.cgi?id=230411

Unreviewed test gardening.

  • platform/mac/TestExpectations:
10:36 AM Changeset in webkit [282669] by pvollan@apple.com
  • 7 edits in trunk/Source/WebKit

[GPUP] Update AX settings on preference updates
https://bugs.webkit.org/show_bug.cgi?id=230409

Reviewed by Chris Fleizach.

We should update AX settings in the GPUP process on preference updates, like we do in the WebContent process. To address this,
move associated code from the WebProcess class to the AuxiliaryProcess class.

  • GPUProcess/GPUProcess.h:
  • GPUProcess/cocoa/GPUProcessCocoa.mm:

(WebKit::GPUProcess::notifyPreferencesChanged):
(WebKit::GPUProcess::dispatchSimulatedNotificationsForPreferenceChange):

  • Shared/AuxiliaryProcess.h:

(WebKit::AuxiliaryProcess::dispatchSimulatedNotificationsForPreferenceChange):

  • Shared/Cocoa/AuxiliaryProcessCocoa.mm:

(WebKit::AuxiliaryProcess::preferenceDidUpdate):
(WebKit::AuxiliaryProcess::handlePreferenceChange):

  • WebProcess/WebProcess.h:
  • WebProcess/cocoa/WebProcessCocoa.mm:

(WebKit::WebProcess::dispatchSimulatedNotificationsForPreferenceChange):
(WebKit::WebProcess::handlePreferenceChange):
(WebKit::WebProcess::notifyPreferencesChanged):
(WebKit::dispatchSimulatedNotificationsForPreferenceChange): Deleted.
(WebKit::handlePreferenceChange): Deleted.

10:27 AM Changeset in webkit [282668] by Eric Hutchison
  • 3 edits in trunk/LayoutTests

Update test expectations for imported/w3c/web-platform-tests/css/css-transforms/crashtests/transform-marquee-resize-div-image-001.html to include wk1.
https://bugs.webkit.org/show_bug.cgi?id=230327.

Unreviewed test gardening.

  • platform/mac-wk2/TestExpectations:
  • platform/mac/TestExpectations:
10:18 AM Changeset in webkit [282667] by weinig@apple.com
  • 4 edits in trunk/Source/WebCore

Add MIME type and URL to WebCore::Model to allow processing different model types
https://bugs.webkit.org/show_bug.cgi?id=230384

Reviewed by Darin Adler.

Adds MIME type and URL to WebCore::Model to allow processing different model types.
This change does not take advantave of them (and we still only support one type)
but this will allow us to add additional types going forward.

  • Modules/model-element/HTMLModelElement.cpp:

(WebCore::HTMLModelElement::notifyFinished):

  • platform/graphics/Model.cpp:

(WebCore::Model::create):
(WebCore::Model::Model):
(WebCore::operator<<):

  • platform/graphics/Model.h:

(WebCore::Model::encode const):
(WebCore::Model::decode):

10:15 AM Changeset in webkit [282666] by Chris Dumez
  • 4 edits in trunk

Crash under RemoteMediaPlayerManager::getSupportedTypes()
https://bugs.webkit.org/show_bug.cgi?id=230410

Reviewed by Eric Carlson.

The code would do a null dereference of m_supportedTypesCache if the IPC to the GPUProcess
failed, which could happen in the event of the GPUProcess crash or jetsam.

  • WebProcess/GPU/media/RemoteMediaPlayerMIMETypeCache.cpp:

(WebKit::RemoteMediaPlayerMIMETypeCache::addSupportedTypes):
(WebKit::RemoteMediaPlayerMIMETypeCache::isEmpty const):
(WebKit::RemoteMediaPlayerMIMETypeCache::supportedTypes):

  • WebProcess/GPU/media/RemoteMediaPlayerMIMETypeCache.h:
10:13 AM Changeset in webkit [282665] by pvollan@apple.com
  • 2 edits in trunk/Source/WebCore/PAL

[Mac Catalyst] Fix build issue
https://bugs.webkit.org/show_bug.cgi?id=230373

Reviewed by Darin Adler.

There's an issue with the Mac Catalyst build where LSSessionID is being redefined. Address this by removing the second definition,
and moving the related function into the open source section.

  • pal/spi/cocoa/LaunchServicesSPI.h:
8:58 AM Changeset in webkit [282664] by Justin Michaud
  • 11 edits in trunk/Source/JavaScriptCore

Improve access case printing and show inline capacity for structures
https://bugs.webkit.org/show_bug.cgi?id=230357

Reviewed by Saam Barati.

This just makes the printing of access cases slightly more readable.

  • bytecode/AccessCase.cpp:

(JSC::AccessCase::dump const):

  • bytecode/AccessCase.h:

(JSC::AccessCase::dumpImpl const):

  • bytecode/GetterSetterAccessCase.cpp:

(JSC::GetterSetterAccessCase::dumpImpl const):

  • bytecode/GetterSetterAccessCase.h:
  • bytecode/InstanceOfAccessCase.cpp:

(JSC::InstanceOfAccessCase::dumpImpl const):

  • bytecode/InstanceOfAccessCase.h:
  • bytecode/ProxyableAccessCase.cpp:

(JSC::ProxyableAccessCase::dumpImpl const):

  • bytecode/ProxyableAccessCase.h:
  • heap/Heap.cpp:

(JSC::Heap::runEndPhase):

  • runtime/JSCJSValue.cpp:

(JSC::JSValue::dumpInContextAssumingStructure const):

  • runtime/Structure.cpp:

(JSC::Structure::dump const):

8:56 AM Changeset in webkit [282663] by Justin Michaud
  • 2 edits
    2 adds in trunk

PutByVal and PutPrivateName ICs should emit a write barrier if a butterfly might be allocated
https://bugs.webkit.org/show_bug.cgi?id=230378

Reviewed by Yusuke Suzuki.

Right now, PutByVal and PutPrivateName check the value type to determine
if a write barrier is needed. For example, putting a primitive is considered
to not require a write barrier. This makes sense, except for the case when we
might allocate or re-allocate a butterfly in the IC. This does not emit a write
barrier, and so the GC might miss the new butterfly. That is somewhat undesirable.
This is a temporary conservative fix. If we don't write to the butterfly pointer,
then we still don't need a write barrier; this work is captured by
https://bugs.webkit.org/show_bug.cgi?id=230377

  • dfg/DFGStoreBarrierInsertionPhase.cpp:
8:03 AM Changeset in webkit [282662] by Alan Bujtas
  • 10 edits in trunk/Source/WebCore

[LFC][Integration] Start using InlineInvalidation to clean runs and lines
https://bugs.webkit.org/show_bug.cgi?id=229294
<rdar://problem/82395169>

Reviewed by Antti Koivisto.

This patch is in preparation for supporting partial line layout.
No change in functionality yet.

  • layout/formattingContexts/inline/InlineFormattingContext.cpp:

(WebCore::Layout::InlineFormattingContext::InlineFormattingContext):
(WebCore::Layout::InlineFormattingContext::invalidateFormattingState):

  • layout/formattingContexts/inline/InlineFormattingContext.h:
  • layout/formattingContexts/inline/InlineFormattingState.h:

(WebCore::Layout::InlineFormattingState::clearInlineItems):

  • layout/integration/LayoutIntegrationLineLayout.cpp:

(WebCore::LayoutIntegration::LineLayout::updateStyle):
(WebCore::LayoutIntegration::LineLayout::layout):
(WebCore::LayoutIntegration::LineLayout::prepareLayoutState):
(WebCore::LayoutIntegration::LineLayout::ensureLineDamage):

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

(WebCore::RenderBlockFlow::styleDidChange): The initial styleDidChange (when oldStyle is nullptr) does not go through the integration codepath.

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::styleDidChange):

  • rendering/RenderInline.cpp:

(WebCore::RenderInline::styleDidChange):

8:01 AM Changeset in webkit [282661] by Antti Koivisto
  • 8 edits in trunk/Source/WebCore

[LFC][Integration] Add some useful functions to iterators
https://bugs.webkit.org/show_bug.cgi?id=230398

Reviewed by Alan Bujtas.

For future use.

  • layout/integration/LayoutIntegrationLineIterator.cpp:

(WebCore::LayoutIntegration::LineIterator::closestRunForLogicalLeftPosition):
(WebCore::LayoutIntegration::PathLine::selectionTopAdjustedForPrecedingBlock const):
(WebCore::LayoutIntegration::PathLine::selectionHeightAdjustedForPrecedingBlock const):
(WebCore::LayoutIntegration::PathLine::firstSelectedBox const):
(WebCore::LayoutIntegration::PathLine::lastSelectedBox const):

  • layout/integration/LayoutIntegrationLineIterator.h:

(WebCore::LayoutIntegration::PathLine::contentLogicalWidth const):

  • layout/integration/LayoutIntegrationLineIteratorModernPath.h:
  • layout/integration/LayoutIntegrationRunIterator.h:

(WebCore::LayoutIntegration::PathTextRun::legacyInlineBox const):
(WebCore::LayoutIntegration::PathRun::legacyInlineBox const):
(WebCore::LayoutIntegration::PathRun::inlineBox const):
(WebCore::LayoutIntegration::PathTextRun::createTextRun const):

  • layout/integration/LayoutIntegrationRunIteratorLegacyPath.h:

(WebCore::LayoutIntegration::RunIteratorLegacyPath::createTextRun const):

  • layout/integration/LayoutIntegrationRunIteratorModernPath.h:

(WebCore::LayoutIntegration::RunIteratorModernPath::createTextRun const):
(WebCore::LayoutIntegration::RunIteratorModernPath::run const):
(WebCore::LayoutIntegration::RunIteratorModernPath::runs const):
(WebCore::LayoutIntegration::RunIteratorModernPath::legacyInlineBox const): Deleted.

  • rendering/LegacyInlineTextBox.h:
6:41 AM Changeset in webkit [282660] by Adrian Perez de Castro
  • 1 copy in releases/WPE WebKit/webkit-2.32.4

WPE WebKit 2.32.4

6:40 AM Changeset in webkit [282659] by Adrian Perez de Castro
  • 2 edits in releases/WebKitGTK/webkit-2.32/Source

wip

6:24 AM Changeset in webkit [282658] by Antti Koivisto
  • 19 edits in trunk/Source/WebCore

[LFC][Integration] Move non-traversal functions from iterator to the dereferenced type
https://bugs.webkit.org/show_bug.cgi?id=230396

Reviewed by Alan Bujtas.

Improve the logic of the iterator interface so the code does not end up as a mixture of . and -> access.
This also makes the dereferenced box/line type more useful in itself.

For example to get a new iterator pointing to the next line:

auto nextLine = line->next();

but to mutate the iterator so it points to the next line:

line.traverseNext();

  • dom/Position.cpp:

(WebCore::Position::upstream const):
(WebCore::Position::downstream const):
(WebCore::Position::rendersInDifferentPosition const):
(WebCore::Position::inlineRunAndOffset const):

  • editing/RenderedPosition.cpp:

(WebCore::RenderedPosition::previousLeafOnLine const):
(WebCore::RenderedPosition::nextLeafOnLine const):
(WebCore::RenderedPosition::leftBoundaryOfBidiRun):
(WebCore::RenderedPosition::rightBoundaryOfBidiRun):

  • editing/RenderedPosition.h:

(WebCore::RenderedPosition::line const):

  • editing/VisiblePosition.cpp:

(WebCore::VisiblePosition::leftVisuallyDistinctCandidate const):
(WebCore::VisiblePosition::rightVisuallyDistinctCandidate const):
(WebCore::VisiblePosition::absoluteSelectionBoundsForLine const):

  • editing/VisibleUnits.cpp:

(WebCore::startTextOrLineBreakRun):
(WebCore::endTextOrLineBreakRun):
(WebCore::logicallyPreviousRun):
(WebCore::logicallyNextRun):
(WebCore::startPositionForLine):
(WebCore::endPositionForLine):
(WebCore::previousLinePosition):
(WebCore::nextLinePosition):

  • html/HTMLTextFormControlElement.cpp:

(WebCore::HTMLTextFormControlElement::valueWithHardLineBreaks const):

  • layout/integration/LayoutIntegrationLineIterator.cpp:

(WebCore::LayoutIntegration::LineIterator::LineIterator):
(WebCore::LayoutIntegration::firstLineFor):
(WebCore::LayoutIntegration::lastLineFor):
(WebCore::LayoutIntegration::PathLine::next const):
(WebCore::LayoutIntegration::PathLine::previous const):
(WebCore::LayoutIntegration::PathLine::firstRun const):
(WebCore::LayoutIntegration::PathLine::lastRun const):
(WebCore::LayoutIntegration::PathLine::logicalStartRun const):
(WebCore::LayoutIntegration::PathLine::logicalEndRun const):
(WebCore::LayoutIntegration::PathLine::logicalStartRunWithNode const):
(WebCore::LayoutIntegration::PathLine::logicalEndRunWithNode const):
(WebCore::LayoutIntegration::PathLine::closestRunForPoint const):
(WebCore::LayoutIntegration::PathLine::closestRunForLogicalLeftPosition const):
(WebCore::LayoutIntegration::LineIterator::next const): Deleted.
(WebCore::LayoutIntegration::LineIterator::previous const): Deleted.
(WebCore::LayoutIntegration::LineIterator::firstRun const): Deleted.
(WebCore::LayoutIntegration::LineIterator::lastRun const): Deleted.
(WebCore::LayoutIntegration::LineIterator::logicalStartRun const): Deleted.
(WebCore::LayoutIntegration::LineIterator::logicalEndRun const): Deleted.
(WebCore::LayoutIntegration::LineIterator::logicalStartRunWithNode const): Deleted.
(WebCore::LayoutIntegration::LineIterator::logicalEndRunWithNode const): Deleted.
(WebCore::LayoutIntegration::LineIterator::closestRunForPoint): Deleted.
(WebCore::LayoutIntegration::LineIterator::closestRunForLogicalLeftPosition): Deleted.

  • layout/integration/LayoutIntegrationLineIterator.h:

(WebCore::LayoutIntegration::PathLine::isFirst const):
(WebCore::LayoutIntegration::LineIterator::isFirst const): Deleted.

  • layout/integration/LayoutIntegrationRunIterator.cpp:

(WebCore::LayoutIntegration::RunIterator::RunIterator):
(WebCore::LayoutIntegration::PathRun::nextOnLine const):
(WebCore::LayoutIntegration::PathRun::previousOnLine const):
(WebCore::LayoutIntegration::PathRun::nextOnLineIgnoringLineBreak const):
(WebCore::LayoutIntegration::PathRun::previousOnLineIgnoringLineBreak const):
(WebCore::LayoutIntegration::PathRun::style const):
(WebCore::LayoutIntegration::PathTextRun::nextTextRun const):
(WebCore::LayoutIntegration::PathTextRun::nextTextRunInTextOrder const):
(WebCore::LayoutIntegration::TextRunIterator::TextRunIterator):
(WebCore::LayoutIntegration::RunIterator::nextOnLine const): Deleted.
(WebCore::LayoutIntegration::RunIterator::previousOnLine const): Deleted.
(WebCore::LayoutIntegration::RunIterator::nextOnLineIgnoringLineBreak const): Deleted.
(WebCore::LayoutIntegration::RunIterator::previousOnLineIgnoringLineBreak const): Deleted.
(WebCore::LayoutIntegration::RunIterator::line const): Deleted.

  • layout/integration/LayoutIntegrationRunIterator.h:

(WebCore::LayoutIntegration::TextRunIterator::nextTextRun const): Deleted.
(WebCore::LayoutIntegration::TextRunIterator::nextTextRunInTextOrder const): Deleted.

  • rendering/CaretRectComputation.cpp:

(WebCore::computeCaretRectForText):
(WebCore::computeCaretRectForLineBreak):
(WebCore::computeCaretRectForBox):

  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::findClosestTextAtAbsolutePoint):
(WebCore::RenderBlockFlow::positionForPointWithInlineChildren):

  • rendering/RenderElement.cpp:

(WebCore::RenderElement::getLeadingCorner const):

  • rendering/RenderImage.cpp:

(WebCore::RenderImage::collectSelectionGeometries):

  • rendering/RenderLineBreak.cpp:

(WebCore::RenderLineBreak::collectSelectionGeometries):

  • rendering/RenderReplaced.cpp:

(WebCore::RenderReplaced::positionForPoint):

  • rendering/RenderText.cpp:

(WebCore::RenderText::collectSelectionGeometries):
(WebCore::lineDirectionPointFitsInBox):
(WebCore::createVisiblePositionAfterAdjustingOffsetForBiDi):
(WebCore::RenderText::positionForPoint):

  • style/InlineTextBoxStyle.cpp:

(WebCore::minLogicalTopForTextDecorationLine):
(WebCore::maxLogicalBottomForTextDecorationLine):
(WebCore::computeUnderlineOffset):

5:30 AM Changeset in webkit [282657] by Carlos Garcia Campos
  • 2 edits in trunk

Unreviewed. [GTK] Bump version numbers

  • Source/cmake/OptionsGTK.cmake:
5:21 AM Changeset in webkit [282656] by Carlos Garcia Campos
  • 1 copy in releases/WebKitGTK/webkit-2.33.91

WebKitGTK 2.33.91

5:20 AM Changeset in webkit [282655] by Carlos Garcia Campos
  • 4 edits in releases/WebKitGTK/webkit-2.34

Unreviewed. Update OptionsGTK.cmake and NEWS for 2.33.91 release

.:

  • Source/cmake/OptionsGTK.cmake: Bump version numbers.

Source/WebKit:

  • gtk/NEWS: Add release notes for 2.33.91.
4:02 AM Changeset in webkit [282654] by Lauro Moura
  • 5 edits in trunk/Tools

REGRESSION(r275267) [GLIB] API test /webkit/WebKitWebsiteData/configuration is failing
https://bugs.webkit.org/show_bug.cgi?id=224175

Reviewed by Carlos Garcia Campos.

Some WebsiteData tests rely on checking whether some specific files
are created in the background. Currently, this is done through
waitUntilFileChanged(), which first g_file_query() whether the file
exists before entering a main loop which uses GFileMonitor. While this
worked most of the time, some tests were flaky due to likely the file
being created between the query call and the monitoring starting,
especially after revisions like r275267.

This commit replaces the waitUntilFileChanged calls with an explicit
check loop, like was done for the applicationCache file in the
configuration test.

Also, for the ITP test, there's no need to check for the file to be
deleted, as the ResourceLoadStatistics just clears the database and
recreates the schema, reusing the existing file.

Covered by existing tests.

  • TestWebKitAPI/Tests/WebKitGLib/TestWebsiteData.cpp:

(testWebsiteDataConfiguration):
(testWebsiteDataITP):
(testWebsiteDataDOMCache):

  • TestWebKitAPI/glib/TestExpectations.json:
  • TestWebKitAPI/glib/WebKitGLib/WebViewTest.cpp:

(WebViewTest::assertFileIsCreated):
(WebViewTest::assertJavaScriptBecomesTrue):

  • TestWebKitAPI/glib/WebKitGLib/WebViewTest.h:
3:33 AM Changeset in webkit [282653] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.34/Source/JavaScriptCore

Merge r281933 - Fix IndexedDoubleStore InlineAccess for 32 bits
https://bugs.webkit.org/show_bug.cgi?id=229772

Patch by Mikhail R. Gadelha <Mikhail R. Gadelha> on 2021-09-02
Reviewed by Caio Araujo Neponoceno de Lima.

In IndexedDoubleStore inline access, the path if the value is NaN
is only being handled in 64 bits, thus introducing some wrong
results in 32 bits. This patch fixes:

stress/double-add-sub-mul-can-produce-nan.js
stress/pow-stable-results.js
stress/math-pow-stable-results.js

  • bytecode/AccessCase.cpp:

(JSC::AccessCase::generateWithGuard):

3:33 AM Changeset in webkit [282652] by Carlos Garcia Campos
  • 4 edits in releases/WebKitGTK/webkit-2.34/Source/JavaScriptCore

Merge r282540 - Fix crash in 32 bits due to not enough scratch registers available
https://bugs.webkit.org/show_bug.cgi?id=230241

Patch by Mikhail R. Gadelha <Mikhail R. Gadelha> on 2021-09-16
Reviewed by Filip Pizlo.

Since patch 229229 (Polymorphic PutByVal) landed, jsc is now reaching
the case Transition in AccessCase::generateImpl which needs three
scratch registers when reallocating, but in ARMv7/MIPS, there are only
two registers available.

So in this patch, AccessCase::createTransition is changed to actually
check if there are enough registers available before creating the
AccessCase object.

  • bytecode/AccessCase.cpp:

(JSC::AccessCase::generateImpl):

3:33 AM Changeset in webkit [282651] by Carlos Garcia Campos
  • 8 edits in releases/WebKitGTK/webkit-2.34/Source/JavaScriptCore

Merge r282385 - [JSC] ASSERT failed in stress/for-in-tests.js (32bit)
https://bugs.webkit.org/show_bug.cgi?id=229543

Patch by Xan López <Xan Lopez> on 2021-09-14
Reviewed by Yusuke Suzuki.

Since r280760 DFG::SpeculativeJIT::compileEnumeratorGetByVal uses
too many registers for 32bit. Revert to the slow path as a
temporary measure to avoid crashes, we'll try to reenable the
optimizations later on (see bug #230189).

  • dfg/DFGOperations.cpp:

(JSC::DFG::JSC_DEFINE_JIT_OPERATION): define a generic call
operation for compileEnumeratorGetByVal.

  • dfg/DFGOperations.h:
  • dfg/DFGSpeculativeJIT.cpp: move the current version of

compileEnumeratorGetByVal to 64bit, since it won't work on 32bit.

  • dfg/DFGSpeculativeJIT32_64.cpp:

(JSC::DFG::SpeculativeJIT::compileEnumeratorGetByVal): call the generic call op always.

  • dfg/DFGSpeculativeJIT64.cpp:

(JSC::DFG::SpeculativeJIT::compileEnumeratorGetByVal): use the previous version here.

  • runtime/CommonSlowPaths.cpp:

(JSC::JSC_DEFINE_COMMON_SLOW_PATH): refactor a bit the slow path
for enumeratorGetByVal so it can be called from DFG as a call
operation.

  • runtime/CommonSlowPaths.h:

(JSC::CommonSlowPaths::opEnumeratorGetByVal):

3:33 AM Changeset in webkit [282650] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.34/Source/JavaScriptCore

Merge r282336 - [JSC][32bit] in-by-val fails inside for-in loop after delete
https://bugs.webkit.org/show_bug.cgi?id=230150

Patch by Xan López <Xan Lopez> on 2021-09-13
Reviewed by Carlos Garcia Campos.

The order of payload and tag was reversed when constructing the
base value for compileEnumeratorHasProperty.

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::compileEnumeratorHasProperty):

3:13 AM Changeset in webkit [282649] by Carlos Garcia Campos
  • 1 copy in releases/WebKitGTK/webkit-2.32.4

WebKitGTK 2.32.4

3:12 AM Changeset in webkit [282648] by Carlos Garcia Campos
  • 4 edits in releases/WebKitGTK/webkit-2.32

Unreviewed. Update OptionsGTK.cmake and NEWS for 2.32.4 release

.:

  • Source/cmake/OptionsGTK.cmake: Bump version numbers.

Source/WebKit:

  • gtk/NEWS: Add release notes for 2.32.4
2:58 AM Changeset in webkit [282647] by Martin Robinson
  • 2 edits in trunk

Add Martin Robinson as a reviewer
https://bugs.webkit.org/show_bug.cgi?id=230392

Unreviewed.

  • metadata/contributors.json: Add myself as a reviewer and update my specializations.
2:15 AM Changeset in webkit [282646] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.34

Merge r282065 - [CMake] Prefer python3 over python2
https://bugs.webkit.org/show_bug.cgi?id=229969

Reviewed by Michael Catanzaro.

Use the CMake module FindPython instead of FindPythonInterp.
FindPython looks preferably for version 3 of Python. If not found, then it looks for version 2.

  • Source/cmake/WebKitCommon.cmake:
2:15 AM WebKitGTK/2.34.x edited by Carlos Garcia Campos
(diff)
2:13 AM Changeset in webkit [282645] by Adrian Perez de Castro
  • 2 edits in releases/WebKitGTK/webkit-2.32/LayoutTests

Unreviewed fix to remove stray conflict markers after r276759

  • platform/glib/TestExpectations: Remove stray conflict markers.
1:41 AM Changeset in webkit [282644] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.34/Source/WebKit

Merge r282490 - [GTK][WPE] test animations/steps-transform-rendering-updates.html fails
https://bugs.webkit.org/show_bug.cgi?id=230307

Patch by Carlos Garcia Campos <cgarcia@igalia.com> on 2021-09-16
Reviewed by Carlos Alberto Lopez Perez.

ThreadedDisplayRefreshMonitor is not setting isScheduled back to false when it's fired. That causes
hasBeenRescheduled to be true and handleDisplayRefreshMonitorUpdate() is called with force repaint option, so we
end up flushing layers on every display refresh update.

  • Shared/CoordinatedGraphics/threadedcompositor/ThreadedDisplayRefreshMonitor.cpp:

(WebKit::ThreadedDisplayRefreshMonitor::displayRefreshCallback):

1:41 AM Changeset in webkit [282643] by Carlos Garcia Campos
  • 59 edits
    5 copies
    6 adds in trunk

[GTK][a11y] Add a build option to enable ATSPI
https://bugs.webkit.org/show_bug.cgi?id=230254

Reviewed by Adrian Perez de Castro.

.:

Add USE_ATSPI build option that disables ATK and enables isolated tree.

  • Source/cmake/OptionsGTK.cmake:

Source/WebCore:

Add stubs for ATSPI implementation.

  • PlatformGTK.cmake:
  • SourcesGTK.txt:
  • accessibility/AccessibilityObjectInterface.h:
  • accessibility/atk/AXObjectCacheAtk.cpp:
  • accessibility/atk/AccessibilityObjectAtk.cpp:
  • accessibility/atk/WebKitAccessible.cpp:
  • accessibility/atk/WebKitAccessible.h:
  • accessibility/atk/WebKitAccessibleHyperlink.cpp:
  • accessibility/atk/WebKitAccessibleHyperlink.h:
  • accessibility/atk/WebKitAccessibleInterfaceAction.cpp:
  • accessibility/atk/WebKitAccessibleInterfaceAction.h:
  • accessibility/atk/WebKitAccessibleInterfaceComponent.cpp:
  • accessibility/atk/WebKitAccessibleInterfaceComponent.h:
  • accessibility/atk/WebKitAccessibleInterfaceDocument.cpp:
  • accessibility/atk/WebKitAccessibleInterfaceDocument.h:
  • accessibility/atk/WebKitAccessibleInterfaceEditableText.cpp:
  • accessibility/atk/WebKitAccessibleInterfaceEditableText.h:
  • accessibility/atk/WebKitAccessibleInterfaceHyperlinkImpl.cpp:
  • accessibility/atk/WebKitAccessibleInterfaceHyperlinkImpl.h:
  • accessibility/atk/WebKitAccessibleInterfaceHypertext.cpp:
  • accessibility/atk/WebKitAccessibleInterfaceHypertext.h:
  • accessibility/atk/WebKitAccessibleInterfaceImage.cpp:
  • accessibility/atk/WebKitAccessibleInterfaceImage.h:
  • accessibility/atk/WebKitAccessibleInterfaceSelection.cpp:
  • accessibility/atk/WebKitAccessibleInterfaceSelection.h:
  • accessibility/atk/WebKitAccessibleInterfaceTable.cpp:
  • accessibility/atk/WebKitAccessibleInterfaceTable.h:
  • accessibility/atk/WebKitAccessibleInterfaceTableCell.cpp:
  • accessibility/atk/WebKitAccessibleInterfaceTableCell.h:
  • accessibility/atk/WebKitAccessibleInterfaceText.cpp:
  • accessibility/atk/WebKitAccessibleInterfaceText.h:
  • accessibility/atk/WebKitAccessibleInterfaceValue.cpp:
  • accessibility/atk/WebKitAccessibleInterfaceValue.h:
  • accessibility/atk/WebKitAccessibleUtil.cpp:
  • accessibility/atk/WebKitAccessibleUtil.h:
  • accessibility/atspi/AXObjectCacheAtspi.cpp: Added.

(WebCore::AXObjectCache::detachWrapper):
(WebCore::AXObjectCache::attachWrapper):
(WebCore::AXObjectCache::platformPerformDeferredCacheUpdate):
(WebCore::AXObjectCache::postPlatformNotification):
(WebCore::AXObjectCache::nodeTextChangePlatformNotification):
(WebCore::AXObjectCache::frameLoadingEventPlatformNotification):
(WebCore::AXObjectCache::platformHandleFocusedUIElementChanged):
(WebCore::AXObjectCache::handleScrolledToAnchor):

  • accessibility/atspi/AccessibilityObjectAtspi.cpp: Added.

(WebCore::AccessibilityObjectAtspi::create):
(WebCore::AccessibilityObjectAtspi::AccessibilityObjectAtspi):
(WebCore::AccessibilityObject::detachPlatformWrapper):
(WebCore::AccessibilityObject::accessibilityIgnoreAttachment const):
(WebCore::AccessibilityObject::accessibilityPlatformIncludesObject const):

  • accessibility/atspi/AccessibilityObjectAtspi.h: Added.
  • accessibility/isolatedtree/AXIsolatedObject.cpp:

(WebCore::AXIsolatedObject::children):

  • accessibility/isolatedtree/AXIsolatedTree.h:
  • accessibility/isolatedtree/atspi/AXIsolatedObjectAtspi.cpp: Added.

(WebCore::AXIsolatedObject::initializePlatformProperties):
(WebCore::AXIsolatedObject::attachPlatformWrapper):
(WebCore::AXIsolatedObject::detachPlatformWrapper):

  • editing/FrameSelection.h:
  • editing/atk/FrameSelectionAtk.cpp:
  • editing/atspi/FrameSelectionAtspi.cpp: Added.

(WebCore::FrameSelection::notifyAccessibilityForSelectionChange):

  • page/Settings.yaml:

Source/WebKit:

  • WebProcess/WebPage/gtk/WebPageGtk.cpp:

(WebKit::WebPage::platformInitialize): Add ATK ifdef.

  • WebProcess/gtk/WebProcessMainGtk.cpp:

(WebKit::WebProcessMain): Disable ATK/GTK accessibility support in the WebProcess when using ATSPI.

Source/WTF:

Enable isolated tree when building with ATSPI.

  • Scripts/Preferences/WebPreferences.yaml:

Tools:

Add stubs for WTR accessibility implementation.

  • WebKitTestRunner/InjectedBundle/AccessibilityController.cpp:
  • WebKitTestRunner/InjectedBundle/AccessibilityController.h:
  • WebKitTestRunner/InjectedBundle/AccessibilityUIElement.cpp:

(WTR::AccessibilityUIElement::isIsolatedObject const):

  • WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h:

(WTR::AccessibilityUIElement::platformUIElement):

  • WebKitTestRunner/InjectedBundle/atk/AccessibilityControllerAtk.cpp:
  • WebKitTestRunner/InjectedBundle/atk/AccessibilityNotificationHandlerAtk.cpp:
  • WebKitTestRunner/InjectedBundle/atk/AccessibilityNotificationHandlerAtk.h:
  • WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:
  • WebKitTestRunner/InjectedBundle/atspi/AccessibilityControllerAtspi.cpp: Added.

(WTR::AccessibilityController::resetToConsistentState):
(WTR::AccessibilityController::accessibleElementById):
(WTR::AccessibilityController::platformName):
(WTR::AccessibilityController::injectAccessibilityPreference):
(WTR::AccessibilityController::rootElement):
(WTR::AccessibilityController::focusedElement):
(WTR::AccessibilityController::addNotificationListener):
(WTR::AccessibilityController::removeNotificationListener):
(WTR::AccessibilityController::updateIsolatedTreeMode):

  • WebKitTestRunner/InjectedBundle/atspi/AccessibilityUIElementAtspi.cpp: Added.

(WTR::AccessibilityUIElement::AccessibilityUIElement):
(WTR::AccessibilityUIElement::~AccessibilityUIElement):
(WTR::AccessibilityUIElement::isEqual):
(WTR::AccessibilityUIElement::getChildren):
(WTR::AccessibilityUIElement::getChildrenWithRange):
(WTR::AccessibilityUIElement::childrenCount):
(WTR::AccessibilityUIElement::elementAtPoint):
(WTR::AccessibilityUIElement::indexOfChild):
(WTR::AccessibilityUIElement::childAtIndex):
(WTR::AccessibilityUIElement::linkedUIElementAtIndex):
(WTR::AccessibilityUIElement::ariaOwnsElementAtIndex):
(WTR::AccessibilityUIElement::ariaFlowToElementAtIndex):
(WTR::AccessibilityUIElement::ariaControlsElementAtIndex):
(WTR::AccessibilityUIElement::disclosedRowAtIndex):
(WTR::AccessibilityUIElement::rowAtIndex):
(WTR::AccessibilityUIElement::selectedChildAtIndex const):
(WTR::AccessibilityUIElement::selectedChildrenCount const):
(WTR::AccessibilityUIElement::selectedRowAtIndex):
(WTR::AccessibilityUIElement::titleUIElement):
(WTR::AccessibilityUIElement::parentElement):
(WTR::AccessibilityUIElement::disclosedByRow):
(WTR::AccessibilityUIElement::attributesOfLinkedUIElements):
(WTR::AccessibilityUIElement::attributesOfDocumentLinks):
(WTR::AccessibilityUIElement::attributesOfChildren):
(WTR::AccessibilityUIElement::allAttributes):
(WTR::AccessibilityUIElement::stringDescriptionOfAttributeValue):
(WTR::AccessibilityUIElement::stringAttributeValue):
(WTR::AccessibilityUIElement::numberAttributeValue):
(WTR::AccessibilityUIElement::uiElementArrayAttributeValue const):
(WTR::AccessibilityUIElement::rowHeaders const):
(WTR::AccessibilityUIElement::columnHeaders const):
(WTR::AccessibilityUIElement::uiElementAttributeValue const):
(WTR::AccessibilityUIElement::boolAttributeValue):
(WTR::AccessibilityUIElement::isAttributeSettable):
(WTR::AccessibilityUIElement::isAttributeSupported):
(WTR::AccessibilityUIElement::parameterizedAttributeNames):
(WTR::AccessibilityUIElement::role):
(WTR::AccessibilityUIElement::subrole):
(WTR::AccessibilityUIElement::roleDescription):
(WTR::AccessibilityUIElement::computedRoleString):
(WTR::AccessibilityUIElement::title):
(WTR::AccessibilityUIElement::description):
(WTR::AccessibilityUIElement::orientation const):
(WTR::AccessibilityUIElement::stringValue):
(WTR::AccessibilityUIElement::language):
(WTR::AccessibilityUIElement::helpText const):
(WTR::AccessibilityUIElement::x):
(WTR::AccessibilityUIElement::y):
(WTR::AccessibilityUIElement::width):
(WTR::AccessibilityUIElement::height):
(WTR::AccessibilityUIElement::clickPointX):
(WTR::AccessibilityUIElement::clickPointY):
(WTR::AccessibilityUIElement::intValue const):
(WTR::AccessibilityUIElement::minValue):
(WTR::AccessibilityUIElement::maxValue):
(WTR::AccessibilityUIElement::valueDescription):
(WTR::AccessibilityUIElement::insertionPointLineNumber):
(WTR::AccessibilityUIElement::isPressActionSupported):
(WTR::AccessibilityUIElement::isIncrementActionSupported):
(WTR::AccessibilityUIElement::isDecrementActionSupported):
(WTR::AccessibilityUIElement::isEnabled):
(WTR::AccessibilityUIElement::isRequired const):
(WTR::AccessibilityUIElement::isFocused const):
(WTR::AccessibilityUIElement::isSelected const):
(WTR::AccessibilityUIElement::isSelectedOptionActive const):
(WTR::AccessibilityUIElement::isExpanded const):
(WTR::AccessibilityUIElement::isChecked const):
(WTR::AccessibilityUIElement::isIndeterminate const):
(WTR::AccessibilityUIElement::hierarchicalLevel const):
(WTR::AccessibilityUIElement::speakAs):
(WTR::AccessibilityUIElement::ariaIsGrabbed const):
(WTR::AccessibilityUIElement::ariaDropEffects const):
(WTR::AccessibilityUIElement::lineForIndex):
(WTR::AccessibilityUIElement::rangeForLine):
(WTR::AccessibilityUIElement::rangeForPosition):
(WTR::AccessibilityUIElement::boundsForRange):
(WTR::AccessibilityUIElement::stringForRange):
(WTR::AccessibilityUIElement::attributedStringForRange):
(WTR::AccessibilityUIElement::attributedStringRangeIsMisspelled):
(WTR::AccessibilityUIElement::uiElementCountForSearchPredicate):
(WTR::AccessibilityUIElement::uiElementForSearchPredicate):
(WTR::AccessibilityUIElement::selectTextWithCriteria):
(WTR::AccessibilityUIElement::attributesOfColumnHeaders):
(WTR::AccessibilityUIElement::attributesOfRowHeaders):
(WTR::AccessibilityUIElement::attributesOfColumns):
(WTR::AccessibilityUIElement::attributesOfRows):
(WTR::AccessibilityUIElement::attributesOfVisibleCells):
(WTR::AccessibilityUIElement::attributesOfHeader):
(WTR::AccessibilityUIElement::rowCount):
(WTR::AccessibilityUIElement::columnCount):
(WTR::AccessibilityUIElement::indexInTable):
(WTR::AccessibilityUIElement::rowIndexRange):
(WTR::AccessibilityUIElement::columnIndexRange):
(WTR::AccessibilityUIElement::cellForColumnAndRow):
(WTR::AccessibilityUIElement::horizontalScrollbar const):
(WTR::AccessibilityUIElement::verticalScrollbar const):
(WTR::AccessibilityUIElement::selectedTextRange):
(WTR::AccessibilityUIElement::setSelectedTextRange):
(WTR::AccessibilityUIElement::increment):
(WTR::AccessibilityUIElement::decrement):
(WTR::AccessibilityUIElement::showMenu):
(WTR::AccessibilityUIElement::press):
(WTR::AccessibilityUIElement::setSelectedChild const):
(WTR::AccessibilityUIElement::setSelectedChildAtIndex const):
(WTR::AccessibilityUIElement::removeSelectionAtIndex const):
(WTR::AccessibilityUIElement::clearSelectedChildren const):
(WTR::AccessibilityUIElement::accessibilityValue const):
(WTR::AccessibilityUIElement::documentEncoding):
(WTR::AccessibilityUIElement::documentURI):
(WTR::AccessibilityUIElement::url):
(WTR::AccessibilityUIElement::addNotificationListener):
(WTR::AccessibilityUIElement::removeNotificationListener):
(WTR::AccessibilityUIElement::isFocusable const):
(WTR::AccessibilityUIElement::isSelectable const):
(WTR::AccessibilityUIElement::isMultiSelectable const):
(WTR::AccessibilityUIElement::isVisible const):
(WTR::AccessibilityUIElement::isOffScreen const):
(WTR::AccessibilityUIElement::isCollapsed const):
(WTR::AccessibilityUIElement::isIgnored const):
(WTR::AccessibilityUIElement::isSingleLine const):
(WTR::AccessibilityUIElement::isMultiLine const):
(WTR::AccessibilityUIElement::hasPopup const):
(WTR::AccessibilityUIElement::takeFocus):
(WTR::AccessibilityUIElement::takeSelection):
(WTR::AccessibilityUIElement::addSelection):
(WTR::AccessibilityUIElement::removeSelection):
(WTR::AccessibilityUIElement::lineTextMarkerRangeForTextMarker):
(WTR::AccessibilityUIElement::textMarkerRangeForElement):
(WTR::AccessibilityUIElement::textMarkerRangeLength):
(WTR::AccessibilityUIElement::previousTextMarker):
(WTR::AccessibilityUIElement::nextTextMarker):
(WTR::AccessibilityUIElement::stringForTextMarkerRange):
(WTR::AccessibilityUIElement::rectsForTextMarkerRange):
(WTR::AccessibilityUIElement::textMarkerRangeForMarkers):
(WTR::AccessibilityUIElement::startTextMarkerForTextMarkerRange):
(WTR::AccessibilityUIElement::endTextMarkerForTextMarkerRange):
(WTR::AccessibilityUIElement::endTextMarkerForBounds):
(WTR::AccessibilityUIElement::startTextMarkerForBounds):
(WTR::AccessibilityUIElement::textMarkerForPoint):
(WTR::AccessibilityUIElement::accessibilityElementForTextMarker):
(WTR::AccessibilityUIElement::attributedStringForTextMarkerRange):
(WTR::AccessibilityUIElement::attributedStringForTextMarkerRangeWithOptions):
(WTR::AccessibilityUIElement::attributedStringForTextMarkerRangeContainsAttribute):
(WTR::AccessibilityUIElement::indexForTextMarker):
(WTR::AccessibilityUIElement::isTextMarkerValid):
(WTR::AccessibilityUIElement::textMarkerForIndex):
(WTR::AccessibilityUIElement::startTextMarker):
(WTR::AccessibilityUIElement::endTextMarker):
(WTR::AccessibilityUIElement::setSelectedTextMarkerRange):
(WTR::AccessibilityUIElement::scrollToMakeVisible):
(WTR::AccessibilityUIElement::scrollToGlobalPoint):
(WTR::AccessibilityUIElement::scrollToMakeVisibleWithSubFocus):
(WTR::AccessibilityUIElement::supportedActions const):
(WTR::AccessibilityUIElement::pathDescription const):
(WTR::AccessibilityUIElement::mathPostscriptsDescription const):
(WTR::AccessibilityUIElement::mathPrescriptsDescription const):
(WTR::AccessibilityUIElement::classList const):
(WTR::AccessibilityUIElement::characterAtOffset):
(WTR::AccessibilityUIElement::wordAtOffset):
(WTR::AccessibilityUIElement::lineAtOffset):
(WTR::AccessibilityUIElement::sentenceAtOffset):
(WTR::AccessibilityUIElement::replaceTextInRange):
(WTR::AccessibilityUIElement::insertText):
(WTR::AccessibilityUIElement::popupValue const):

  • WebKitTestRunner/InjectedBundle/mac/AccessibilityControllerMac.mm:

(WTR::AccessibilityController::updateIsolatedTreeMode):

  • WebKitTestRunner/PlatformGTK.cmake:
  • WebKitTestRunner/TestOptions.cpp:

(WTR::TestOptions::defaults):

1:29 AM Changeset in webkit [282642] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.32/Source/WebCore

Merge r281813 - REGRESSION (r272900): wpt.fyi loading performance is very slow (regressed, and slower than other browsers)
https://bugs.webkit.org/show_bug.cgi?id=229680
<rdar://problem/82541045>

Reviewed by Darin Adler.

The page is inserting new children to shadow host and on each insertion we are traversing the composed
tree to tear down renderers, even though there are none.

  • rendering/updating/RenderTreeUpdater.cpp:

(WebCore::RenderTreeUpdater::tearDownRenderersAfterSlotChange):

If the host doesn't have a renderer or 'display:contents' there can't be any renderers left in the subtree.

1:29 AM Changeset in webkit [282641] by Carlos Garcia Campos
  • 5 edits
    2 adds in releases/WebKitGTK/webkit-2.32

Merge r281128 - REGRESSION (r275756): Accelerated animations freeze when invalidating layout with shadow dom
https://bugs.webkit.org/show_bug.cgi?id=228954
<rdar://problem/81750217>

Reviewed by Ryosuke Niwa.

Source/WebCore:

Test: animations/shadow-host-child-change.html

Tearing down the host renderer after slot assignments change cancels animations on it.

  • dom/SlotAssignment.cpp:

(WebCore::SlotAssignment::didChangeSlot):

  • rendering/updating/RenderTreeUpdater.cpp:

(WebCore::RenderTreeUpdater::tearDownRenderersAfterSlotChange):

Add a version that keeps the animations going on the teardown root.

(WebCore::RenderTreeUpdater::tearDownRenderers):

  • rendering/updating/RenderTreeUpdater.h:

LayoutTests:

Original test by Liam DeBeasi

  • animations/shadow-host-child-change-expected.html: Added.
  • animations/shadow-host-child-change.html: Added.
1:28 AM Changeset in webkit [282640] by Carlos Garcia Campos
  • 3 edits
    2 adds in releases/WebKitGTK/webkit-2.32

Merge r279721 - Shadow host stops rendering after removing a slot, updating style, then its assigned node
https://bugs.webkit.org/show_bug.cgi?id=227652

Reviewed by Alan Bujtas.

Source/WebCore:

Test: fast/shadow-dom/remove-slot-and-host-child.html

  • dom/SlotAssignment.cpp:

(WebCore::SlotAssignment::didChangeSlot):

When we tear down the render tree we also need to request its rebuild unconditionally.

LayoutTests:

  • fast/shadow-dom/remove-slot-and-host-child-expected.html: Added.
  • fast/shadow-dom/remove-slot-and-host-child.html: Added.
12:46 AM Changeset in webkit [282639] by timothy_horton@apple.com
  • 3 edits in trunk/Source/WebKit

Replaying WKCGCommandsContext results in a doubly-scaled backing store
https://bugs.webkit.org/show_bug.cgi?id=230386

Reviewed by Wenson Hsieh.

  • Shared/RemoteLayerTree/CGDisplayListImageBufferBackend.cpp:

(WebKit::CGDisplayListImageBufferBackend::create):

  • Shared/RemoteLayerTree/RemoteLayerBackingStore.mm:

(WebKit::RemoteLayerBackingStore::display):
WKCGCommandsContextCreate() expects the bounds in logical coordinates, so
we don't need to use calculateBackendSize().
This also means that the workaround no longer needs to work around the
missing scale; only the flip is missing.

12:07 AM Changeset in webkit [282638] by youenn@apple.com
  • 4 edits in trunk/Source/WebCore

Make sure to use event queue when settling RTCPeerConnection.addIceCandidate promise
https://bugs.webkit.org/show_bug.cgi?id=230346

Reviewed by Eric Carlson.

Before the patch, we were resolving the promise in a callOnMainThread lambda.
We now do like for other methods: hop to main thread, then queue a task in event loop to resolve the promise.
Covered by existing tests.

  • Modules/mediastream/PeerConnectionBackend.cpp:

(WebCore::PeerConnectionBackend::addIceCandidate):

  • Modules/mediastream/PeerConnectionBackend.h:
  • Modules/mediastream/RTCPeerConnection.cpp:

(WebCore::RTCPeerConnection::addIceCandidate):

12:02 AM Changeset in webkit [282637] by youenn@apple.com
  • 7 edits in trunk

Compute RTCPeerConnection.connectionState as per https://w3c.github.io/webrtc-pc/#rtcpeerconnectionstate-enum
https://bugs.webkit.org/show_bug.cgi?id=230341

Reviewed by Eric Carlson.

LayoutTests/imported/w3c:

  • web-platform-tests/webrtc/RTCPeerConnection-connectionState.https-expected.txt:

Source/WebCore:

We should compute connection states according ICE and DTLS transport state, as per spec.
Given we compute the state from ICE and DTLS states, we now make sure to update connection state whenever DTLS state changes.
Make also sure to not fire events in case peer connection is closed, as per spec.

Covered by existing and rebased tests.

  • Modules/mediastream/RTCDtlsTransport.cpp:

(WebCore::RTCDtlsTransport::onStateChanged):

  • Modules/mediastream/RTCIceTransport.h:

(WebCore::RTCIceTransport::connection const):

  • Modules/mediastream/RTCPeerConnection.cpp:

(WebCore::RTCPeerConnection::close):
(WebCore::RTCPeerConnection::computeConnectionState):
(WebCore::RTCPeerConnection::processIceTransportStateChange):

  • Modules/mediastream/RTCPeerConnection.h:
Note: See TracTimeline for information about the timeline view.