Timeline



Sep 23, 2021:

11:52 PM Changeset in webkit [283027] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebCore

RenderElement::moveLayers should take reference
https://bugs.webkit.org/show_bug.cgi?id=230706

Patch by Rob Buis <rbuis@igalia.com> on 2021-09-23
Reviewed by Simon Fraser.

RenderElement::moveLayers should take reference for newParent
since it is always non-null.

  • rendering/RenderElement.cpp:

(WebCore::RenderElement::moveLayers):

  • rendering/RenderElement.h:
  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::insertOnlyThisLayer):

10:07 PM Changeset in webkit [283026] by Simon Fraser
  • 6 edits in trunk/Source/WebCore

Move ScrollSnapAnimatorState's ScrollAnimationMomentum into ScrollingEffectsController
https://bugs.webkit.org/show_bug.cgi?id=230732

Reviewed by Wenson Hsieh.

Continuing the work to move all animations into ScrollingEffectsController, move
the ScrollAnimationMomentum that ScrollSnapAnimatorState uses into ScrollingEffectsController.

ScrollSnapAnimatorState is no longer a ScrollAnimationClient.

ScrollingEffectsController::updateScrollSnapAnimatingState(), which is Mac-only code
(but probably doens't need to be) can now consult the animation directly.

  • platform/ScrollSnapAnimatorState.cpp:

(WebCore::ScrollSnapAnimatorState::setupAnimationForState):
(WebCore::ScrollSnapAnimatorState::teardownAnimationForState):
(WebCore::ScrollSnapAnimatorState::currentAnimatedScrollOffset const): Deleted.
(WebCore::ScrollSnapAnimatorState::scrollExtentsForAnimation): Deleted.

  • platform/ScrollSnapAnimatorState.h:

(WebCore::ScrollSnapAnimatorState::ScrollSnapAnimatorState):

  • platform/ScrollingEffectsController.cpp:

(WebCore::ScrollingEffectsController::startMomentumScrollWithInitialVelocity):
(WebCore::ScrollingEffectsController::setSnapOffsetsInfo):

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

(WebCore::ScrollingEffectsController::updateScrollSnapAnimatingState):

9:50 PM Changeset in webkit [283025] by Alan Coon
  • 5 edits in branches/safari-612-branch/Source

Revert r281910. rdar://problem/83429926

8:02 PM Changeset in webkit [283024] by Wenson Hsieh
  • 6 edits in trunk/Source/WebKit

[WebKit2] Refactor some IPC argument encoder logic to work with StreamConnectionEncoder
https://bugs.webkit.org/show_bug.cgi?id=230714

Reviewed by Simon Fraser.

Make it possible to use IPC::StreamConnectionEncoder to encode display list items (and their members) in an
IPC stream. This patch comprises two main sets of changes in ArgumentCoders, and WebCoreArgumentCoders. See
below for more details.

  • Platform/IPC/ArgumentCoders.cpp:

(IPC::ArgumentCoder<audit_token_t>::decode):
(IPC::ArgumentCoder<Monostate>::encode): Deleted.
(IPC::ArgumentCoder<Monostate>::decode): Deleted.

  • Platform/IPC/ArgumentCoders.h:

(IPC::ArgumentCoder<Monostate>::encode):
(IPC::ArgumentCoder<Monostate>::decode):

Many of these encode() methods are currently non-templated, which means that Encoder and Decoder used here
refer solely to IPC::Encoder and IPC::Decoder (respectively) instead of other types of encoders (namely,
StreamConnectionEncoder).

  • Shared/WebCoreArgumentCoders.cpp:

(IPC::ArgumentCoder<AffineTransform>::encode): Deleted.
(IPC::ArgumentCoder<AffineTransform>::decode): Deleted.
(IPC::ArgumentCoder<TransformationMatrix>::encode): Deleted.
(IPC::ArgumentCoder<TransformationMatrix>::decode): Deleted.
(IPC::ArgumentCoder<FloatPoint>::encode): Deleted.
(IPC::ArgumentCoder<FloatPoint>::decode): Deleted.
(IPC::ArgumentCoder<FloatPoint3D>::encode): Deleted.
(IPC::ArgumentCoder<FloatPoint3D>::decode): Deleted.
(IPC::ArgumentCoder<FloatRect>::encode): Deleted.
(IPC::ArgumentCoder<FloatRect>::decode): Deleted.
(IPC::ArgumentCoder<FloatBoxExtent>::encode): Deleted.
(IPC::ArgumentCoder<FloatBoxExtent>::decode): Deleted.
(IPC::ArgumentCoder<FloatSize>::encode): Deleted.
(IPC::ArgumentCoder<FloatSize>::decode): Deleted.
(IPC::ArgumentCoder<FloatRoundedRect>::encode): Deleted.
(IPC::ArgumentCoder<FloatRoundedRect>::decode): Deleted.
(IPC::ArgumentCoder<IntPoint>::encode): Deleted.
(IPC::ArgumentCoder<IntPoint>::decode): Deleted.
(IPC::ArgumentCoder<IntRect>::encode): Deleted.
(IPC::ArgumentCoder<IntRect>::decode): Deleted.
(IPC::ArgumentCoder<IntSize>::encode): Deleted.
(IPC::ArgumentCoder<IntSize>::decode): Deleted.
(IPC::ArgumentCoder<LayoutSize>::encode): Deleted.
(IPC::ArgumentCoder<LayoutSize>::decode): Deleted.
(IPC::ArgumentCoder<LayoutPoint>::encode): Deleted.
(IPC::ArgumentCoder<LayoutPoint>::decode): Deleted.

These WebCore argument coders are also currently incompatible with StreamConnectionEncoder, since they are non-
templated (and thus only work with IPC::Encoder). Since these are all encodable as POD types, we can just use
SimpleArgumentCoder for all of these. We also add a new DEFINE_SIMPLE_ARGUMENT_CODER macro to make this code a
bit easier to read.

  • Shared/WebCoreArgumentCoders.h:
  • Shared/mac/WebCoreArgumentCodersMac.mm:

(IPC::ArgumentCoder<CGRect>::encode): Deleted.
(IPC::ArgumentCoder<CGRect>::decode): Deleted.
(IPC::ArgumentCoder<CGSize>::encode): Deleted.
(IPC::ArgumentCoder<CGSize>::decode): Deleted.
(IPC::ArgumentCoder<CGPoint>::encode): Deleted.
(IPC::ArgumentCoder<CGPoint>::decode): Deleted.
(IPC::ArgumentCoder<CGAffineTransform>::encode): Deleted.
(IPC::ArgumentCoder<CGAffineTransform>::decode): Deleted.

8:00 PM Changeset in webkit [283023] by Fujii Hironori
  • 6 edits in trunk/LayoutTests

[WinCairo] Unreviewed test gardening

  • platform/wincairo/TestExpectations:
  • platform/wincairo/fast/css/font-face-implicit-local-font-expected.txt:
  • platform/wincairo/fast/css/font-face-opentype-expected.txt:
  • platform/wincairo/fast/text/fixed-pitch-control-characters-expected.txt:
  • platform/wincairo/fast/text/whitespace/pre-wrap-overflow-selection-expected.txt:
7:57 PM Changeset in webkit [283022] by Alan Coon
  • 5 edits in branches/safari-612-branch/Source

Cherry-pick r281910. rdar://problem/83429926

Add more support for JIT operation validation testing.
https://bugs.webkit.org/show_bug.cgi?id=229534
rdar://81526335

Reviewed by Saam Barati.

Source/bmalloc:

  • bmalloc/Gigacage.cpp: (Gigacage::ensureGigacage):
  • bmalloc/GigacageConfig.h:

Source/JavaScriptCore:

  1. Added a JITOperationValidation.h to tidy up the code for supporting JIT operation validation.
  1. Introduce a JITOperationAnnotation struct to record JIT operation function pointers, with an extra pointer field for a validation test function.
  1. Changed JSC_ANNOTATE_JIT_OPERATION to capture a JITOperationAnnotation struct instead of just a single operation pointer.
  1. Converted the static addPointers() function in JITOperationList.cpp into a member function of JITOperationList. This allows for the code to be more terse, as well as enables the use of an inverse map mechanism on debug builds only.
  1. Added more macros to help differentiate between different types of JIT operation functions.
  1. Made all JIT operation functions use extern "C" linkage to make it possible to write validation tests in assembly so that we can run them on a release build as well without taking too much time.
  • CMakeLists.txt:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • assembler/JITOperationList.cpp: (JSC::JITOperationList::addInverseMap): (JSC::JITOperationList::addPointers): (JSC::JITOperationList::populatePointersInJavaScriptCore): (JSC::JITOperationList::populatePointersInJavaScriptCoreForLLInt): (JSC::JITOperationList::populatePointersInEmbedder): (JSC::addPointers): Deleted.
  • assembler/JITOperationList.h: (JSC::JITOperationList::map const): (JSC::JITOperationList::inverseMap const): (JSC::JITOperationList::assertIsJITOperation): (JSC::JITOperationList::assertIsJITOperationWithvalidation):
  • assembler/JITOperationValidation.h: Added.
  • assembler/MacroAssemblerARM64.cpp:
  • assembler/MacroAssemblerARM64.h:
  • assembler/MacroAssemblerARM64E.h:
  • assembler/MacroAssemblerARMv7.cpp:
  • assembler/MacroAssemblerMIPS.cpp:
  • assembler/MacroAssemblerX86Common.cpp:
  • b3/testb3.h:
  • b3/testb3_1.cpp:
  • b3/testb3_5.cpp:
  • b3/testb3_7.cpp:
  • dfg/DFGOSRExit.h:
  • ftl/FTLLowerDFGToB3.cpp:
  • jit/ExecutableAllocator.cpp: (JSC::initializeJITPageReservation):
  • jit/Repatch.cpp: (JSC::retagOperationWithValidation): (JSC::retagCallTargetWithValidation): (JSC::readPutICCallTarget):
  • jit/ThunkGenerators.cpp:
  • jsc.cpp:
  • llint/LLIntData.cpp:
  • llint/LLIntThunks.cpp:
  • runtime/CommonSlowPaths.h:
  • runtime/JSCPtrTag.h: (JSC::tagJSCCodePtrImpl): (JSC::untagJSCCodePtrImpl): (JSC::isTaggedJSCCodePtrImpl):
  • runtime/MathCommon.h:
  • runtime/Options.cpp: (JSC::canUseJITCage):
  • tools/JSDollarVM.cpp:
  • yarr/YarrJIT.cpp:

Source/WebCore:

  • bindings/js/WebCoreJITOperations.cpp:
  • bindings/scripts/CodeGeneratorJS.pm: (GenerateImplementation):
  • bindings/scripts/test/JS/JSTestDOMJIT.cpp: (WebCore::JSTestDOMJITDOMConstructor::prototypeForStructure):
  • cssjit/SelectorCompiler.cpp:
  • testing/js/WebCoreTestSupport.cpp:

Source/WTF:

  • wtf/PlatformCallingConventions.h:
  • wtf/PtrTag.h: (WTF::PtrTagTraits::isTagged): (WTF::isTaggedNativeCodePtrImpl): (WTF::isTaggedWith): (WTF::assertIsTaggedWith):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@281910 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7:57 PM Changeset in webkit [283021] by Alan Coon
  • 5 edits in branches/safari-612-branch

Revert r282084. rdar://problem/83429618

6:02 PM Changeset in webkit [283020] by Alan Coon
  • 1 copy in tags/Safari-612.2.6.1.1

Tag Safari-612.2.6.1.1.

4:54 PM Changeset in webkit [283019] by Simon Fraser
  • 19 edits in trunk/Source/WebCore

Move the ScrollAnimationSmooth from ScrollAnimator into ScrollingEffectsController
https://bugs.webkit.org/show_bug.cgi?id=230720

Reviewed by Tim Horton.

ScrollingEffectsController is where all the ScrollAnimations will live. The first
step is to move ScrollAnimator's m_scrollAnimation there; this is used for
keyboard scrolling, and CSS smooth scrolling.

ScrollingEffectsController becomes a ScrollAnimationClient (and ScrollAnimator stops
being one), so needs a little bit more glue code.

Add type traits for ScrollAnimator subclasses because we need to downcast<> them
here and in future patches.

Move some code from ScrollAnimatorMac into ScrollAnimator since it's not platform
specific.

ScrollAnimatorGeneric is almost entirely gutted, and code pushed into ScrollingEffectsController.
Make a ScrollAnimationKinetic in ScrollingEffectsController for this code path.

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

(WebCore::ScrollingTreeScrollingNodeDelegateMac::immediateScrollOnAxis): Deleted.

  • platform/ScrollAnimation.h:

(WebCore::ScrollAnimation::ScrollAnimation):
(WebCore::ScrollAnimation::type const):

  • platform/ScrollAnimationKinetic.cpp:

(WebCore::ScrollAnimationKinetic::ScrollAnimationKinetic):

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

(WebCore::ScrollAnimationMomentum::ScrollAnimationMomentum):

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

(WebCore::ScrollAnimationSmooth::ScrollAnimationSmooth):

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

(WebCore::ScrollAnimator::ScrollAnimator):
(WebCore::ScrollAnimator::scroll):
(WebCore::ScrollAnimator::scrollToPositionWithoutAnimation):
(WebCore::ScrollAnimator::scrollToPositionWithAnimation):
(WebCore::ScrollAnimator::retargetRunningAnimation):
(WebCore::ScrollAnimator::setScrollBehaviorStatus):
(WebCore::ScrollAnimator::scrollBehaviorStatus const):
(WebCore::ScrollAnimator::adjustScrollPositionToBoundsIfNecessary):
(WebCore::ScrollAnimator::adjustScrollPositionIfNecessary const):
(WebCore::ScrollAnimator::immediateScrollByWithoutContentEdgeConstraints):
(WebCore::ScrollAnimator::immediateScrollBy):
(WebCore::ScrollAnimator::cancelAnimations):
(WebCore::ScrollAnimator::contentsSizeChanged):
(WebCore::ScrollAnimator::immediateScrollOnAxis): Deleted.
(WebCore::ScrollAnimator::contentsSizeChanged const): Deleted.
(WebCore::ScrollAnimator::scrollAnimationDidUpdate): Deleted.
(WebCore::ScrollAnimator::scrollAnimationDidEnd): Deleted.
(WebCore::ScrollAnimator::scrollExtentsForAnimation): Deleted.

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

(WebCore::ScrollingEffectsController::startAnimatedScrollToDestination):
(WebCore::ScrollingEffectsController::regargetAnimatedScroll):
(WebCore::ScrollingEffectsController::stopAnimatedScroll):
(WebCore::ScrollingEffectsController::processWheelEventForKineticScrolling):
(WebCore::ScrollingEffectsController::contentsSizeChanged):
(WebCore::ScrollingEffectsController::activeScrollSnapIndexForAxis const):
(WebCore::ScrollingEffectsController::scrollToOffsetForAnimation):
(WebCore::ScrollingEffectsController::scrollAnimationDidUpdate):
(WebCore::ScrollingEffectsController::scrollAnimationDidEnd):
(WebCore::ScrollingEffectsController::scrollExtentsForAnimation):

  • platform/ScrollingEffectsController.h:

(WebCore::ScrollingEffectsControllerClient::rubberBandingStateChanged):

  • platform/generic/ScrollAnimatorGeneric.cpp:

(WebCore::ScrollAnimatorGeneric::ScrollAnimatorGeneric):
(WebCore::ScrollAnimatorGeneric::handleWheelEvent):
(WebCore::ScrollAnimatorGeneric::scrollToPositionWithoutAnimation): Deleted.
(WebCore::ScrollAnimatorGeneric::scrollAnimationDidUpdate): Deleted.

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

(WebCore::ScrollAnimatorMac::adjustScrollPositionIfNecessary const): Deleted.
(WebCore::ScrollAnimatorMac::adjustScrollPositionToBoundsIfNecessary): Deleted.
(WebCore::ScrollAnimatorMac::immediateScrollByWithoutContentEdgeConstraints): Deleted.
(WebCore::ScrollAnimatorMac::immediateScrollBy): Deleted.

  • platform/mac/ScrollingEffectsController.mm:

(WebCore::ScrollingEffectsController::updateScrollSnapAnimatingState):

4:08 PM Changeset in webkit [283018] by Eric Hutchison
  • 2 edits in trunk/LayoutTests

[Catalina Release wk1] imported/w3c/web-platform-tests/html/browsers/origin/cross-origin-objects/cross-origin-objects.html is a flaky failure.
https://bugs.webkit.org/show_bug.cgi?id=230729.

Unreviewed test gardening.

  • platform/mac-wk1/TestExpectations:
3:53 PM Changeset in webkit [283017] by Russell Epstein
  • 41 edits
    1 add in branches/safari-612-branch/Source

Cherry-pick r281910. rdar://problem/83429926

Add more support for JIT operation validation testing.
https://bugs.webkit.org/show_bug.cgi?id=229534
rdar://81526335

Reviewed by Saam Barati.

Source/bmalloc:

  • bmalloc/Gigacage.cpp: (Gigacage::ensureGigacage):
  • bmalloc/GigacageConfig.h:

Source/JavaScriptCore:

  1. Added a JITOperationValidation.h to tidy up the code for supporting JIT operation validation.
  1. Introduce a JITOperationAnnotation struct to record JIT operation function pointers, with an extra pointer field for a validation test function.
  1. Changed JSC_ANNOTATE_JIT_OPERATION to capture a JITOperationAnnotation struct instead of just a single operation pointer.
  1. Converted the static addPointers() function in JITOperationList.cpp into a member function of JITOperationList. This allows for the code to be more terse, as well as enables the use of an inverse map mechanism on debug builds only.
  1. Added more macros to help differentiate between different types of JIT operation functions.
  1. Made all JIT operation functions use extern "C" linkage to make it possible to write validation tests in assembly so that we can run them on a release build as well without taking too much time.
  • CMakeLists.txt:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • assembler/JITOperationList.cpp: (JSC::JITOperationList::addInverseMap): (JSC::JITOperationList::addPointers): (JSC::JITOperationList::populatePointersInJavaScriptCore): (JSC::JITOperationList::populatePointersInJavaScriptCoreForLLInt): (JSC::JITOperationList::populatePointersInEmbedder): (JSC::addPointers): Deleted.
  • assembler/JITOperationList.h: (JSC::JITOperationList::map const): (JSC::JITOperationList::inverseMap const): (JSC::JITOperationList::assertIsJITOperation): (JSC::JITOperationList::assertIsJITOperationWithvalidation):
  • assembler/JITOperationValidation.h: Added.
  • assembler/MacroAssemblerARM64.cpp:
  • assembler/MacroAssemblerARM64.h:
  • assembler/MacroAssemblerARM64E.h:
  • assembler/MacroAssemblerARMv7.cpp:
  • assembler/MacroAssemblerMIPS.cpp:
  • assembler/MacroAssemblerX86Common.cpp:
  • b3/testb3.h:
  • b3/testb3_1.cpp:
  • b3/testb3_5.cpp:
  • b3/testb3_7.cpp:
  • dfg/DFGOSRExit.h:
  • ftl/FTLLowerDFGToB3.cpp:
  • jit/ExecutableAllocator.cpp: (JSC::initializeJITPageReservation):
  • jit/Repatch.cpp: (JSC::retagOperationWithValidation): (JSC::retagCallTargetWithValidation): (JSC::readPutICCallTarget):
  • jit/ThunkGenerators.cpp:
  • jsc.cpp:
  • llint/LLIntData.cpp:
  • llint/LLIntThunks.cpp:
  • runtime/CommonSlowPaths.h:
  • runtime/JSCPtrTag.h: (JSC::tagJSCCodePtrImpl): (JSC::untagJSCCodePtrImpl): (JSC::isTaggedJSCCodePtrImpl):
  • runtime/MathCommon.h:
  • runtime/Options.cpp: (JSC::canUseJITCage):
  • tools/JSDollarVM.cpp:
  • yarr/YarrJIT.cpp:

Source/WebCore:

  • bindings/js/WebCoreJITOperations.cpp:
  • bindings/scripts/CodeGeneratorJS.pm: (GenerateImplementation):
  • bindings/scripts/test/JS/JSTestDOMJIT.cpp: (WebCore::JSTestDOMJITDOMConstructor::prototypeForStructure):
  • cssjit/SelectorCompiler.cpp:
  • testing/js/WebCoreTestSupport.cpp:

Source/WTF:

  • wtf/PlatformCallingConventions.h:
  • wtf/PtrTag.h: (WTF::PtrTagTraits::isTagged): (WTF::isTaggedNativeCodePtrImpl): (WTF::isTaggedWith): (WTF::assertIsTaggedWith):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@281910 268f45cc-cd09-0410-ab3c-d52691b4dbfc

3:45 PM Changeset in webkit [283016] by Eric Hutchison
  • 2 edits in trunk/LayoutTests

[ Windows ] fast/images/exif-orientation-composited.html is a flaky image-only failure.
https://bugs.webkit.org/show_bug.cgi?id=230727.

Unreviewed test gardening.

  • platform/win/TestExpectations:
3:29 PM Changeset in webkit [283015] by Eric Hutchison
  • 2 edits in trunk/LayoutTests

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

Unreviewed test gardening.

  • platform/win/TestExpectations:
3:08 PM Changeset in webkit [283014] by Kyle Piddington
  • 3 edits in trunk/Source/ThirdParty/ANGLE

[WebGL2, Safari 15 - iOS15] Problems with drawElements in some conditions
https://bugs.webkit.org/show_bug.cgi?id=230107

Index buffer rewrite was dispatching too many threads.
Reviewed by Dean Jackson.

  • src/libANGLE/renderer/metal/ProvokingVertexHelper.mm:

(rx::ProvokingVertexHelper::preconditionIndexBuffer):

3:01 PM Changeset in webkit [283013] by commit-queue@webkit.org
  • 11 edits
    6 adds in trunk

Implement atan, acos, asin, atan2 calc functions
https://bugs.webkit.org/show_bug.cgi?id=229775

Patch by Nikos Mouchtaris <Nikos Mouchtaris> on 2021-09-23
Reviewed by Simon Fraser.

LayoutTests/imported/w3c:

  • web-platform-tests/css/css-values/acos-asin-atan-atan2-computed-expected.txt: Added.
  • web-platform-tests/css/css-values/acos-asin-atan-atan2-computed.html: Added.
  • web-platform-tests/css/css-values/acos-asin-atan-atan2-invalid-expected.txt: Added.
  • web-platform-tests/css/css-values/acos-asin-atan-atan2-invalid.html: Added.
  • web-platform-tests/css/css-values/acos-asin-atan-atan2-serialize-expected.txt: Added.
  • web-platform-tests/css/css-values/acos-asin-atan-atan2-serialize.html: Added.
  • web-platform-tests/css/support/numeric-testcommon.js:

Source/WebCore:

Added support for calc functions asin, acos, atan, atan2. Involved adding function CSS
keywords and handling for parsing these functions and their arguments as well as computing
the result based on the arguments. Spec for these functions:
https://drafts.csswg.org/css-values-4/#trig-funcs.

Tests: imported/w3c/web-platform-tests/css/css-values/acos-asin-atan-atan2-computed.html

imported/w3c/web-platform-tests/css/css-values/acos-asin-atan-atan2-invalid.html
imported/w3c/web-platform-tests/css/css-values/acos-asin-atan-atan2-serialize.html

  • css/CSSValueKeywords.in:
  • css/calc/CSSCalcExpressionNodeParser.cpp:

(WebCore::CSSCalcExpressionNodeParser::parseCalcFunction):

  • css/calc/CSSCalcOperationNode.cpp:

(WebCore::determineCategory):
(WebCore::functionFromOperator):
(WebCore::CSSCalcOperationNode::createInverseTrig):
(WebCore::CSSCalcOperationNode::createAtan2):
(WebCore::CSSCalcOperationNode::combineChildren):
(WebCore::CSSCalcOperationNode::simplifyNode):
(WebCore::CSSCalcOperationNode::primitiveType const):
(WebCore::CSSCalcOperationNode::doubleValue const):
(WebCore::functionPrefixForOperator):
(WebCore::CSSCalcOperationNode::evaluateOperator):

  • css/calc/CSSCalcOperationNode.h:
  • css/calc/CSSCalcValue.cpp:

(WebCore::createCSS):
(WebCore::CSSCalcValue::isCalcFunction):

  • platform/calc/CalcExpressionOperation.cpp:

(WebCore::CalcExpressionOperation::evaluate const):
Return converted to degrees based on spec: https://drafts.csswg.org/css-values-4/#trig-funcs.

  • platform/calc/CalcOperator.cpp:

(WebCore::operator<<):

  • platform/calc/CalcOperator.h:
2:57 PM Changeset in webkit [283012] by pvollan@apple.com
  • 2 edits in trunk/Source/WebKit

Remove access to unused services in the Networking access
https://bugs.webkit.org/show_bug.cgi?id=230715
<rdar://problem/83462947>

Reviewed by Brent Fulgham.

Telemetry is showing that some services allowed in the Networking process' sandbox are unused. These should be removed.

  • NetworkProcess/cocoa/NetworkSessionCocoa.mm:

(-[WKNetworkSessionDelegate URLSession:task:didReceiveChallenge:completionHandler:]):

  • NetworkProcess/mac/com.apple.WebKit.NetworkProcess.sb.in:
2:54 PM Changeset in webkit [283011] by pvollan@apple.com
  • 2 edits in trunk/Source/WebKit

Remove access to unused services in the GPU process
https://bugs.webkit.org/show_bug.cgi?id=230716
<rdar://problem/83464232>

Reviewed by Brent Fulgham.

Telemetry is showing that some services allowed in the GPU process' sandbox are unused. These should be removed.

  • GPUProcess/mac/com.apple.WebKit.GPUProcess.sb.in:
2:51 PM Changeset in webkit [283010] by Eric Hutchison
  • 2 edits in trunk/LayoutTests

[Catalina BigSur wk1 Debug ] resize-observer/delete-observers-in-callbacks.html is a flaky crash.
https://bugs.webkit.org/show_bug.cgi?id=230717.

Unreviewed test gardening.

  • platform/mac-wk1/TestExpectations:
2:50 PM Changeset in webkit [283009] by commit-queue@webkit.org
  • 4 edits in trunk/Source/JavaScriptCore

Various tweaks in preparation for Temporal.Instant
https://bugs.webkit.org/show_bug.cgi?id=230331

Patch by Philip Chimento <pchimento@igalia.com> on 2021-09-23
Reviewed by Yusuke Suzuki.

  • runtime/TemporalDuration.cpp:

(JSC::TemporalDuration::fromDurationLike): Use

temporalUnitPropertyName().

(JSC::TemporalDuration::toISO8601Duration): Improve error message to

include the invalid string.

(JSC::TemporalDuration::with const): Use temporalUnitPropertyName().
(JSC::TemporalDuration::toString): Use formatSecondsStringFraction().

  • runtime/TemporalObject.cpp:

(JSC::ellipsizeAt): Add helper to ellipsize string at certain length.
(JSC::temporalUnitPropertyName): Move code from TemporalDuration into

a function which will be reused in other Temporal types.

(JSC::temporalFractionalSecondDigits): Handle NaN as per

specification, and improve error message to include the invalid
value.

(JSC::formatSecondsStringFraction): Move code from TemporalDuration

into a function which will be reused in other Temporal types.

  • runtime/TemporalObject.h:
2:35 PM Changeset in webkit [283008] by Ayumi Kojima
  • 2 edits in trunk/LayoutTests

[ macOS wk1 Debug ] editing/selection/navigation-clears-editor-state.html is a flaky crash.
https://bugs.webkit.org/show_bug.cgi?id=230719

Unreviewed test gardening.

  • platform/mac-wk1/TestExpectations:
2:35 PM Changeset in webkit [283007] by Fujii Hironori
  • 2 edits in trunk

[MSVC] The "/Zc:lambda" switch is recommended to use the new lambda processor.
https://bugs.webkit.org/show_bug.cgi?id=226070

Reviewed by Ross Kirsling.

Visual Studio 16.5 added the "/Zc:lambda" switch for the better
C++ conformance, but it had a compiler crashing bug. Visual Studio
16.9 fixed the bug.

  • Source/cmake/OptionsMSVC.cmake: Added /Zc:lambda for Visual

Studio 16.9 or later. I will remove the MSVC_VERSION check after
AppleWin bots will upgrade MSVC.

1:43 PM Changeset in webkit [283006] by Russell Epstein
  • 8 edits in branches/safari-612.2.6.1-branch/Source

Versioning.

WebKit-7612.2.6.1.1

1:42 PM Changeset in webkit [283005] by Russell Epstein
  • 2 edits in branches/safari-612-branch/Source/WebCore

Cherry-pick r282046. rdar://problem/83463331

[iOS] Play/pause button's icon does not update when pausing in full screen
https://bugs.webkit.org/show_bug.cgi?id=229904

Reviewed by Eric Carlson.

AVKit expects KVO notification of rate to update the play/pause icon.
However, with the changes in r280840, -[WebAVPlayerController setRate]
will be called by AVKit only. When a user taps the play/pause button,
-[WebAVPlayerController setRate:fromJavaScript:] will be called, which
does not generate the KVO notification.

This patch fixes the issue by manually generate the KVO notification.

To be safe, this patch manually generates the KVO notification for
property defaultPlaybackRate as well.

Tested manually.

  • platform/ios/WebAVPlayerController.mm: (-[WebAVPlayerController setDefaultPlaybackRate:fromJavaScript:]): (-[WebAVPlayerController setRate:fromJavaScript:]):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@282046 268f45cc-cd09-0410-ab3c-d52691b4dbfc

1:30 PM Changeset in webkit [283004] by Russell Epstein
  • 1 copy in branches/safari-612.2.6.1-branch

New branch.

1:29 PM Changeset in webkit [283003] by Russell Epstein
  • 1 copy in branches/safari-612.2.6.0-branch

New branch.

1:14 PM Changeset in webkit [283002] by Russell Epstein
  • 5 edits
    2 adds in branches/safari-612-branch

Cherry-pick r282451. rdar://problem/83460818

[iOS] Search inputs with '-webkit-appearance: textfield' should have a textfield background color
https://bugs.webkit.org/show_bug.cgi?id=229883
rdar://82146288

Reviewed by Tim Horton.

Source/WebCore:

In iOS 15, search inputs have a gray background color by default.
Some sites, such as booking.com, request that the input appear like
a textfield, by specifying '-webkit-appearance: textfield', over the
default 'searchfield'. This request was previously ignored, but there
was no observable difference since search inputs and text inputs had
the same default styling before iOS 15.

Now that the default styling is different, the appearance should be
honored, so that sites get the background color they expect.

Test: fast/forms/ios/form-control-refresh/search/textfield-appearance-background.html

  • rendering/RenderThemeIOS.h:
  • rendering/RenderThemeIOS.mm: (WebCore::RenderThemeIOS::adjustTextFieldStyle const):

Exclude any elements that have a textfield appearance by default from
the background color adjustment, so that their background color can be
customized.

LayoutTests:

  • fast/forms/ios/form-control-refresh/search/textfield-appearance-background-expected.txt: Added.
  • fast/forms/ios/form-control-refresh/search/textfield-appearance-background.html: Added.
  • platform/ios/fast/css/input-search-padding-expected.txt: Rebaseline.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@282451 268f45cc-cd09-0410-ab3c-d52691b4dbfc

1:14 PM Changeset in webkit [283001] by Russell Epstein
  • 2 edits in branches/safari-612-branch/Source/WebKit

Cherry-pick r282175. rdar://problem/83460931

[macOS] -[WKFullScreenWindowController exitFullScreenImmediately] does not exit fullscreen immediately
https://bugs.webkit.org/show_bug.cgi?id=230024

Reviewed by Jer Noble.

A WebContent process may ask the WKFullScreenWindowController in
the UI process to exit fullscreen immediately without walking through
the normal exit fullscreen sequence, and the WebContent process won't
expect any IPC message related to fullscreen to come back from the
UI process. If the UI process sends an IPC message to the WebContent
process and expects the response from the WebContent process (e.g., in
WebPageProxy::forceRepaint()), the UI process will be stuck.

That will happen when a tab navigates to the previous page while a video
element in the current page is playing in fullscreen. The reason is that
-[WKFullScreenWindowController exitFullScreen] is called before
-[WKFullScreenWindowController exitFullScreenImmediately].
-[WKFullScreenWindowController exitFullScreen] changes _fullScreenState
to WaitingToExitFullScreen, so -[WKFullScreenWindowController exitFullScreenImmediately]
will return early. This patch fixes this issue by changing the early return condition.

In addition, -[WKFullScreenWindowController exitFullScreenImmediately]
does not really exit fullscreen immediately. Instead, it calls
-[WKFullScreenWindowController finishedExitFullScreenAnimation:],
which always calls WebPageProxy::forceRepaint() and expects a response
from the WebContet process. This patch fixes this issue as well.

Tested manually.

  • UIProcess/mac/WKFullScreenWindowController.mm: (-[WKFullScreenWindowController exitFullScreenImmediately]): Update the early return condition to make sure the UI process will proceed to exit fullscreen unless the current state is NotInFullScreen. (-[WKFullScreenWindowController beganExitFullScreenWithInitialFrame:finalFrame:]): (-[WKFullScreenWindowController finishedExitFullScreenAnimation:]): The completed parameter was not used. This patch renames it to immediately to indicate whether WKFullScreenWindowController wants to exit fullscreen immediately. (-[WKFullScreenWindowController close]): Clean up this function after revising -[WKFullScreenWindowController exitFullScreenImmediately]. (-[WKFullScreenWindowController windowDidFailToExitFullScreen:]): Update the argument according to the change of -[WKFullScreenWindowController finishedExitFullScreenAnimation:]. (-[WKFullScreenWindowController windowDidExitFullScreen:]): Ditto.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@282175 268f45cc-cd09-0410-ab3c-d52691b4dbfc

1:14 PM Changeset in webkit [283000] by Russell Epstein
  • 3 edits
    2 adds in branches/safari-612-branch

Cherry-pick r282063. rdar://problem/83460750

REGRESSION (r280017): Calling getBoundingClientRect() on an empty element with "break-before: column" in columns returns a rect with all zeros
https://bugs.webkit.org/show_bug.cgi?id=229747

Reviewed by Alan Bujtas.
Source/WebCore:

A zero-height element with break-before: column ends up with an offset which is exactly
equal to the column height, and therefore logically can be positioned at the bottom of one
column, or the top of the next. For elements with non-zero height, we have logic to avoid
putting the bottom of the box into the next column. Fix this logic for zero-height elements
to avoid the end column being less than the start column. This avoids an early return in
RenderMultiColumnSet::fragmentRectsForFlowContentRect() which resulted in a zero client rect.

Test: fast/multicol/newmulticol/client-rects-column-breakers.html

  • rendering/RenderMultiColumnSet.cpp: (WebCore::RenderMultiColumnSet::firstAndLastColumnsFromOffsets const):

LayoutTests:

  • fast/multicol/newmulticol/client-rects-column-breakers-expected.txt: Added.
  • fast/multicol/newmulticol/client-rects-column-breakers.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@282063 268f45cc-cd09-0410-ab3c-d52691b4dbfc

1:14 PM Changeset in webkit [282999] by Russell Epstein
  • 2 edits in branches/safari-612-branch/Source/WebCore

Cherry-pick r281996. rdar://problem/83460851

[iOS] Media playback continues after backgrounding Safari
https://bugs.webkit.org/show_bug.cgi?id=229827

Reviewed by Eric Carlson.

In r277766, we make a video element ignore the background playback restriction
(HTMLMediaElement::shouldOverrideBackgroundPlaybackRestriction() returns true)
if the video element can *potentially* enter picture-in-picture automatically
(either the video element is currently in the video fullscreen mode
or m_videoFullscreenStandby is true).

Unfortunately, this is not the correct fix if the OS has disabled the
"Start PiP Automatically" feature. The problem is that a video continues
playing after Safari is in the background.

Only when the video element is in the picture-in-picture mode, the video element
can ignore the background playback restriction.

The UI process will receive "didStartPictureInPicture" notification (if any)
and "applicationDidEnterBackground" notification in order. The UI process will
send IPC messages to the WebContent process regarding the notifications.

1) For the "didStartPictureInPicture" notification, the WebContent process will
modify the corresponding video element's presentation mode to picture-in-picture.
2) For the "applicationDidEnterBackground" notification, the WebContent process
will call PlatformMediaSession::beginInterruption() to suspend media playback
if needed.

It is guaranteed that 1) happens before 2). Therefore, when
PlatformMediaSession::beginInterruption() calls HTMLMediaElement::shouldOverrideBackgroundPlaybackRestriction(),
if the video element enters picture-in-picture ("Start PiP Automatically" is enabled),
m_videoFullscreenMode must be VideoFullscreenModePictureInPicture.
Therefore, HTMLMediaElement::shouldOverrideBackgroundPlaybackRestriction()
should return true when m_videoFullscreenMode == VideoFullscreenModePictureInPicture.

Tested manually.

  • html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::shouldOverrideBackgroundPlaybackRestriction const):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@281996 268f45cc-cd09-0410-ab3c-d52691b4dbfc

1:14 PM Changeset in webkit [282998] by Russell Epstein
  • 5 edits in branches/safari-612-branch/Source

Cherry-pick r281984. rdar://problem/83460908

RemoteVideoSample needs CVPixelBufferRef to be kept alive, but relies on caller to retain it
<https://webkit.org/b/229806>
<rdar://problem/82684479>

Reviewed by Darin Adler.

Source/WebCore:

Covered by tests:

webrtc/video-mute.html
webrtc/video-unmute.html

  • platform/graphics/RemoteVideoSample.cpp: (WebCore::RemoteVideoSample::create):
  • Pass CVPixelBufferRef to RemoteVideoSample constructor. (WebCore::RemoteVideoSample::RemoteVideoSample):
  • Change constructor to accept CVPixelBufferRef argument.
  • platform/graphics/RemoteVideoSample.h: (WebCore::RemoteVideoSample::RemoteVideoSample):
  • Change constructor to accept CVPixelBufferRef argument.
  • Add m_imageBuffer instance variable to hold on to the CVPixelBufferRef.

Source/WebKit:

  • WebProcess/GPU/webrtc/LibWebRTCCodecs.cpp: (WebKit::LibWebRTCCodecs::encodeFrame):
  • Pass converted CVPixelBufferRef to RemoteVideoSample::create(). A similar change in an earlier patch for Bug 229661 caused test failures.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@281984 268f45cc-cd09-0410-ab3c-d52691b4dbfc

1:14 PM Changeset in webkit [282997] by Russell Epstein
  • 2 edits in branches/safari-612-branch/Source/WebCore

Cherry-pick r281950. rdar://problem/83460946

Leak of VTImageRotationSessionRef (176 bytes) in com.apple.WebKit.GPU.Development process
<https://webkit.org/b/229781>
<rdar://problem/82651897>

Reviewed by Darin Adler.

  • platform/graphics/cv/ImageRotationSessionVT.mm: (WebCore::ImageRotationSessionVT::initialize):
  • Add missing adoptCF() to fix the leak.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@281950 268f45cc-cd09-0410-ab3c-d52691b4dbfc

1:14 PM Changeset in webkit [282996] by Russell Epstein
  • 9 edits
    2 adds in branches/safari-612-branch

Cherry-pick r281650. rdar://problem/83460707

Drawing small caps web fonts into canvas causes the GPU process to hang
https://bugs.webkit.org/show_bug.cgi?id=229401
<rdar://problem/82282054>

Reviewed by Wenson Hsieh.

Source/WebCore:

Web fonts retain their downloaded data in case they need to send that data to the GPU process
to render into canvas. Small caps fonts are implemented by creating a "derivative" variant font.
When we were creating these derivative fonts, we weren't forwarding this downloaded data to
those new fonts. Without it, the font fails to transfer across IPC.

Test: fast/text/small-caps-canvas.html

  • platform/graphics/FontPlatformData.cpp: (WebCore::makeOptionalFromPointer): (WebCore::FontPlatformData::FontPlatformData):
  • platform/graphics/FontPlatformData.h:
  • platform/graphics/HEVCUtilities.cpp: (WebCore::makeOptionalFromPointer):
  • platform/graphics/coretext/FontCoreText.cpp: (WebCore::createDerivativeFont): (WebCore::Font::createFontWithoutSynthesizableFeatures const): (WebCore::Font::platformCreateScaledFont const):
  • platform/graphics/coretext/FontPlatformDataCoreText.cpp: (WebCore::FontPlatformData::FontPlatformData):
  • platform/graphics/win/FontPlatformDataCairoWin.cpp: (WebCore::FontPlatformData::FontPlatformData):
  • platform/graphics/win/FontPlatformDataWin.cpp: (WebCore::FontPlatformData::FontPlatformData):

LayoutTests:

  • fast/text/small-caps-canvas-expected.txt: Added.
  • fast/text/small-caps-canvas.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@281650 268f45cc-cd09-0410-ab3c-d52691b4dbfc

1:14 PM Changeset in webkit [282995] by Russell Epstein
  • 10 edits in branches/safari-612-branch/Source

Cherry-pick r281597. rdar://problem/83460725

[GPUP] RemoteAudioSession doesn't implement begin/endInterruption
https://bugs.webkit.org/show_bug.cgi?id=229514
rdar://80896732

Reviewed by Jer Noble.

Source/WebCore:

Move the code necessary to deal with interruptions from AudioSessionIOS to the
base class so it can be shared with RemoteAudioSession.

Tested manually.

  • platform/audio/AudioSession.cpp: (WebCore::AudioSession::addInterruptionObserver): Move implementation from AudioSessionIOS so it can be shared. (WebCore::AudioSession::removeInterruptionObserver): Ditto. (WebCore::AudioSession::beginInterruption): Ditto. (WebCore::AudioSession::endInterruption): Ditto. (WebCore::AudioSession::setCategoryOverride): Ditto. (WebCore::AudioSession::categoryOverride const): Ditto.
  • platform/audio/AudioSession.h:
  • platform/audio/ios/AudioSessionIOS.h:
  • platform/audio/ios/AudioSessionIOS.mm: (WebCore::AudioSessionIOS::setCategoryOverride): Deleted. (WebCore::AudioSessionIOS::categoryOverride const): Deleted. (WebCore::AudioSessionIOS::addInterruptionObserver): Deleted. (WebCore::AudioSessionIOS::removeInterruptionObserver): Deleted. (WebCore::AudioSessionIOS::beginInterruption): Deleted. (WebCore::AudioSessionIOS::endInterruption): Deleted.
  • platform/audio/mac/AudioSessionMac.h:
  • platform/audio/mac/AudioSessionMac.mm: (WebCore::AudioSessionMac::setCategoryOverride): Deleted.

Source/WebKit:

  • WebProcess/GPU/media/RemoteAudioSession.cpp: (WebKit::RemoteAudioSession::setIsPlayingToBluetoothOverride): Remove ENABLE_ROUTING_ARBITRATION guard because it isn't used in the base class.
  • WebProcess/GPU/media/RemoteAudioSession.h: Change the order virtual methods are declared so they match the base class, to make it easier to spot differences.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@281597 268f45cc-cd09-0410-ab3c-d52691b4dbfc

1:13 PM Changeset in webkit [282994] by Russell Epstein
  • 9 edits
    2 adds in branches/safari-612-branch

Cherry-pick r281579. rdar://problem/83461036

[iOS] Crash when tapping <select> element and calling window.open()
https://bugs.webkit.org/show_bug.cgi?id=229468
rdar://82122972

Reviewed by Wenson Hsieh.

Source/WebKit:

UIKit throws an exception when attempting to present a context menu
for a view that is not in a window.

One instance where this can occur in Safari is when a call to
window.open() is made in response to a touch on a select element.
In this scenario, the call to window.open() opens a new tab, unparenting
the current webview. However, the touch also focuses the element, and
WebKit attempts to present a context menu in an unparented view.

To fix, guard against the case where the view is not parented, and do
not attempt to present a context menu.

Test: fast/forms/ios/show-select-menu-in-unparented-view-crash.html

  • UIProcess/ios/WKActionSheetAssistant.mm:

Note that the helper method used in other classes is not used in
WKActionSheetAssistant, since the hosting view is not always a
WKContentView.

(-[WKActionSheetAssistant showDataDetectorsUIForPositionInformation:]):
(-[WKActionSheetAssistant showMediaControlsContextMenu:items:completionHandler:]):

  • UIProcess/ios/WKContentViewInteraction.h:
  • UIProcess/ios/WKContentViewInteraction.mm: (-[WKContentView presentContextMenu:atLocation:]):

Added a helper method to ensure the view is parented prior to presenting
a context menu.

(-[WKContentView imageAnalysisGestureDidTimeOut:]):

  • UIProcess/ios/WebDataListSuggestionsDropdownIOS.mm: (-[WKDataListSuggestionsDropdown _showSuggestions]):
  • UIProcess/ios/forms/WKDateTimeInputControl.mm: (-[WKDateTimePicker showDateTimePicker]):
  • UIProcess/ios/forms/WKFileUploadPanel.mm: (-[WKFileUploadPanel showDocumentPickerMenu]):
  • UIProcess/ios/forms/WKFormSelectPicker.mm: (-[WKSelectPicker showSelectPicker]):

LayoutTests:

Added a test to verify a crash does not occur when tapping a <select>
element and unparenting the webview.

  • fast/forms/ios/show-select-menu-in-unparented-view-crash-expected.txt: Added.
  • fast/forms/ios/show-select-menu-in-unparented-view-crash.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@281579 268f45cc-cd09-0410-ab3c-d52691b4dbfc

1:13 PM Changeset in webkit [282993] by Russell Epstein
  • 2 edits
    2 adds in branches/safari-612-branch

Cherry-pick r281543. rdar://problem/83460773

[Cocoa] Should video stop being live, time scrubber will not show
https://bugs.webkit.org/show_bug.cgi?id=229286
rdar://82114447

Reviewed by Eric Carlson.

Work around an issue with AVKit AVTouchBarPlaybackControlsProvider SPI which will
not properly make the time scrubber to be displayed when only the content duration
change.
We do so by toggling the canSeek property to force a relayout of the touch bar
content.

While we can reproduce the issue programatically, at this stage we can only
visually confirm that it's been fixed as we have no infrastructure to check
the content of the touch bar and that the issue itself is in AVKit.
Test: ManualTests/video-livechange-touchbar.html

  • platform/mac/WebPlaybackControlsManager.mm: (-[WebPlaybackControlsManager canSeek]): Add code as property is otherwise read-only. (-[WebPlaybackControlsManager setCanSeek:]): Add code as property is otherwise read-only. (-[WebPlaybackControlsManager setContentDuration:]): (-[WebPlaybackControlsManager setSeekableTimeRanges:]): Explictly set canSeek propery to ensure property watchers will be called.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@281543 268f45cc-cd09-0410-ab3c-d52691b4dbfc

1:13 PM Changeset in webkit [282992] by Russell Epstein
  • 2 edits in branches/safari-612-branch/Source/WebCore

Cherry-pick r281533. rdar://problem/83460974

MediaSession artwork URL is showing in logs.
https://bugs.webkit.org/show_bug.cgi?id=229320
rdar://82156288

Reviewed by Eric Carlson.

Only enable artwork logging in debug builds.

  • platform/audio/cocoa/MediaSessionManagerCocoa.mm: (WebCore::MediaSessionManagerCocoa::updateNowPlayingInfo):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@281533 268f45cc-cd09-0410-ab3c-d52691b4dbfc

1:13 PM Changeset in webkit [282991] by Russell Epstein
  • 2 edits in branches/safari-612-branch/Source/WebKit

Cherry-pick r281352. rdar://problem/83461013

[macCatalyst] Crash when clicking a phone number link
https://bugs.webkit.org/show_bug.cgi?id=229344
rdar://81804638

Reviewed by Tim Horton.

Clicking on a phone number link should present data detection UI.
However, -[WKActionSheetAssistant _elementActionForDDAction:] always
returns nil on Catalyst, resulting in crash when attempting to add the
returned action to an NSArray.

Given that the methods used in _elementActionForDDAction: are available
on Catalyst, fix the crash by ensuring the method does not return nil, and
only making the method available on platforms where ENABLE(DATA_DETECTION)
is defined.

  • UIProcess/ios/WKActionSheetAssistant.mm: (-[WKActionSheetAssistant _elementActionForDDAction:]):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@281352 268f45cc-cd09-0410-ab3c-d52691b4dbfc

1:13 PM Changeset in webkit [282990] by Russell Epstein
  • 2 edits in branches/safari-612-branch/Source/WebCore

Cherry-pick r281334. rdar://problem/83460795

Followup to <trac.webkit.org/r281288>
https://bugs.webkit.org/show_bug.cgi?id=229269
rdar://81349236

Reviewed by Jer Noble.

Make two minor adjustments after the changes in r281288:

  1. Rename keyPathsForValuesAffectingValueCanBeginTouchBarScrubbing to just

keyPathsForValuesAffectingCanBeginTouchBarScrubbing, since the Objective-C property name is
-canBeginTouchBarScrubbing rather than -valueCanBeginTouchBarScrubbing.

  1. After fixing (1), the implementation of this method is no longer dead code, so we'll to make sure that the

NSSet we create and return contains valid Objective-C objects (i.e. NSString instead of const char*) --
in particular, this affects "contentDuration".

  • platform/mac/WebPlaybackControlsManager.mm: (+[WebPlaybackControlsManager keyPathsForValuesAffectingCanBeginTouchBarScrubbing]): (+[WebPlaybackControlsManager keyPathsForValuesAffectingValueCanBeginTouchBarScrubbing]): Deleted.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@281334 268f45cc-cd09-0410-ab3c-d52691b4dbfc

1:13 PM Changeset in webkit [282989] by Russell Epstein
  • 2 edits in branches/safari-612-branch/Source/WebCore

Cherry-pick r281288. rdar://problem/83460795

Touchbar not showing time scrubbing
https://bugs.webkit.org/show_bug.cgi?id=229269
rdar://81349236

Reviewed by Jer Noble.

AVKit uses canSeek to determine when to show the time scrubber
in the touch bar. This was a synthesized method determined on weither the video
is seekable and has a seekable range set.
Should the value of either boolean change which would impact the final value of
[AVTouchBarPlaybackControlsControlling canSeek] , no observers would be called.
Add the appropriate obj-c methods to explicitly set a dependency between properties
willChange/didChange.
Been unable to reproduce the problem programatically, the issue is highly timing
dependent.
An API test will be added with https://bugs.webkit.org/show_bug.cgi?id=229286.

  • platform/mac/WebPlaybackControlsManager.mm: (+[WebPlaybackControlsManager keyPathsForValuesAffectingCanSeek]): (+[WebPlaybackControlsManager keyPathsForValuesAffectingContentDuration]): (-[WebPlaybackControlsManager setSeekableTimeRanges:]): (+[WebPlaybackControlsManager keyPathsForValuesAffectingValueCanBeginTouchBarScrubbing]):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@281288 268f45cc-cd09-0410-ab3c-d52691b4dbfc

1:05 PM Changeset in webkit [282988] by timothy_horton@apple.com
  • 9 edits in trunk/Source

Move more linked-on-or-after checks to WebCore::linkedOnOrAfter()
https://bugs.webkit.org/show_bug.cgi?id=230694

Reviewed by Wenson Hsieh.

Source/WebCore:

  • platform/cocoa/VersionChecks.h:

Add more versions, move DYLD_IOS_VERSION_FIRST_WITH_IOS_APPS_ON_MACOS
inline, and sort some that are out of order.

Source/WebKit:

  • UIProcess/API/Cocoa/WKWebView.mm:

(shouldRequireUserGestureToLoadVideo):
(-[WKWebView _initializeWithConfiguration:]):

Source/WebKitLegacy/mac:

  • Misc/WebDownload.mm:

(shouldCallOnNetworkThread):

  • WebView/WebPreferencesDefaultValues.mm:

(WebKit::defaultRequiresUserGestureToLoadVideo):
(WebKit::defaultWebSQLEnabled):
(WebKit::defaultShouldConvertInvalidURLsToBlank):

Source/WTF:

  • wtf/spi/darwin/dyldSPI.h:
12:45 PM Changeset in webkit [282987] by mmaxfield@apple.com
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector support for font-palette
https://bugs.webkit.org/show_bug.cgi?id=230453

Reviewed by Devin Rousso.

Provide keyword completions.

  • UserInterface/Models/CSSKeywordCompletions.js:
12:26 PM Changeset in webkit [282986] by Russell Epstein
  • 16 edits
    2 adds in branches/safari-612-branch

Cherry-pick r282881. rdar://problem/83430003

Disable FTP.
<rdar://81193860> and https://bugs.webkit.org/show_bug.cgi?id=230477

Reviewed by Geoff Garen.

Source/WebKit:

Covered by new API tests.

  • NetworkProcess/NetworkLoad.cpp: (WebKit::NetworkLoad::start): (WebKit::NetworkLoad::willPerformHTTPRedirection):
  • NetworkProcess/NetworkProcess.cpp: (WebKit::NetworkProcess::initializeNetworkProcess):
  • NetworkProcess/NetworkProcess.h: (WebKit::NetworkProcess::ftpEnabled const):
  • NetworkProcess/NetworkProcessCreationParameters.cpp: (WebKit::NetworkProcessCreationParameters::encode const): (WebKit::NetworkProcessCreationParameters::decode):
  • NetworkProcess/NetworkProcessCreationParameters.h:
  • UIProcess/Cocoa/WebProcessPoolCocoa.mm: (WebKit::WebProcessPool::platformInitializeNetworkProcess):

Source/WTF:

  • Scripts/Preferences/WebPreferencesExperimental.yaml:
  • wtf/URL.cpp: (WTF::URL::protocolIsInFTPFamily const): (WTF::protocolIsInFTPFamily):
  • wtf/URL.h:

Tools:

  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/Tests/WebKitCocoa/BundlePageConsoleMessage.mm: Added. (willAddMessageToConsoleCallback): (-[BundlePageConsoleMessage webProcessPlugIn:didCreateBrowserContextController:]):
  • TestWebKitAPI/Tests/WebKitCocoa/FTP.mm: Added. (TestWebKitAPI::didReceivePageMessageFromInjectedBundle): (TestWebKitAPI::setInjectedBundleClient): (TestWebKitAPI::TEST):
  • TestWebKitAPI/PlatformUtilities.h:
  • TestWebKitAPI/cocoa/PlatformUtilitiesCocoa.mm: (TestWebKitAPI::Util::toNS):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@282881 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12:26 PM Changeset in webkit [282985] by Russell Epstein
  • 26 edits in branches/safari-612-branch/Source

Cherry-pick r282865. rdar://problem/83429816

Use SharedMemory for transferring appended buffers from SourceBuffer to the GPU process
https://bugs.webkit.org/show_bug.cgi?id=230329
rdar://problem/83291495

Source/WebCore:

Use SharedBuffer instead of Vector to pass data to the SourceBuffer's related
classes (SourceBuffer, SourceBufferPrivate and SourceBufferParser).
Modify SourceBufferParserWebM to never perform memory allocation and copy
of the original data content. Instead, we use CMBlockBuffer objects that retain the
backing SharedBuffer and use offsets inside this SharedBuffer to reference the data.
SourceBufferParserAVFObjC requires little modification as a NSData can wrap a SharedBuffer.

Reviewed by Jer Noble.

There should be no change from an observable standpoint other than the GPU memory usage
being drastically reduced (from 700MB when watching a 4K/60fps YouTube video to just over 200MB
on an iMac Pro (which only has software VP9 decoding), 25MB vs 360MB on an iPad)
Existing tests are fully exercising this new code.

  • Modules/mediasource/SourceBuffer.cpp: Simplify logic around m_pendingAppendData member. Only one appendBuffer operation can be pending at any given time otherwise appendBuffer will throw an exception; as such, there's no need to append the data to a vector: "there can be only one". (WebCore::SourceBuffer::abortIfUpdating): (WebCore::SourceBuffer::appendBufferInternal): (WebCore::SourceBuffer::appendBufferTimerFired): (WebCore::SourceBuffer::reportExtraMemoryAllocated):
  • Modules/mediasource/SourceBuffer.h:
  • platform/SharedBuffer.cpp: (WebCore::SharedBuffer::SharedBuffer): (WebCore::SharedBuffer::create): (WebCore::SharedBuffer::copyTo const): (WebCore::SharedBuffer::DataSegment::data const): (WebCore::SharedBuffer::DataSegment::size const):
  • platform/SharedBuffer.h: Add new DataSegment type that takes a Provider in constructor. A Provider provides two Function members data and size.
  • platform/audio/cocoa/AudioFileReaderCocoa.cpp: The AudioFileReaderCocoa required the CMBlockBuffer containing the compressed content to be contiguous. This is no longer guaranteed so ensure that the CMBlockBuffer is contiguous. (WebCore::AudioFileReader::demuxWebMData const): (WebCore::AudioFileReader::decodeWebMData const):
  • platform/graphics/SourceBufferPrivate.h: (WebCore::SourceBufferPrivate::append):
  • platform/graphics/avfoundation/objc/SourceBufferParserAVFObjC.mm: (WebCore::SourceBufferParserAVFObjC::appendData):
  • platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.h:
  • platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm: (WebCore::SourceBufferPrivateAVFObjC::append):
  • platform/graphics/cocoa/SourceBufferParser.cpp: (WebCore::SourceBufferParser::Segment::Segment): (WebCore::SourceBufferParser::Segment::size const): (WebCore::SourceBufferParser::Segment::read const): (WebCore::SourceBufferParser::Segment::takeSharedBuffer): (WebCore::SourceBufferParser::Segment::getSharedBuffer const):
  • platform/graphics/cocoa/SourceBufferParser.h:
  • platform/graphics/cocoa/SourceBufferParserWebM.cpp: (WebCore::SourceBufferParserWebM::SourceBufferParserWebM): (WebCore::SourceBufferParserWebM::TrackData::contiguousCompleteBlockBuffer const): (WebCore::SourceBufferParserWebM::TrackData::readFrameData): (WebCore::SourceBufferParserWebM::VideoTrackData::consumeFrameData): (WebCore::SourceBufferParserWebM::VideoTrackData::createSampleBuffer): (WebCore::SourceBufferParserWebM::AudioTrackData::resetCompleted): (WebCore::SourceBufferParserWebM::AudioTrackData::consumeFrameData): (WebCore::SourceBufferParserWebM::AudioTrackData::createSampleBuffer): (WebCore::SourceBufferParserWebM::flushPendingAudioBuffers):
  • platform/graphics/cocoa/SourceBufferParserWebM.h: (WebCore::SourceBufferParserWebM::TrackData::resetCompleted): (WebCore::SourceBufferParserWebM::TrackData::reset):

Source/WebCore/PAL:

Reviewed by Jer Noble.

  • pal/cf/CoreMediaSoftLink.cpp:
  • pal/cf/CoreMediaSoftLink.h: Add required CoreMedia methods.

Source/WebKit:

Use SharedMemory to pass SourceBuffer content to RemoteSourceBufferProxy in GPU process.
This is done by wrapping a SharedMemory into a SharedBuffer.

Reviewed by Jer Noble.

  • GPUProcess/media/RemoteSourceBufferProxy.cpp: (WebKit::RemoteSourceBufferProxy::append):
  • GPUProcess/media/RemoteSourceBufferProxy.h:
  • GPUProcess/media/RemoteSourceBufferProxy.messages.in:
  • Platform/SharedMemory.cpp: (WebKit::SharedMemory::createSharedBuffer const):
  • Platform/SharedMemory.h:
  • WebProcess/GPU/media/SourceBufferPrivateRemote.cpp: (WebKit::SourceBufferPrivateRemote::append):
  • WebProcess/GPU/media/SourceBufferPrivateRemote.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@282865 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12:19 PM Changeset in webkit [282984] by Devin Rousso
  • 21 edits
    8 copies
    1 add in trunk

Web Inspector: Graphics: add instrumentation for new CanvasRenderingContext2DSettings
https://bugs.webkit.org/show_bug.cgi?id=225180
<rdar://problem/77587429>

Reviewed by BJ Burg.

Source/JavaScriptCore:

  • inspector/protocol/Canvas.json:

Add colorSpace and desynchronized to Canvas.ContextAttributes.

Source/WebCore:

  • inspector/InspectorCanvas.cpp:

(WebCore::buildObjectForCanvasContextAttributes): Added.
(WebCore::InspectorCanvas::buildObjectForCanvas):
(WebCore::InspectorCanvas::buildInitialState):
Unify the two cases where we fetch canvas attributes into a single method so that both get
the same data. This means that the canvas recorder now also uses Canvas.ContextAttributes.

LayoutTests:

  • inspector/canvas/context-attributes-expected.txt:
  • inspector/canvas/recording-2d-frameCount-expected.txt:
  • inspector/canvas/recording-2d-full-expected.txt:
  • inspector/canvas/recording-2d-memoryLimit-expected.txt:
  • inspector/canvas/recording-bitmaprenderer-frameCount-expected.txt:
  • inspector/canvas/recording-bitmaprenderer-full-expected.txt:
  • inspector/canvas/recording-bitmaprenderer-memoryLimit-expected.txt:
  • inspector/canvas/recording-html-2d-expected.txt:
  • inspector/canvas/recording-webgl-frameCount-expected.txt:
  • inspector/canvas/recording-webgl-full-expected.txt:
  • inspector/canvas/recording-webgl-memoryLimit-expected.txt:
  • inspector/canvas/recording-webgl-snapshots-expected.txt:
  • inspector/canvas/recording-webgl2-frameCount-expected.txt:
  • inspector/canvas/recording-webgl2-full-expected.txt:
  • inspector/canvas/recording-webgl2-memoryLimit-expected.txt:
  • inspector/canvas/recording-webgl2-snapshots-expected.txt:
12:15 PM Changeset in webkit [282983] by Eric Hutchison
  • 2 edits in trunk/LayoutTests

[ BigSur Debug ]http/tests/inspector/network/resource-initiatorNode.html is a flaky crash/failure.
https://bugs.webkit.org/show_bug.cgi?id=230711.

Unreviewed test gardening.

  • platform/mac/TestExpectations:
12:15 PM Changeset in webkit [282982] by Russell Epstein
  • 9 edits
    1 move in branches/safari-612-branch/Source

Cherry-pick r282831. rdar://problem/83429823

NetworkRTCUDPSocketCocoaConnections should handle NAT64 IP addresses correctly
https://bugs.webkit.org/show_bug.cgi?id=230552
<rdar://83297256>

Reviewed by Alex Christensen.

Source/ThirdParty/libwebrtc:

  • Configurations/libwebrtc.iOS.exp:
  • Configurations/libwebrtc.iOSsim.exp:
  • Configurations/libwebrtc.mac.exp:

Source/WebKit:

When opening a UDP socket, check whether it is a NAT64 IPv4 address.
In that case, we cannot bind it like we used to do with the sockets API.
Instead use "0.0.0.0".
Manually tested.

  • NetworkProcess/webrtc/NetworkRTCTCPSocketCocoa.mm:
  • NetworkProcess/webrtc/NetworkRTCUDPSocketCocoa.mm: (WebKit::isNat64IPAddress): (WebKit::computeHostAddress): (WebKit::NetworkRTCUDPSocketCocoaConnections::NetworkRTCUDPSocketCocoaConnections):
  • NetworkProcess/webrtc/NetworkRTCUtilitiesCocoa.h:
  • Platform/spi/Cocoa/NWSPI.h: Renamed from Source/WebKit/Platform/spi/Cocoa/NWParametersSPI.h.
  • WebKit.xcodeproj/project.pbxproj:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@282831 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12:15 PM Changeset in webkit [282981] by Russell Epstein
  • 5 edits in branches/safari-612-branch

Cherry-pick r282084. rdar://problem/83429618

[wpt-improvement] Improve CSP support for window reuse
https://bugs.webkit.org/show_bug.cgi?id=229882
<rdar://78416553>

Reviewed by Chris Dumez.

LayoutTests/imported/w3c:

Rebaseline a test that now passes.

  • web-platform-tests/content-security-policy/sandbox/window-reuse-sandboxed-expected.txt:

Source/WebCore:

If window.open is used to host content with a CSP sandbox header, we should always
create a new window, rather than reusing the existing one, unless the header
includes 'allow-same-site'.

This improves our WPT score.

Tested by: imported/w3c/web-platform-tests/content-security-policy/sandbox/window-reuse-sandboxed.html

  • loader/DocumentLoader.cpp: (WebCore::DocumentLoader::responseReceived): Parse the HTTP headers earlier so we can make decisions based on their state.
  • loader/DocumentWriter.cpp: (WebCore::DocumentWriter::begin): Don't reuse the current window if 'allow-same-site' is not allowed.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@282084 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12:15 PM Changeset in webkit [282980] by Russell Epstein
  • 7 edits in branches/safari-612-branch/Source/JavaScriptCore

Cherry-pick r282009. rdar://problem/83430109

[JSC] Fix WebKitAdditions directory traversal in offlineasm part 2
https://bugs.webkit.org/show_bug.cgi?id=229853

Reviewed by Mark Lam.

When DEPLOYMENT_LOCATION is YES, WEBKITADDITIONS_HEADERS_FOLDER_PATH is /usr/local/include/WebKitAdditions.
However, since Xcode implicitly changes it to ${SDKROOT}/usr/local/include/WebKitAdditions, we need to
pass the path with ${SDKROOT} if this path is used by non-Xcode.

In this patch, we replace --use-deployment-location with --webkit-additions-path=path and passing WebKitAdditions
path directly from Xcode. We define WK_WEBKITADDITIONS_INSTALL_PATH and WK_WEBKITADDITIONS_HEADERS_FOLDER_PATH in
JavaScriptCore/Configurations/Base.xcconfig to populate this variable and pass WK_WEBKITADDITIONS_HEADERS_FOLDER_PATH
to the scripts.

We also fix offlineasm's path concatenation. It was using +, but this does not work if directory doesn't end with '/'.
We should use File.join when concatenating file paths.

  • Configurations/Base.xcconfig:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • offlineasm/asm.rb:
  • offlineasm/generate_offset_extractor.rb:
  • offlineasm/generate_settings_extractor.rb:
  • offlineasm/parser.rb:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@282009 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12:14 PM Changeset in webkit [282979] by Russell Epstein
  • 5 edits in branches/safari-612-branch/Source/WebKit

Cherry-pick r282003. rdar://problem/82734050

Buffer large media XHRs in the NetworkProcess to reduce IPC overhead
https://bugs.webkit.org/show_bug.cgi?id=229813
<rdar://82406803>

Reviewed by Alex Christensen.

When playing back media through MSE, a significant amount of CPU time is spent sending
small chunks of loaded media across the XPC boundary, on the order of 16kb at a time out
of a 1-3MB resource. This large number of small XPC messages, each with a fixed cost, causes
a relatively large CPU overhead. Media loaded directly through a HTMLMediaElement already
is coalesced in the NetworkProcess on a 50ms timer.

Buffer all loads of large media resources, performed over fetch() or XHR, when those resources
have an expected length of more than 1MB, by coalescing them on the same 50ms timer as we use
for HTMLMediaElement-generated loads.

  • NetworkProcess/NetworkResourceLoadParameters.h:
  • NetworkProcess/NetworkResourceLoader.cpp: (WebKit::NetworkResourceLoader::didReceiveResponse):
  • NetworkProcess/NetworkResourceLoader.h:
  • WebProcess/Network/WebLoaderStrategy.cpp: (WebKit::maximumBufferingTime):
  • WebProcess/Network/WebLoaderStrategy.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@282003 268f45cc-cd09-0410-ab3c-d52691b4dbfc

11:58 AM Changeset in webkit [282978] by Ayumi Kojima
  • 3 edits in trunk/LayoutTests

[ iOS macOS Debug ] media/video-ended-seek-crash.html is a flaky timeout.
https://bugs.webkit.org/show_bug.cgi?id=230708

Unreviewed test gardening.

  • platform/ios-wk2/TestExpectations:
  • platform/mac/TestExpectations:
11:38 AM Changeset in webkit [282977] by Eric Hutchison
  • 3 edits in trunk/LayoutTests

LayoutTest memory/memory-pressure-simulation.html is a flaky failure.
https://bugs.webkit.org/show_bug.cgi?id=170629.

Unreviewed test gardening.

  • platform/mac-wk2/TestExpectations:
  • platform/mac/TestExpectations:
11:35 AM Changeset in webkit [282976] by Russell Epstein
  • 14 edits in branches/safari-612-branch/Source/bmalloc

Cherry-pick r282899. rdar://problem/83457612

[libpas] fix DebugHeap
https://bugs.webkit.org/show_bug.cgi?id=230658

Reviewed by Yusuke Suzuki.

The previous DebugHeap integration with libpas assumed we didn't have a jit_heap. Now that
we have a jit_heap, we need to be able to do DebugHeap from the bmalloc_heap while we still
use jit_heap.

This was tricky, since previously, libpas could just follow bmalloc and say that if TLC is
not initialized, then we go slow, and the slow path checks for DebugHeap. Now, we might have
a TLC. This means having to push down the debug heap checks into other slow paths.

  • bmalloc/DebugHeap.cpp: (pas_debug_heap_is_enabled): (pas_debug_heap_malloc): (pas_debug_heap_memalign): (pas_debug_heap_realloc): (pas_debug_heap_free):
  • libpas/src/libpas/bmalloc_heap_config.c: (bmalloc_heap_config_activate):
  • libpas/src/libpas/jit_heap.c: (jit_heap_add_fresh_memory): (jit_heap_try_allocate):
  • libpas/src/libpas/jit_heap_config.c:
  • libpas/src/libpas/pas_deallocate.c: (pas_try_deallocate_slow_no_cache):
  • libpas/src/libpas/pas_deallocate.h: (pas_try_deallocate_not_small):
  • libpas/src/libpas/pas_debug_heap.h: (pas_debug_heap_is_enabled): (pas_debug_heap_allocate):
  • libpas/src/libpas/pas_local_allocator_inlines.h: (pas_local_allocator_try_allocate_small_segregated_slow_impl): (pas_local_allocator_try_allocate_slow_impl): (pas_local_allocator_try_allocate):
  • libpas/src/libpas/pas_thread_local_cache.c: (allocate_cache): (pas_thread_local_cache_get_local_allocator_if_can_set_cache_slow):
  • libpas/src/libpas/pas_try_allocate.h: (pas_try_allocate_impl):
  • libpas/src/libpas/pas_try_allocate_common.h: (pas_try_allocate_common_impl_slow):
  • libpas/src/libpas/pas_try_allocate_intrinsic_primitive.h: (pas_try_allocate_intrinsic_primitive_impl_medium_slow_case): (pas_try_allocate_intrinsic_primitive_impl_inline_only):
  • libpas/src/libpas/pas_try_reallocate.h: (pas_try_reallocate):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@282899 268f45cc-cd09-0410-ab3c-d52691b4dbfc

11:29 AM Changeset in webkit [282975] by graouts@webkit.org
  • 9 edits
    4 adds in trunk/Source/WebCore

[Media Controls] Allow for a brightness control
https://bugs.webkit.org/show_bug.cgi?id=230697
<rdar://problem/79956277>

Reviewed by Dean Jackson.

Add a new brightness button to control a new MediaControlsHost "brightness" property
which is currently only a stub.

  • DerivedSources-input.xcfilelist:
  • DerivedSources.make:
  • Modules/mediacontrols/MediaControlsHost.h:
  • Modules/mediacontrols/MediaControlsHost.idl:
  • Modules/modern-media-controls/controls/brightness-button.js: Added.

(BrightnessButton):

  • Modules/modern-media-controls/controls/icon-service.js:
  • Modules/modern-media-controls/controls/media-controls.js:
  • Modules/modern-media-controls/images/iOS/Brightness.svg: Added.
  • Modules/modern-media-controls/images/macOS/Brightness.svg: Added.
  • Modules/modern-media-controls/js-files:
  • Modules/modern-media-controls/media/brightness-support.js: Added.

(BrightnessSupport.prototype.get control):
(BrightnessSupport.prototype.controlValueWillStartChanging):
(BrightnessSupport.prototype.controlValueDidChange):
(BrightnessSupport.prototype.controlValueDidStopChanging):
(BrightnessSupport):

  • Modules/modern-media-controls/media/media-controller.js:

(MediaController.prototype._supportingObjectClasses):

11:22 AM Changeset in webkit [282974] by Eric Hutchison
  • 2 edits in trunk/LayoutTests

[ Catalina Debug wk1 ] performance-api/performance-observer-callback-after-gc.html is a flaky crash.
https://bugs.webkit.org/show_bug.cgi?id=230701.

Unreviewed test gardening.

  • platform/mac-wk1/TestExpectations:
11:14 AM September 2021 Meeting edited by Jon Davis
Updated presentation order (diff)
11:13 AM Changeset in webkit [282973] by Simon Fraser
  • 16 edits in trunk/Source/WebCore

Unify more media-related WebCore source files
https://bugs.webkit.org/show_bug.cgi?id=230666

Reviewed by Tim Horton.

Source/WebCore:

Unified build fixes (some hacky). There's lots of soft linking cleanup and
code de-duplication that would allow for more unification.

  • SourcesCocoa.txt:
  • WebCore.xcodeproj/project.pbxproj:
  • platform/graphics/avfoundation/objc/CDMInstanceFairPlayStreamingAVFObjC.mm:

(WebCore::CDMInstanceSessionFairPlayStreamingAVFObjC::loadSession):
(WebCore::CDMInstanceSessionFairPlayStreamingAVFObjC::removeSessionData):

  • platform/graphics/avfoundation/objc/CDMSessionAVContentKeySession.h:
  • platform/graphics/avfoundation/objc/CDMSessionAVContentKeySession.mm:

(WebCore::CDMSessionAVContentKeySession::releaseKeys):

  • platform/graphics/avfoundation/objc/CDMSessionAVStreamSession.h:
  • platform/graphics/avfoundation/objc/CDMSessionAVStreamSession.mm:

(WebCore::CDMSessionAVStreamSession::releaseKeys):
(WebCore::isEqual2):
(WebCore::CDMSessionAVStreamSession::update):
(WebCore::isEqual): Deleted.

  • platform/graphics/avfoundation/objc/CDMSessionMediaSourceAVFObjC.h:
  • platform/graphics/avfoundation/objc/MediaPlaybackTargetPickerMac.mm:
  • platform/graphics/mac/ComplexTextControllerCoreText.mm:
  • platform/network/mac/UTIUtilities.mm:
  • platform/text/TextEncodingDetector.h:

Source/WebCore/PAL:

AVOutputContextOutputDevicesDidChangeNotification is declared as an NSNotificationName.

  • pal/cocoa/AVFoundationSoftLink.h:
  • pal/cocoa/AVFoundationSoftLink.mm:
11:08 AM Changeset in webkit [282972] by Ayumi Kojima
  • 3 edits in trunk/LayoutTests

[ iOS macOS wk2 ] webrtc/datachannel/mdns-ice-candidates.html is a flaky failure.
https://bugs.webkit.org/show_bug.cgi?id=230700

Unreviewed test gardening.

  • platform/ios-wk2/TestExpectations:
  • platform/mac-wk2/TestExpectations:
10:44 AM Changeset in webkit [282971] by graouts@webkit.org
  • 7 edits
    4 adds in trunk/Source/WebCore

[Media Controls] Allow for a single mute and volume button
https://bugs.webkit.org/show_bug.cgi?id=230692
<rdar://problem/79956248>

Reviewed by Dean Jackson.

Up to now, the mute button in the controls bar would act as a toggle for the "muted" property on the media element.
Hovering that button would make a slider appear that would allow the "volume" property of the media element to be
changed as well.

We now allow for a single button with a built-in range indicator to be used for mute and volume. Clicking on the
button without moving will toggle the mute status, while moving the mouse up or down will adjust the volume
and show a pill-link range indicator showing the current volume.

This new control is a Button subclass called RangeButton. The new VolumeButton class extends it to provide the
correct icon depending on the volume and muted state. The new MuteAndVolumeSupport class is used in conjunction
with VolumeButton.

To indicate that media controls want to use this new style, MediaControls subclasses can override the
usesSingleMuteAndVolumeButton getter to return true. Currently it's false everywhere until we decide
to use this style.

  • DerivedSources-input.xcfilelist:
  • DerivedSources.make:
  • Modules/modern-media-controls/controls/media-controls.js:

(MediaControls.prototype.get usesSingleMuteAndVolumeButton):

  • Modules/modern-media-controls/controls/range-button.css: Added.

(button.range > div.indicator):
(button.range > div.indicator > div.fill):

  • Modules/modern-media-controls/controls/range-button.js: Added.

(RangeButton.prototype.get value):
(RangeButton.prototype.set value):
(RangeButton.prototype.commitProperty):
(RangeButton.prototype.handleEvent):
(RangeButton.prototype._handlePointerdown):
(RangeButton.prototype._handlePointermove):
(RangeButton.prototype._handlePointerup):

  • Modules/modern-media-controls/controls/volume-button.js: Added.

(VolumeButton):
(VolumeButton.prototype.get volume):
(VolumeButton.prototype.set volume):
(VolumeButton.prototype.get muted):
(VolumeButton.prototype.set muted):
(VolumeButton.prototype.set usesLTRUserInterfaceLayoutDirection):
(VolumeButton.prototype.layout):

  • Modules/modern-media-controls/js-files:
  • Modules/modern-media-controls/media/media-controller.js:

(MediaController.prototype._supportingObjectClasses):

  • Modules/modern-media-controls/media/mute-and-volume-support.js: Added.

(MuteAndVolumeSupport.prototype.get control):
(MuteAndVolumeSupport.prototype.get mediaEvents):
(MuteAndVolumeSupport.prototype.controlValueWillStartChanging):
(MuteAndVolumeSupport.prototype.controlValueDidChange):
(MuteAndVolumeSupport.prototype.controlValueDidStopChanging):
(MuteAndVolumeSupport.prototype.buttonWasPressed):
(MuteAndVolumeSupport.prototype.syncControl):
(MuteAndVolumeSupport):

  • WebCore.xcodeproj/project.pbxproj:
10:41 AM Changeset in webkit [282970] by Eric Hutchison
  • 2 edits in trunk/LayoutTests

[iOS] multiple CSS tests with image-only failures.
https://bugs.webkit.org/show_bug.cgi?id=230695.

Unreviewed test gardening.

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

[ macOS wk2 ] imported/w3c/web-platform-tests/webrtc/RTCDataChannel-close.html is a flaky failure.
https://bugs.webkit.org/show_bug.cgi?id=230696

Unreviewed test gardening.

  • platform/mac-wk2/TestExpectations:
10:24 AM Changeset in webkit [282968] by Ross Kirsling
  • 5 edits in trunk

[JSC] Handle syntactic production for #x in expr correctly
https://bugs.webkit.org/show_bug.cgi?id=230668

Reviewed by Yusuke Suzuki.

JSTests:

  • stress/private-in.js: Add tests.
  • test262/expectations.yaml: Mark two test cases as passing.

Source/JavaScriptCore:

The production for #x in expr is easy to get wrong.

RelationalExpression[In, Yield, Await] :

ShiftExpression?Await
RelationalExpression?Yield, ?Await < ShiftExpression?Await
RelationalExpression?Yield, ?Await > ShiftExpression?Await
RelationalExpression?Yield, ?Await <= ShiftExpression?Await
RelationalExpression?Yield, ?Await >= ShiftExpression?Await
RelationalExpression?Yield, ?Await instanceof ShiftExpression?Await
[+In] RelationalExpression[+In, ?Yield, ?Await] in ShiftExpression?Await
[+In] PrivateIdentifier in ShiftExpression?Await

We were ensuring that a standalone private name #x is always followed by operator in;
this patch further ensures that that particular in can't have its LHS misparsed as a RelationalExpression.

  • parser/Parser.cpp:

(JSC::Parser<LexerType>::parseBinaryExpression):
Verify the precedence of the topmost operator on the stack (if any) when parsing standalone #x.

10:23 AM Changeset in webkit [282967] by Ayumi Kojima
  • 2 edits in trunk/LayoutTests

[ macOS wk1 Debug ] http/wpt/fetch/navigation-post-to-get-origin.html is a flaky crash.
https://bugs.webkit.org/show_bug.cgi?id=230693

Unreviewed test gardening.

  • platform/mac-wk1/TestExpectations:
10:14 AM Changeset in webkit [282966] by timothy_horton@apple.com
  • 6 edits in trunk/Source

shouldAllowPictureInPictureMediaPlayback should use WebCore's linkedOnOrAfter()
https://bugs.webkit.org/show_bug.cgi?id=230674

Reviewed by Simon Fraser.

Source/WebCore:

  • platform/cocoa/VersionChecks.h:

Remove the unused FirstWithNetworkCache version, and add one for PIP.

Source/WebKit:

  • UIProcess/API/Cocoa/WKWebView.mm:

(shouldAllowPictureInPictureMediaPlayback):
Adopt the WebCore API (which supports overrides for Safari and for testing).

Source/WebKitLegacy/mac:

  • WebView/WebPreferencesDefaultValues.mm:

(WebKit::defaultAllowsPictureInPictureMediaPlayback):
Adopt the WebCore API (which supports overrides for Safari and for testing).

10:12 AM Changeset in webkit [282965] by Brent Fulgham
  • 7 edits in trunk/Source

Remove XSS Auditor: Part 3 (Deprecate API)
https://bugs.webkit.org/show_bug.cgi?id=230661
<rdar://problem/83428911>

Reviewed by Mark Lam.

Source/WebKit:

As a final step, deprecate the API now that the feature is removed. Once all clients have
removed use of the API we can remove from the framework.

  • UIProcess/API/C/WKPreferences.cpp:

(WKPreferencesSetXSSAuditorEnabled):
(WKPreferencesGetXSSAuditorEnabled):

  • UIProcess/API/C/WKPreferencesRef.h:

Source/WebKitLegacy/mac:

  • WebView/WebPreferenceKeysPrivate.h:
  • WebView/WebPreferences.mm:

(-[WebPreferences isXSSAuditorEnabled]):
(-[WebPreferences setXSSAuditorEnabled:]):

  • WebView/WebPreferencesPrivate.h:
9:42 AM Changeset in webkit [282964] by ntim@apple.com
  • 6 edits in trunk/Source/WebCore

AX: Stop exposing isInert & ignoredFromModalPresence in AXCoreObject & AXIsolatedObject
https://bugs.webkit.org/show_bug.cgi?id=230690

Reviewed by Chris Fleizach.

  • accessibility/AccessibilityObject.cpp:

(WebCore::AccessibilityObject::defaultObjectInclusion const):
(WebCore::AccessibilityObject::isInert const): Deleted.

  • accessibility/AccessibilityObject.h:
  • accessibility/AccessibilityObjectInterface.h:
  • accessibility/isolatedtree/AXIsolatedObject.cpp:

(WebCore::AXIsolatedObject::ignoredFromModalPresence const): Deleted.
(WebCore::AXIsolatedObject::isInert const): Deleted.

  • accessibility/isolatedtree/AXIsolatedObject.h:
9:02 AM Changeset in webkit [282963] by pvollan@apple.com
  • 3 edits in trunk/Source/WebKit

Fix incorrect mach service name in sandboxes
https://bugs.webkit.org/show_bug.cgi?id=230640
<rdar://55258216>

Reviewed by Brent Fulgham.

Authentication related rules are using incorrect service names in sandboxes.

  • NetworkProcess/mac/com.apple.WebKit.NetworkProcess.sb.in:
  • WebAuthnProcess/mac/com.apple.WebKit.WebAuthnProcess.sb.in:
8:49 AM Changeset in webkit [282962] by Ayumi Kojima
  • 2 edits in trunk/LayoutTests

[ BigSur wk2 Release ] imported/w3c/web-platform-tests/html/cross-origin-opener-policy/iframe-popup-unsafe-none-to-unsafe-none.https.html is a flaky failure.
https://bugs.webkit.org/show_bug.cgi?id=230691

Unreviewed test gardening.

  • platform/mac-wk2/TestExpectations:
8:40 AM Changeset in webkit [282961] by Alan Bujtas
  • 30 edits
    1 move in trunk/Source/WebCore

[LFC][IFC] Move Layout::Run under InlineDisplay and rename it to Box
https://bugs.webkit.org/show_bug.cgi?id=230643

Reviewed by Antti Koivisto.

These fragments of inline content should be considered runs only up to the point where we finished breaking the line. Soon after they gain horizontal (and later vertical) geometries, we
should call them boxes.

  • WebCore.xcodeproj/project.pbxproj:
  • display/DisplayTreeBuilder.cpp:

(WebCore::Display::TreeBuilder::buildInlineDisplayTree):

  • display/css/DisplayBoxFactory.cpp:

(WebCore::Display::BoxFactory::displayBoxForTextRun const):

  • display/css/DisplayBoxFactory.h:
  • display/css/DisplayTextBox.cpp:

(WebCore::Display::TextBox::TextBox):
(WebCore::Display::m_text):

  • display/css/DisplayTextBox.h:

(WebCore::Display::TextBox::expansion const):
(WebCore::Display::TextBox::text const):

  • layout/Verification.cpp:

(WebCore::Layout::checkForMatchingNonTextRuns):
(WebCore::Layout::checkForMatchingTextRuns):
(WebCore::Layout::outputMismatchingComplexLineInformationIfNeeded):

  • layout/formattingContexts/inline/InlineDisplayContentBuilder.cpp:

(WebCore::Layout::InlineDisplayContentBuilder::build):
(WebCore::Layout::InlineDisplayContentBuilder::createBoxesAndUpdateGeometryForLineContent):
(WebCore::Layout::InlineDisplayContentBuilder::createBoxesAndUpdateGeometryForLineSpanningInlineBoxes):
(WebCore::Layout::InlineDisplayContentBuilder::collectInkOverflowForInlineBoxes):
(WebCore::Layout::InlineDisplayContentBuilder::createRunsAndUpdateGeometryForLineContent): Deleted.
(WebCore::Layout::InlineDisplayContentBuilder::createRunsAndUpdateGeometryForLineSpanningInlineBoxes): Deleted.
(WebCore::Layout::InlineDisplayContentBuilder::collectInkOverflowForInlineBoxRuns): Deleted.

  • layout/formattingContexts/inline/InlineDisplayContentBuilder.h:
  • layout/formattingContexts/inline/InlineFormattingContext.cpp:

(WebCore::Layout::InlineFormattingContext::layoutInFlowContent):
(WebCore::Layout::InlineFormattingContext::lineLayout):
(WebCore::Layout::InlineFormattingContext::computeStaticPositionForOutOfFlowContent):
(WebCore::Layout::InlineFormattingContext::computeGeometryForLineContent):
(WebCore::Layout::InlineFormattingContext::invalidateFormattingState):

  • layout/formattingContexts/inline/InlineFormattingState.h:

(WebCore::Layout::InlineFormattingState::lineBoxes const):
(WebCore::Layout::InlineFormattingState::addLineBox):
(WebCore::Layout::InlineFormattingState::boxes const):
(WebCore::Layout::InlineFormattingState::boxes):
(WebCore::Layout::InlineFormattingState::addBoxes):
(WebCore::Layout::InlineFormattingState::clearLineAndBoxes):
(WebCore::Layout::InlineFormattingState::shrinkToFit):
(WebCore::Layout::InlineFormattingState::runs const): Deleted.
(WebCore::Layout::InlineFormattingState::runs): Deleted.
(WebCore::Layout::InlineFormattingState::addRuns): Deleted.
(WebCore::Layout::InlineFormattingState::clearLineAndRuns): Deleted.

  • layout/formattingContexts/inline/InlineLine.h:

(WebCore::Layout::Line::Run::expansion const):
(WebCore::Layout::Line::Run::setExpansion):

  • layout/formattingContexts/inline/display/InlineLineRun.h:

(WebCore::InlineDisplay::Box::logicalRect const):
(WebCore::InlineDisplay::Box::inkOverflow const):
(WebCore::InlineDisplay::Box::logicalTop const):
(WebCore::InlineDisplay::Box::logicalBottom const):
(WebCore::InlineDisplay::Box::logicalLeft const):
(WebCore::InlineDisplay::Box::logicalRight const):
(WebCore::InlineDisplay::Box::logicalWidth const):
(WebCore::InlineDisplay::Box::logicalHeight const):
(WebCore::InlineDisplay::Box::moveVertically):
(WebCore::InlineDisplay::Box::adjustInkOverflow):
(WebCore::InlineDisplay::Box::layoutBox const):
(WebCore::InlineDisplay::Box::Box):
(WebCore::InlineDisplay::Box::Text::Text):
(WebCore::Layout::Run::Text::start const): Deleted.
(WebCore::Layout::Run::Text::end const): Deleted.
(WebCore::Layout::Run::Text::length const): Deleted.
(WebCore::Layout::Run::Text::originalContent const): Deleted.
(WebCore::Layout::Run::Text::renderedContent const): Deleted.
(WebCore::Layout::Run::Text::hasHyphen const): Deleted.
(WebCore::Layout::Run::isText const): Deleted.
(WebCore::Layout::Run::isSoftLineBreak const): Deleted.
(WebCore::Layout::Run::isLineBreakBox const): Deleted.
(WebCore::Layout::Run::isLineBreak const): Deleted.
(WebCore::Layout::Run::isAtomicInlineLevelBox const): Deleted.
(WebCore::Layout::Run::isInlineBox const): Deleted.
(WebCore::Layout::Run::isNonRootInlineBox const): Deleted.
(WebCore::Layout::Run::isRootInlineBox const): Deleted.
(WebCore::Layout::Run::isGenericInlineLevelBox const): Deleted.
(WebCore::Layout::Run::isInlineLevelBox const): Deleted.
(WebCore::Layout::Run::isNonRootInlineLevelBox const): Deleted.
(WebCore::Layout::Run::type const): Deleted.
(WebCore::Layout::Run::hasContent const): Deleted.
(WebCore::Layout::Run::logicalRect const): Deleted.
(WebCore::Layout::Run::inkOverflow const): Deleted.
(WebCore::Layout::Run::logicalTop const): Deleted.
(WebCore::Layout::Run::logicalBottom const): Deleted.
(WebCore::Layout::Run::logicalLeft const): Deleted.
(WebCore::Layout::Run::logicalRight const): Deleted.
(WebCore::Layout::Run::logicalWidth const): Deleted.
(WebCore::Layout::Run::logicalHeight const): Deleted.
(WebCore::Layout::Run::moveVertically): Deleted.
(WebCore::Layout::Run::adjustInkOverflow): Deleted.
(WebCore::Layout::Run::text): Deleted.
(WebCore::Layout::Run::text const): Deleted.
(WebCore::Layout::Run::expansion const): Deleted.
(WebCore::Layout::Run::layoutBox const): Deleted.
(WebCore::Layout::Run::style const): Deleted.
(WebCore::Layout::Run::lineIndex const): Deleted.
(WebCore::Layout::Run::Run): Deleted.
(WebCore::Layout::Run::Text::Text): Deleted.

  • layout/formattingContexts/table/TableFormattingContext.cpp:

(WebCore::Layout::TableFormattingContext::setUsedGeometryForCells):

  • layout/integration/LayoutIntegrationInlineContent.cpp:

(WebCore::LayoutIntegration::InlineContent::hasContent const):
(WebCore::LayoutIntegration:: const):
(WebCore::LayoutIntegration::InlineContent::~InlineContent):
(WebCore::LayoutIntegration::InlineContent::indexForBox const):
(WebCore::LayoutIntegration::InlineContent::firstBoxForLayoutBox const):
(WebCore::LayoutIntegration::InlineContent::firstBoxIndexForLayoutBox const):
(WebCore::LayoutIntegration::InlineContent::nonRootInlineBoxIndexesForLayoutBox const):
(WebCore::LayoutIntegration::InlineContent::releaseCaches):
(WebCore::LayoutIntegration::InlineContent::shrinkToFit):
(WebCore::LayoutIntegration::InlineContent::indexForRun const): Deleted.
(WebCore::LayoutIntegration::InlineContent::firstRunForLayoutBox const): Deleted.
(WebCore::LayoutIntegration::InlineContent::firstRunIndexForLayoutBox const): Deleted.

  • layout/integration/LayoutIntegrationInlineContent.h:

(WebCore::LayoutIntegration::InlineContent::lineForBox const):
(WebCore::LayoutIntegration::InlineContent::traverseNonRootInlineBoxes):
(WebCore::LayoutIntegration::InlineContent::lineForRun const): Deleted.

  • layout/integration/LayoutIntegrationInlineContentBuilder.cpp:

(WebCore::LayoutIntegration::InlineContentBuilder::build const):
(WebCore::LayoutIntegration::InlineContentBuilder::createDisplayLines const):

  • layout/integration/LayoutIntegrationLine.h:

(WebCore::LayoutIntegration::Line::Line):
(WebCore::LayoutIntegration::Line::firstBoxIndex const):
(WebCore::LayoutIntegration::Line::boxCount const):
(WebCore::LayoutIntegration::Line::firstRunIndex const): Deleted.
(WebCore::LayoutIntegration::Line::runCount const): Deleted.

  • layout/integration/LayoutIntegrationLineIteratorModernPath.h:

(WebCore::LayoutIntegration::LineIteratorModernPath::firstRun const):
(WebCore::LayoutIntegration::LineIteratorModernPath::lastRun const):

  • layout/integration/LayoutIntegrationLineLayout.cpp:

(WebCore::LayoutIntegration::LineLayout::layout):
(WebCore::LayoutIntegration::LineLayout::textRunsFor const):
(WebCore::LayoutIntegration::LineLayout::runFor const):
(WebCore::LayoutIntegration::LineLayout::firstInlineBoxRect const):
(WebCore::LayoutIntegration::LineLayout::paint):
(WebCore::LayoutIntegration::LineLayout::hitTest):
(WebCore::LayoutIntegration::LineLayout::paintTextBoxUsingPhysicalCoordinates):
(WebCore::LayoutIntegration::LineLayout::paintTextRunUsingPhysicalCoordinates): Deleted.

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

(WebCore::LayoutIntegration::makeAdjustedContent):

  • layout/integration/LayoutIntegrationRunIterator.cpp:

(WebCore::LayoutIntegration::PathRun::line const):
(WebCore::LayoutIntegration::textRunFor):

  • layout/integration/LayoutIntegrationRunIterator.h:

(WebCore::LayoutIntegration::PathRun::inlineBox const):

  • layout/integration/LayoutIntegrationRunIteratorModernPath.h:

(WebCore::LayoutIntegration::RunIteratorModernPath::RunIteratorModernPath):
(WebCore::LayoutIntegration::RunIteratorModernPath::isText const):
(WebCore::LayoutIntegration::RunIteratorModernPath::rect const):
(WebCore::LayoutIntegration::RunIteratorModernPath::isLineBreak const):
(WebCore::LayoutIntegration::RunIteratorModernPath::hasHyphen const):
(WebCore::LayoutIntegration::RunIteratorModernPath::text const):
(WebCore::LayoutIntegration::RunIteratorModernPath::start const):
(WebCore::LayoutIntegration::RunIteratorModernPath::end const):
(WebCore::LayoutIntegration::RunIteratorModernPath::length const):
(WebCore::LayoutIntegration::RunIteratorModernPath::offsetForPosition const):
(WebCore::LayoutIntegration::RunIteratorModernPath::positionForOffset const):
(WebCore::LayoutIntegration::RunIteratorModernPath::selectableRange const):
(WebCore::LayoutIntegration::RunIteratorModernPath::renderer const):
(WebCore::LayoutIntegration::RunIteratorModernPath::traverseNextTextRun):
(WebCore::LayoutIntegration::RunIteratorModernPath::traverseNextOnLine):
(WebCore::LayoutIntegration::RunIteratorModernPath::traversePreviousOnLine):
(WebCore::LayoutIntegration::RunIteratorModernPath::operator== const):
(WebCore::LayoutIntegration::RunIteratorModernPath::atEnd const):
(WebCore::LayoutIntegration::RunIteratorModernPath::box const):
(WebCore::LayoutIntegration::RunIteratorModernPath::traverseNextLeaf):
(WebCore::LayoutIntegration::RunIteratorModernPath::traversePreviousLeaf):
(WebCore::LayoutIntegration::RunIteratorModernPath::setAtEnd):
(WebCore::LayoutIntegration::RunIteratorModernPath::boxes const):
(WebCore::LayoutIntegration::RunIteratorModernPath::line const):
(WebCore::LayoutIntegration::RunIteratorModernPath::createTextRun const):
(WebCore::LayoutIntegration::RunIteratorModernPath::run const): Deleted.
(WebCore::LayoutIntegration::RunIteratorModernPath::runs const): Deleted.

  • layout/layouttree/LayoutTreeBuilder.cpp:

(WebCore::Layout::showInlineTreeAndRuns):

  • rendering/TextBoxPainter.cpp:

(WebCore::TextBoxPainter::TextBoxPainter):

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

(WebCore::TextPainter::clearGlyphDisplayLists):

8:27 AM Changeset in webkit [282960] by Alan Bujtas
  • 2 edits in trunk/Source/WebCore

[IFC][Integration] RenderDeprecatedFlexibleBox::setIsStretchingChildren is unused after r282873
https://bugs.webkit.org/show_bug.cgi?id=230627

Reviewed by Antti Koivisto.

  • rendering/RenderDeprecatedFlexibleBox.h:
7:11 AM Changeset in webkit [282959] by Antti Koivisto
  • 11 edits
    2 adds in trunk/Source/WebCore

Factor LegacyInlineFlowBox painting into a class
https://bugs.webkit.org/show_bug.cgi?id=230683

Reviewed by Alan Bujtas.

Introduce InlineBoxPainter, similar to TextBoxPainter.

  • Sources.txt:
  • WebCore.xcodeproj/project.pbxproj:
  • rendering/InlineBoxPainter.cpp: Added.

(WebCore::InlineBoxPainter::InlineBoxPainter):
(WebCore::InlineBoxPainter::paint):
(WebCore::clipRectForNinePieceImageStrip):
(WebCore::InlineBoxPainter::paintMask):
(WebCore::InlineBoxPainter::paintDecorations):
(WebCore::InlineBoxPainter::style const):
(WebCore::InlineBoxPainter::constrainToLineTopAndBottomIfNeeded const):
(WebCore::InlineBoxPainter::paintFillLayers):
(WebCore::InlineBoxPainter::paintFillLayer):
(WebCore::InlineBoxPainter::paintBoxShadow):

  • rendering/InlineBoxPainter.h: Added.

(WebCore::InlineBoxPainter::renderer const):
(WebCore::InlineBoxPainter::isHorizontal const):

  • rendering/LegacyInlineFlowBox.cpp:

(WebCore::LegacyInlineFlowBox::paint):
(WebCore::LegacyInlineFlowBox::paintFillLayers): Deleted.
(WebCore::LegacyInlineFlowBox::paintFillLayer): Deleted.
(WebCore::LegacyInlineFlowBox::paintBoxShadow): Deleted.
(WebCore::LegacyInlineFlowBox::constrainToLineTopAndBottomIfNeeded const): Deleted.
(WebCore::clipRectForNinePieceImageStrip): Deleted.
(WebCore::LegacyInlineFlowBox::paintBoxDecorations): Deleted.
(WebCore::LegacyInlineFlowBox::paintMask): Deleted.

  • rendering/LegacyInlineFlowBox.h:
  • rendering/RenderBoxModelObject.cpp:

(WebCore::RenderBoxModelObject::getBackgroundRoundedRect const):
(WebCore::RenderBoxModelObject::backgroundRoundedRectAdjustedForBleedAvoidance const):
(WebCore::RenderBoxModelObject::paintMaskForTextFillBox):
(WebCore::RenderBoxModelObject::paintFillLayerExtended):
(WebCore::RenderBoxModelObject::boxShadowShouldBeAppliedToBackground const):

  • rendering/RenderBoxModelObject.h:
  • rendering/RenderImage.cpp:

(WebCore::RenderImage::boxShadowShouldBeAppliedToBackground const):

  • rendering/RenderImage.h:
  • rendering/RenderTableCell.cpp:

(WebCore::RenderTableCell::boxShadowShouldBeAppliedToBackground const):

  • rendering/RenderTableCell.h:
6:08 AM Changeset in webkit [282958] by Andres Gonzalez
  • 7 edits in trunk

Remove AXDRTElementIdAttribute from the AX object platform wrapper interface.
https://bugs.webkit.org/show_bug.cgi?id=230657
<rdar://problem/83424767>

Reviewed by Chris Fleizach.

Source/WebCore:

No change in functionality.

AXDRTElementIdAttribute is a duplicate of AXDOMIdentifier, thus removing
an unnecessary attribute from the platform wrapper's
accessibilityAttributeValue method.

  • accessibility/mac/WebAccessibilityObjectWrapperMac.mm:

(-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):

  • accessibility/win/AccessibilityObjectWrapperWin.cpp:

(WebCore::AccessibilityObjectWrapper::accessibilityAttributeValue):

Tools:

AXDRTElementIdAttribute is a duplicate of AXDOMIdentifier, thus removing
an unnecessary attribute from the platform wrapper's
accessibilityAttributeValue method, and making the corresponding change
to the DRT and WTR accessibilityControllers.

  • DumpRenderTree/mac/AccessibilityControllerMac.mm:

(findAccessibleObjectById):

  • DumpRenderTree/win/AccessibilityControllerWin.cpp:

(findAccessibleObjectById):

  • WebKitTestRunner/InjectedBundle/mac/AccessibilityControllerMac.mm:

(WTR::findAccessibleObjectById):

4:55 AM Changeset in webkit [282957] by ntim@apple.com
  • 2 edits in trunk/Source/WebCore

Use visibleToHitTesting() in RenderLayerBacking::updateAfterDescendants() instead of pointer-events check
https://bugs.webkit.org/show_bug.cgi?id=230681

Reviewed by Antti Koivisto.

The new check should account for inert as well once we implement it in RenderStyle.

  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::updateAfterDescendants):

4:54 AM Changeset in webkit [282956] by ntim@apple.com
  • 6 edits in trunk/Source/WebCore

AX: Split out isInert from isAXHidden on AccessibilityObject
https://bugs.webkit.org/show_bug.cgi?id=230680

Reviewed by Antti Koivisto.

Reasons to do this are:

  • Naming of isAXHidden is a bit of a lie
  • We don't want to inherit inert state from parent to child like we do for aria-hidden, especially

in the document is blocked by modal dialog case, where the modal should be interactable unlike its ancestors/siblings.

  • accessibility/AccessibilityObject.cpp:

(WebCore::AccessibilityObject::isAXHidden const):
(WebCore::AccessibilityObject::isInert const):
(WebCore::AccessibilityObject::defaultObjectInclusion const):

  • accessibility/AccessibilityObject.h:
  • accessibility/AccessibilityObjectInterface.h:
  • accessibility/isolatedtree/AXIsolatedObject.cpp:

(WebCore::AXIsolatedObject::isInert const):

  • accessibility/isolatedtree/AXIsolatedObject.h:
4:50 AM Changeset in webkit [282955] by ntim@apple.com
  • 3 edits in trunk/Source/WebCore

Replace axObject->isAXHidden() || axObject->isDOMHidden() with axObject->isHidden()
https://bugs.webkit.org/show_bug.cgi?id=230678

Reviewed by Antti Koivisto.

No behaviour change. The definition of isHidden is:

bool isHidden() const override { return isAXHidden() || isDOMHidden(); }

  • inspector/InspectorAuditAccessibilityObject.cpp:

(WebCore::InspectorAuditAccessibilityObject::getComputedProperties):

  • inspector/agents/InspectorDOMAgent.cpp:

(WebCore::InspectorDOMAgent::buildObjectForAccessibilityProperties):

2:54 AM Changeset in webkit [282954] by Jean-Yves Avenard
  • 9 edits in trunk/Source

Opus and Vorbis codecs aren't available on iPad.
https://bugs.webkit.org/show_bug.cgi?id=230595
rdar://problem/83382734

Vorbis and Opus are usable on platforms other than macOS and are being checked
Source/WebCore:

at runtime.

Reviewed by Eric Carlson.

Covered by existing tests.

  • platform/audio/PlatformMediaSessionManager.cpp:

(WebCore::PlatformMediaSessionManager::vorbisDecoderEnabled):
(WebCore::PlatformMediaSessionManager::setVorbisDecoderEnabled):
(WebCore::PlatformMediaSessionManager::opusDecoderEnabled):
(WebCore::PlatformMediaSessionManager::setOpusDecoderEnabled):

  • platform/audio/PlatformMediaSessionManager.h:
  • platform/graphics/cocoa/WebMAudioUtilitiesCocoa.mm:

(WebCore::registerDecoderFactory):
(WebCore::isOpusDecoderAvailable):
(WebCore::registerOpusDecoderIfNeeded):
(WebCore::isVorbisDecoderAvailable):
(WebCore::registerVorbisDecoderIfNeeded):

Source/WebKit:

at runtime.

Reviewed by Eric Carlson.

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::updatePreferences):

  • WebProcess/cocoa/WebProcessCocoa.mm:

(WebKit::WebProcess::platformInitializeWebProcess):

Source/WTF:

at runtime already.
Reviewed by Eric Carlson.

  • wtf/PlatformEnableCocoa.h:
1:19 AM Changeset in webkit [282953] by svillar@igalia.com
  • 2 edits in trunk/Tools

[Flatpak] Use NUMBER_OF_PROCESSORS if already defined
https://bugs.webkit.org/show_bug.cgi?id=230638

Reviewed by Martin Robinson.

The environment variable NUMBER_OF_PROCESSORS can be defined to instruct the build system
to spawn as many concurrent build commands as specified. By default flatpak was using 3x the number
of processors in the local system. However we might prefer to provide a more convenient number
by using the environment variable. Note that this approach is better than passing -j as
--makeargs because cmake would have to be reconfigured everytime the number passed to -j changes.

  • flatpak/flatpakutils.py:

(WebkitFlatpak.run_in_sandbox): Use NUMBER_OF_PROCESSORS if already defined. Otherwise fallback
to 3x the number of processors.

1:18 AM Changeset in webkit [282952] by Chris Lord
  • 12 edits in trunk

[GTK] Allow sending precise mouse wheel events in LayoutTests
https://bugs.webkit.org/show_bug.cgi?id=230541

Reviewed by Tim Horton.

Source/WebKit:

Add code to be able to send precise synthetic mouse-wheel events in GTK.

  • Shared/NativeWebWheelEvent.h:
  • Shared/gtk/NativeWebWheelEventGtk.cpp:

(WebKit::NativeWebWheelEvent::NativeWebWheelEvent):

  • UIProcess/API/gtk/WebKitWebViewBase.cpp:

(webkitWebViewBaseSynthesizeWheelEvent):
(webkitWebViewBaseSetWheelHasPreciseDeltas):

  • UIProcess/API/gtk/WebKitWebViewBaseInternal.h:

Tools:

Add API to be able to send precise mouse-wheel events in EventSender.

  • WebKitTestRunner/EventSenderProxy.h:
  • WebKitTestRunner/InjectedBundle/Bindings/EventSendingController.idl:
  • WebKitTestRunner/InjectedBundle/EventSendingController.cpp:

(WTR::EventSendingController::setWheelHasPreciseDeltas):

  • WebKitTestRunner/InjectedBundle/EventSendingController.h:
  • WebKitTestRunner/TestController.cpp:

(WTR::TestController::didReceiveMessageFromInjectedBundle):

  • WebKitTestRunner/gtk/EventSenderProxyGtk.cpp:

(WTR::toWebKitGLibAPI):
(WTR::EventSenderProxy::~EventSenderProxy):
(WTR::EventSenderProxy::setWheelHasPreciseDeltas):

1:16 AM Changeset in webkit [282951] by svillar@igalia.com
  • 2 edits in trunk/Source/WebCore

Improve the handling of CompositeEditCommand::splitTreeToNode() return values
https://bugs.webkit.org/show_bug.cgi?id=229470

Reviewed by Darin Adler.

splitTreeToNode() might return nullptr because, among other things, it might insert/remove nodes in
the DOM tree. It's well known that by doing so we're allowing the execution of arbitrary scripts
(see didFinishInsertingNode() for example). This means that there is a possibility that the node
that it's being splitted is no longer part of the DOM tree by the time splitTreeToNode() returns.
That's why we should bail out in those cases.

  • editing/FormatBlockCommand.cpp:

(WebCore::FormatBlockCommand::formatRange):

Sep 22, 2021:

11:58 PM Changeset in webkit [282950] by commit-queue@webkit.org
  • 3 edits in trunk/Source/JavaScriptCore

Null pointer dereference in JSC::GetByStatus
https://bugs.webkit.org/show_bug.cgi?id=229674

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

In GetByStatus::computeForStubInfoWithoutExitSiteFeedback, there are
several places that dereference the stubInfo argument when calling the
GetByStatus constructor. To prevent a nullptr dereference, the pointer
is not dereferenced anymore, and a check was added to check if stubInfo
is a valid pointer before accessing it.

  • bytecode/GetByStatus.cpp:

(JSC::GetByStatus::GetByStatus):
(JSC::GetByStatus::computeForStubInfoWithoutExitSiteFeedback):

  • bytecode/GetByStatus.h:
11:06 PM Changeset in webkit [282949] by Russell Epstein
  • 6 edits in branches/safari-612-branch/Source/JavaScriptCore

Cherry-pick r281972. rdar://problem/83429723

[JSC] Fix WebKitAdditions directory traversal in offlineasm
https://bugs.webkit.org/show_bug.cgi?id=229841

Reviewed by Mark Lam.

When DEPLOYMENT_LOCATION is YES, WebKitAdditions directory becomes /usr/local/include/WebKitAdditions.
This patch adds --use-deployment-location option to generate_offset_extractor.rb, generate_settings_extractor.rb,
and asm.rb. And they pass it to parser to change the include directory.

  • JavaScriptCore.xcodeproj/project.pbxproj:
  • offlineasm/asm.rb:
  • offlineasm/generate_offset_extractor.rb:
  • offlineasm/generate_settings_extractor.rb:
  • offlineasm/parser.rb:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@281972 268f45cc-cd09-0410-ab3c-d52691b4dbfc

10:50 PM Changeset in webkit [282948] by Russell Epstein
  • 3 edits in branches/safari-612-branch

Cherry-pick r280705. rdar://problem/83430104

VoiceOver is not announcing the state as selected/unselected when an item is selected in a grid.
https://bugs.webkit.org/show_bug.cgi?id=228840
<rdar://78225826>

Reviewed by Chris Fleizach.

Source/WebCore:

Test: accessibility/selected-state-changed-notifications.html.

On iOS, a table/grid cell element is not exposed to AX clients. Instead
the content of the cell is. This patch ensures that if the cell element
is selected, the AX objects that represent the content inside the cell
will inherit the selected state from the cell.

  • accessibility/ios/WebAccessibilityObjectWrapperIOS.mm: (-[WebAccessibilityObjectWrapper _accessibilityTraitsFromAncestors]):

LayoutTests:

  • accessibility/selected-state-changed-notifications.html:
  • platform/ios/TestExpectations:
  • platform/ios/accessibility/selected-state-changed-notifications-expected.txt: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@280705 268f45cc-cd09-0410-ab3c-d52691b4dbfc

10:34 PM Changeset in webkit [282947] by Russell Epstein
  • 2 edits in branches/safari-612-branch/Source/WebCore

Cherry-pick r282047. rdar://problem/83430148

Ensure fragmented flow state invalidation even when the cached fragmented flow is not present.
https://bugs.webkit.org/show_bug.cgi?id=229914
<rdar://82025006>

Reviewed by Antti Koivisto.

The cached fragmented flow is the byproduct of querying the enclosing fragment during layout/repaint.
Sometimes when the layout process, between 2 subsequent style change does not generate such cached fragmented flows
the invalidation process stops early and leaves subtrees in an inconsistent state.

Let's use the passed in fragmented flow when the cached value is not present.

  • rendering/RenderBlock.cpp: (WebCore::RenderBlock::resetEnclosingFragmentedFlowAndChildInfoIncludingDescendants):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@282047 268f45cc-cd09-0410-ab3c-d52691b4dbfc

10:26 PM Changeset in webkit [282946] by Russell Epstein
  • 9 edits
    2 copies in branches/safari-612-branch

Apply patch. rdar://problem/83430097

10:14 PM Changeset in webkit [282945] by Russell Epstein
  • 7 edits in branches/safari-612-branch/Source

Cherry-pick r282789. rdar://problem/83429661

[Cocoa] Videos sometimes don't render when loaded in the GPU process
https://bugs.webkit.org/show_bug.cgi?id=230495
rdar://83205407

Reviewed by Jer Noble.

The media players choose what type of video output to create based on whether
or not the renderer can support accelerated rendering. We were only pushing
this state to the GPU process when the renderer changed to require backing, but
that state was lost if that transition happened before the AVFoundation-backed
media player was created. Change this to push the current state from the web process
when a remote media player is created, and again whenever its readyState changes.

We haven't figured out how to reliably reproduce this, so https://webkit.org/b/230500
tracks figuring that out and creating a test.

  • GPUProcess/media/RemoteMediaPlayerProxy.cpp: (WebKit::RemoteMediaPlayerProxy::RemoteMediaPlayerProxy): Set m_renderingCanBeAccelerated from the configuration. (WebKit::RemoteMediaPlayerProxy::prepareToPlay): Add logging. (WebKit::RemoteMediaPlayerProxy::prepareForRendering): Ditto. (WebKit::RemoteMediaPlayerProxy::setPageIsVisible): Ditto. (WebKit::RemoteMediaPlayerProxy::acceleratedRenderingStateChanged): Ditto. (WebKit::RemoteMediaPlayerProxy::mediaPlayerReadyStateChanged): Ditto.
  • GPUProcess/media/RemoteMediaPlayerProxyConfiguration.h: Add renderingCanBeAccelerated. (WebKit::RemoteMediaPlayerProxyConfiguration::encode const): (WebKit::RemoteMediaPlayerProxyConfiguration::decode): Decode it.
  • WebProcess/GPU/media/MediaPlayerPrivateRemote.cpp: (WebKit::MediaPlayerPrivateRemote::readyStateChanged): Call acceleratedRenderingStateChanged if the state has changed. (WebKit::MediaPlayerPrivateRemote::acceleratedRenderingStateChanged): Remember the state.
  • WebProcess/GPU/media/MediaPlayerPrivateRemote.h:
  • WebProcess/GPU/media/RemoteMediaPlayerManager.cpp: (WebKit::RemoteMediaPlayerManager::createRemoteMediaPlayer): Pass the accelerated rendering state with the configuration.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@282789 268f45cc-cd09-0410-ab3c-d52691b4dbfc

10:14 PM Changeset in webkit [282944] by Russell Epstein
  • 2 edits in branches/safari-612-branch/Source/WebCore

Cherry-pick r282774. rdar://problem/83429893

[GPUP] Videos appear black but audio plays normally
https://bugs.webkit.org/show_bug.cgi?id=230471
<rdar://82121369>

Reviewed by Youenn Fablet.

For some videos, the media player (MediaPlayerPrivateAVFoundation) starts
with the "MediaRenderingToContext" mode, and it switches to the "MediaRenderingToLayer"
mode later. When the mode switch happens, we have to destroy the context
video renderer before creating the video layer. Otherwise, we won't receive
the notification regarding "readyForDisplay" key path, which drives the
firstVideoFrameAvailable callback.

destroyContextVideoRenderer() destroys the m_videoOutput, but it will
be recreated by createVideoLayer().

Manually tested.

  • platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp: (WebCore::MediaPlayerPrivateAVFoundation::setUpVideoRendering):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@282774 268f45cc-cd09-0410-ab3c-d52691b4dbfc

10:14 PM Changeset in webkit [282943] by Russell Epstein
  • 15 edits
    1 add in branches/safari-612-branch

Cherry-pick r282707. rdar://problem/83429953

[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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@282707 268f45cc-cd09-0410-ab3c-d52691b4dbfc

10:14 PM Changeset in webkit [282942] by Russell Epstein
  • 2 edits in branches/safari-612-branch/Source/WebKit

Cherry-pick r282698. rdar://problem/83429561

Unreviewed build fix.

  • Shared/Cocoa/AuxiliaryProcessCocoa.mm:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@282698 268f45cc-cd09-0410-ab3c-d52691b4dbfc

10:14 PM Changeset in webkit [282941] by Russell Epstein
  • 2 edits
    2 adds in branches/safari-612-branch

Cherry-pick r282663. rdar://problem/83429716

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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@282663 268f45cc-cd09-0410-ab3c-d52691b4dbfc

10:14 PM Changeset in webkit [282940] by Russell Epstein
  • 5 edits in branches/safari-612-branch/Source/WebCore

Cherry-pick r282615. rdar://problem/83429940

Throttle a couple of editing-related timers in cases where the user has not interacted with subframes
https://bugs.webkit.org/show_bug.cgi?id=230326

Reviewed by Tim Horton.

This patch (1) delays the firing of a WebCore::Timer that is responsible for notifying the injected bundle about
newly inserted form controls, and (2) limits spellchecking and automatic text replacement to editing contexts in
documents that are either the main document, or have had user interaction or editing.

This gives us a small but measurable performance boost on Speedometer, where the DOM manipulations that occur
during the synchronous script execution phase currently schedule zero-delay WebCore::Timers via these two
codepaths, which then fire right after we begin counting time in the subsequent asynchronous phase, but before
that asynchronous phase has ended. This means that we're effectively penalized during the second async phase,
for timers that are scheduled during the first sync phase.

While most timers that are scheduled simply trigger work that we would've performed anyways when ensuring layout
near the end of the async phase (e.g. zero-delay style recalc timers and layout timers), these two timers -
Editor::m_editorUIUpdateTimer and Document::m_didAssociateFormControlsTimer - cause us to occasionally do
nontrivial work (that we would otherwise not have done) before ending the async phase.

Since these two timers are only used for AutoFill and text checking (respectively), it's likely that we can just
defer and avoid this work in these (relatively) narrow scenarios.

  • dom/Document.cpp: (WebCore::Document::commonTeardown):

When tearing down the document, additionally avoid triggering the associated form control timer by stopping the
timer and clearing out all the elements in the weak set.

(WebCore::Document::didAssociateFormControl):
(WebCore::Document::didAssociateFormControlsTimerFired):

Extend the delay to a second in the case of non-top-level documents that have not had any form of user
interaction.

  • dom/Document.h:
  • editing/Editor.cpp: (WebCore::Editor::willApplyEditing):

Right before we're about to apply any edit command, set a bit indicating that the Editor has handled editing.
The editor UI update timer then consults this bit below, when determining whether or not it should schedule any
work.

(WebCore::Editor::respondToChangedSelection):

Additionally avoid repeatedly stopping and restarting m_telephoneNumberDetectionUpdateTimer when the DOM
selection changes, by making it a DeferrableOneShotTimer instead; this allows us to just set a bit on the timer
to reschedule it, instead of having to stop and restart every time.

(WebCore::Editor::willApplyEditing const): Deleted.

  • editing/Editor.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@282615 268f45cc-cd09-0410-ab3c-d52691b4dbfc

10:14 PM Changeset in webkit [282939] by Russell Epstein
  • 2 edits in branches/safari-612-branch/Source/bmalloc

Cherry-pick r282561. rdar://problem/83430086

Stub out the footprint() API when libpas is in use
https://bugs.webkit.org/show_bug.cgi?id=230362

Reviewed by Yusuke Suzuki.

The Gigacage's footprint API is called from some test-only code in JSC, evidently to no
meaningful effect. It's possible for libpas to support such an API but it currently
doesn't. So, stub it out. To my knowledge we don't actually use this API for anything
other than tests, and even tests seem to use it only in the sense that they expect to be
able to call it without crashing.

  • bmalloc/Gigacage.cpp: (Gigacage::footprint):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@282561 268f45cc-cd09-0410-ab3c-d52691b4dbfc

10:14 PM Changeset in webkit [282938] by Russell Epstein
  • 15 edits
    2 adds in branches/safari-612-branch

Cherry-pick r282369. rdar://problem/83429914

AX: set insertion point to the end of a native text control does not work when passing a collapsed TextMarkerRange with both start and end equals to the end TextMarker for the element.
https://bugs.webkit.org/show_bug.cgi?id=230166

Reviewed by Chris Fleizach.

Source/WebCore:

Test: accessibility/mac/native-text-control-set-selected-textmarker-range.html

Added a special case to AX object's setSelectedVisiblePositionRange for
when the passed range is a collapsed range to the end of a native text
control element's range.
To accomplish this, it is necessary to compare for equality two
VisiblePositions obtained from TextMarkers.
In order to reconstruct the VisiblePositions from the TextMarkers in a
way that equality is preserved, the AnchorType of the underlying
Position needs to be added to the TextMarkerData.

  • accessibility/AXObjectCache.cpp: Added the AnchorType to the TextMarkerData struct. (WebCore::AXObjectCache::visiblePositionForTextMarkerData): (WebCore::AXObjectCache::textMarkerDataForVisiblePosition):
  • accessibility/AXObjectCache.h:
  • accessibility/AccessibilityRenderObject.cpp: (WebCore::AccessibilityRenderObject::setSelectedVisiblePositionRange const):
  • accessibility/mac/AXObjectCacheMac.mm: Exposed textMarkerRangeFromMarkers. (WebCore::textMarkerRangeFromMarkers):
  • accessibility/mac/WebAccessibilityObjectWrapperMac.h:
  • accessibility/mac/WebAccessibilityObjectWrapperMac.mm: Added the AXTextMarkerRangeForTextMarkers attribute which, unlike AXTextMarkerRangeForUnorderedTextMarkers, assumes that the range's start and end are ordered, and thus is more efficient. (-[WebAccessibilityObjectWrapper ALLOW_DEPRECATED_IMPLEMENTATIONS_END]): (-[WebAccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]):

Tools:

  • WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm: (WTR::AccessibilityUIElement::textMarkerRangeForMarkers): Use AXTextMarkerRangeForTextMarkers instead of AXTextMarkerRangeForUnorderedTextMarkers.

LayoutTests:

  • accessibility/mac/bounds-for-range-expected.txt: Added AXTextMarkerRangeForTextMarkers attribute name.
  • accessibility/mac/native-text-control-set-selected-textmarker-range-expected.txt:
  • accessibility/mac/native-text-control-set-selected-textmarker-range.html: Expanded to include the test cases to move the insertion point to the beginning and end of the text cotnrol.
  • accessibility/text-marker/text-marker-previous-next-expected.txt:
  • accessibility/text-marker/text-marker-previous-next.html: Adjusted expected value to include linebreak character.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@282369 268f45cc-cd09-0410-ab3c-d52691b4dbfc

10:14 PM Changeset in webkit [282937] by Russell Epstein
  • 8 edits in branches/safari-612-branch/Source/WebKit

Cherry-pick r282364. rdar://problem/83429561

Send preference updates to the GPU process
https://bugs.webkit.org/show_bug.cgi?id=230159
<rdar://81049367>

Reviewed by Brent Fulgham.

Like the WebContent process, the GPU process should also receive preference updates since it is blocking the preference service in the sandbox.
The common code to set a preference is being moved to the AuxiliaryProcess base class, so that also the GPU process can make use of it. When
the UI process is sending preference update messages to all the WebContent processes, it will now also send to the GPU process.

  • GPUProcess/GPUProcess.h:
  • GPUProcess/GPUProcess.messages.in:
  • GPUProcess/cocoa/GPUProcessCocoa.mm: (WebKit::GPUProcess::notifyPreferencesChanged):
  • Shared/AuxiliaryProcess.h:
  • Shared/Cocoa/AuxiliaryProcessCocoa.mm: (WebKit::AuxiliaryProcess::decodePreferenceValue): (WebKit::AuxiliaryProcess::setPreferenceValue):
  • UIProcess/Cocoa/WebProcessPoolCocoa.mm: (WebKit::WebProcessPool::notifyPreferencesChanged):
  • WebProcess/cocoa/WebProcessCocoa.mm: (WebKit::handlePreferenceChange): (WebKit::WebProcess::notifyPreferencesChanged): (WebKit::setPreferenceValue): Deleted.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@282364 268f45cc-cd09-0410-ab3c-d52691b4dbfc

10:14 PM Changeset in webkit [282936] by Russell Epstein
  • 4 edits in branches/safari-612-branch/Source

Cherry-pick r282157. rdar://problem/83429907

Remove unneeded call on startup of WebContent process
https://bugs.webkit.org/show_bug.cgi?id=230022
<rdar://problem/82838000>

Reviewed by Darin Adler.

Source/WebCore/PAL:

  • pal/spi/cg/CoreGraphicsSPI.h:

Source/WebKit:

There is no need to call CGSShutdownServerConnections during startup of the WebContent process on macOS,
since we already have asserted that there are no open connections at this point.

  • WebProcess/cocoa/WebProcessCocoa.mm: (WebKit::WebProcess::platformInitializeProcess):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@282157 268f45cc-cd09-0410-ab3c-d52691b4dbfc

10:13 PM Changeset in webkit [282935] by Russell Epstein
  • 2 edits in branches/safari-612-branch/Source/WebKit

Cherry-pick r282114. rdar://problem/83429649

Fix incorrect preprocess guard in WebContent sandbox
https://bugs.webkit.org/show_bug.cgi?id=230025
<rdar://82721734>

Reviewed by Brent Fulgham.

Fix incorrect macOS version guard.

  • WebProcess/com.apple.WebProcess.sb.in:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@282114 268f45cc-cd09-0410-ab3c-d52691b4dbfc

10:13 PM Changeset in webkit [282934] by Russell Epstein
  • 10 edits in branches/safari-612-branch

Cherry-pick r282034. rdar://problem/83429808

Safari’s Privacy Report window is completely blank
https://bugs.webkit.org/show_bug.cgi?id=229847
<rdar://problem/80974688>

Reviewed by Chris Dumez.

Source/WebKit:

We should not wait for an IPC reply on a cached web process, because
it will cause long hangs.

In order to test this I added a new SPI to update the
cachedProcessSuspensionDelay (the usual timeout is 30 seconds). I also
moved the initial suspension timer call to be after the responsiveness
check, otherwise the cached process will be resumed very soon.

  • UIProcess/API/Cocoa/WKWebsiteDataStore.mm: (+[WKWebsiteDataStore _setCachedProcessSuspensionDelayForTesting:]):
  • UIProcess/API/Cocoa/WKWebsiteDataStorePrivate.h:
  • UIProcess/WebProcessCache.cpp: (WebKit::WebProcessCache::setCachedProcessSuspensionDelayForTesting): (WebKit::WebProcessCache::addProcess): (WebKit::WebProcessCache::CachedProcess::CachedProcess): (WebKit::WebProcessCache::CachedProcess::startSuspensionTimer):
  • UIProcess/WebProcessCache.h:
  • UIProcess/WebProcessPool.cpp: (WebKit::WebProcessPool::sendResourceLoadStatisticsDataImmediately):
  • UIProcess/WebsiteData/WebsiteDataStore.cpp: (WebKit::WebsiteDataStore::setCachedProcessSuspensionDelayForTesting):
  • UIProcess/WebsiteData/WebsiteDataStore.h:

Tools:

  • TestWebKitAPI/Tests/WebKitCocoa/ResourceLoadStatistics.mm: (TEST):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@282034 268f45cc-cd09-0410-ab3c-d52691b4dbfc

10:13 PM Changeset in webkit [282933] by Russell Epstein
  • 2 edits in branches/safari-612-branch/Source/WebKit

Cherry-pick r282013. rdar://problem/83430076

[GPUP] Temporarily allow access to power logging service
https://bugs.webkit.org/show_bug.cgi?id=229878
<rdar://82441564>

Reviewed by Brent Fulgham.

Temporarily allow access to power logging service in GPUP on macOS.

  • GPUProcess/mac/com.apple.WebKit.GPUProcess.sb.in:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@282013 268f45cc-cd09-0410-ab3c-d52691b4dbfc

10:13 PM Changeset in webkit [282932] by Russell Epstein
  • 2 edits in branches/safari-612-branch/Source/WebCore

Cherry-pick r281847. rdar://problem/83429949

visualWordPosition should operate on a clean tree
https://bugs.webkit.org/show_bug.cgi?id=229744
<rdar://80684065>

Reviewed by Antti Koivisto.

This function expects the tree to not be mutated while walking the inline runs.

  • editing/VisibleUnits.cpp: (WebCore::visualWordPosition):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@281847 268f45cc-cd09-0410-ab3c-d52691b4dbfc

10:13 PM Changeset in webkit [282931] by Russell Epstein
  • 3 edits in branches/safari-612-branch/Source/WebCore

Cherry-pick r281839. rdar://problem/83429771

[GPU Process](REGRESSION): A detached canvas leaks all the images it draws
https://bugs.webkit.org/show_bug.cgi?id=229668
<rdar://problem/82532484>

Reviewed by Simon Fraser.

Before drawing the canvas to the page, the canvas element may need to
prepare its context for display. For 2D canvas elements, this should
happen regardless whether they are attached to the Document or not.
Because prepareForDisplay() calls ImageBuffer::flushDrawingContextAsync(),
this will ensure the canvas drawing commands are pushed from WebProcess
to GPUProcess. It will also release the cached shared images from both
WebProcess and GPUProcess.

Move the decision to skip the context prepareForDisplay() step from
Document::prepareCanvasesForDisplayIfNeeded() to
WebGLRenderingContextBase::prepareForDisplay().

  • dom/Document.cpp: (WebCore::Document::prepareCanvasesForDisplayIfNeeded):
  • html/canvas/WebGLRenderingContextBase.cpp: (WebCore::WebGLRenderingContextBase::prepareForDisplay):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@281839 268f45cc-cd09-0410-ab3c-d52691b4dbfc

10:13 PM Changeset in webkit [282930] by Russell Epstein
  • 9 edits
    2 adds in branches/safari-612-branch

Cherry-pick r281691. rdar://problem/83429796

Make AXCoreObject::setSelectedVisiblePositionRange work in native text controls on MacOS.
https://bugs.webkit.org/show_bug.cgi?id=229529

Reviewed by Chris Fleizach.

Source/WebCore:

Test: accessibility/mac/native-text-control-set-selected-textmarker-range.html

Trying to set the selection in native text controls using the atribute
AXSelectedTextMarkerRange didn't work for MacOS AX clients. This patch
implements this functionality by properly handling native text controls
in AccessibilityRenderObject::setSelectedVisiblePositionRange.

  • accessibility/AccessibilityObject.h:
  • accessibility/AccessibilityObjectInterface.h:
  • accessibility/AccessibilityRenderObject.cpp: (WebCore::AccessibilityRenderObject::documentBasedSelectedTextRange const): (WebCore::AccessibilityRenderObject::selectedVisiblePositionRange const): Added. (WebCore::AccessibilityRenderObject::setSelectedVisiblePositionRange const):
  • accessibility/AccessibilityRenderObject.h:
  • accessibility/isolatedtree/AXIsolatedObject.cpp: (WebCore::AXIsolatedObject::selectedVisiblePositionRange const):
  • accessibility/isolatedtree/AXIsolatedObject.h:
  • accessibility/mac/WebAccessibilityObjectWrapperMac.mm: (-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]): (-[WebAccessibilityObjectWrapper textMarkerRangeForSelection]): Renamed selectedTextMarkerRange for consistency.

LayoutTests:

  • accessibility/mac/native-text-control-set-selected-textmarker-range-expected.txt: Added.
  • accessibility/mac/native-text-control-set-selected-textmarker-range.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@281691 268f45cc-cd09-0410-ab3c-d52691b4dbfc

10:13 PM Changeset in webkit [282929] by Russell Epstein
  • 5 edits
    2 adds in branches/safari-612-branch

Cherry-pick r281613. rdar://problem/83429969

Crash in GraphicsContextGLOpenGL::reshapeDisplayBufferBacking
https://bugs.webkit.org/show_bug.cgi?id=229309

Patch by Alex Christensen <achristensen@webkit.org> on 2021-08-25
Reviewed by Myles C. Maxfield.

Source/WebCore:

Test: fast/canvas/xr-compatible-crash.html

Null check m_swapChain because reshapeDisplayBufferBacking can be called before it is set.

  • html/canvas/WebGLRenderingContextBase.cpp: (WebCore::WebGLRenderingContextBase::addContextObject):
  • platform/graphics/angle/GraphicsContextGLANGLE.cpp: (WebCore::GraphicsContextGLOpenGL::reshapeFBOs):
  • platform/graphics/cocoa/GraphicsContextGLOpenGLCocoa.mm: (WebCore::GraphicsContextGLOpenGL::reshapeDisplayBufferBacking):

LayoutTests:

  • fast/canvas/xr-compatible-crash.html: Added.
  • fast/canvas/xr-compatible-crash-expected.txt: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@281613 268f45cc-cd09-0410-ab3c-d52691b4dbfc

10:13 PM Changeset in webkit [282928] by Russell Epstein
  • 9 edits
    8 adds in branches/safari-612-branch

Cherry-pick r281431. rdar://problem/83429553

Report correct blocked URI in CSP violation report
https://bugs.webkit.org/show_bug.cgi?id=226316
<rdar://problem/78552912>

Reviewed by Alex Christensen.

Source/WebCore:

Tests: http/tests/security/contentSecurityPolicy/report-blocked-uri-after-blocked-redirect.html

http/tests/security/contentSecurityPolicy/report-blocked-uri-after-multiple-redirects.html

Currently for a blocked redirection we report the blocked URI as the
target URL. This is not up to spec and we should actually report the
requested URL.

  • loader/DocumentThreadableLoader.cpp: (WebCore::DocumentThreadableLoader::redirectReceived): (WebCore::DocumentThreadableLoader::isAllowedByContentSecurityPolicy):
  • loader/DocumentThreadableLoader.h:
  • page/csp/ContentSecurityPolicy.cpp: (WebCore::ContentSecurityPolicy::allowConnectToSource const): (WebCore::ContentSecurityPolicy::reportViolation const):
  • page/csp/ContentSecurityPolicy.h:

Source/WebKit:

Currently for a blocked redirection we report the blocked URI as the
target URL. This is not up to spec and we should actually report the
requested URL.

  • NetworkProcess/NetworkLoadChecker.cpp: (WebKit::NetworkLoadChecker::check): (WebKit::NetworkLoadChecker::checkRedirection): (WebKit::NetworkLoadChecker::checkRequest): (WebKit::NetworkLoadChecker::isAllowedByContentSecurityPolicy):
  • NetworkProcess/NetworkLoadChecker.h:

LayoutTests:

  • http/tests/security/contentSecurityPolicy/report-blocked-uri-after-blocked-redirect-expected.txt: Added.
  • http/tests/security/contentSecurityPolicy/report-blocked-uri-after-blocked-redirect.html: Added.
  • http/tests/security/contentSecurityPolicy/report-blocked-uri-after-multiple-redirects-expected.txt: Added.
  • http/tests/security/contentSecurityPolicy/report-blocked-uri-after-multiple-redirects.html: Added.
  • platform/mac-wk1/http/tests/security/contentSecurityPolicy/report-blocked-uri-after-multiple-redirects-expected.txt: Added.
  • platform/mac-wk1/http/tests/security/contentSecurityPolicy/report-blocked-uri-after-blocked-redirect-expected.txt: Added.
  • platform/win/http/tests/security/contentSecurityPolicy/report-blocked-uri-after-blocked-redirect-expected.txt: Added.
  • platform/win/http/tests/security/contentSecurityPolicy/report-blocked-uri-after-multiple-redirects-expected.txt: Added. WebKitLegacy and Win have different console logging.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@281431 268f45cc-cd09-0410-ab3c-d52691b4dbfc

10:13 PM Changeset in webkit [282927] by Russell Epstein
  • 6 edits
    2 adds in branches/safari-612-branch

Cherry-pick r281354. rdar://problem/83429677

Web Inspector: Style rules declared after a rule whose selector has over 8192 components are not shown correctly
https://bugs.webkit.org/show_bug.cgi?id=229218

Reviewed by Devin Rousso.

Source/WebCore:

Test: inspector/css/getMatchedStylesForNodeLargeSelectors.html

CSS rules are limited to 8192 selector components in WebCore, and when more components are present the rule is
split into multiple StyleRule instances. This meant Web Inspector could not reliably resolve a StyleRule
back to its source data, which we do to enable things like editing, as well as to make sure we show the un-split
selector in the Styles sidebar of the Elements tab. Previously, the presences of multiple StyleRules for a
single source data declaration was not accounted for, which meant that rules after the split rules would show a
mix of style information from the actual rule as well as a rule some number of declarations later in the same
style sheet. This is resolved by marking StyleRules that have been split and marking the last of the split
rules. This allows us to then forgo incrementing the index for looking up raw declarations until we encounter
the last rule from a split StyleRule.

  • css/StyleRule.cpp:

(WebCore::StyleRule::StyleRule):
(WebCore::StyleRule::createForSplitting):
(WebCore::StyleRule::splitIntoMultipleRulesWithMaximumSelectorComponentCount const):

  • css/StyleRule.h:
  • Added two members to track rules that are split into multiple rules due to exceeding the 8192 component limit for selectors in order to determine later which rules are effectively duplicates of each other. We use two members here, one to track that the rule was split from a larger authored rule (m_isSplitRule), and one to mark the last rule split from a given rule (m_isLastRuleInSplitRule). The second member prevents situations where we might otherwise accidentally continue iterating into a list of StyleRule where two large authored rules that had to be split are present next to each other in an ordered collection of StyleRule.
  • inspector/InspectorStyleSheet.cpp: (WebCore::selectorsFromSource):
  • Use a vector of CSSSelectors for specificity information since we now collect selectors from potentially multiple CSSStyleRules.

(WebCore::InspectorStyleSheet::cssStyleRulesSplitFromSameRule):

  • Find any neighboring CSSStyleRules that were split from the same original rule based on the order of rules as well as the new flags in StyleRule

(WebCore::InspectorStyleSheet::selectorsForCSSStyleRule):

  • Find all selectors for a given CSSStyleRule, including other CSSStyleRules split from the same rule in a style sheet.

(WebCore::InspectorStyleSheet::buildObjectForSelectorList):

  • Use all CSSSelectors from for the CSSStyleRule and other rules that were split from the same rule in a style sheet.

(WebCore::InspectorStyleSheet::ruleSourceDataFor const):
(WebCore::InspectorStyleSheet::ruleIndexByStyle const):

  • When looking up an index to get rule source data, make sure we don't overcount split rules.
  • inspector/InspectorStyleSheet.h:

LayoutTests:

Test very large (8192 individual component) selectors to ensure surrounding styles are correctly resolved.

  • inspector/css/getMatchedStylesForNodeLargeSelectors-expected.txt: Added.
  • inspector/css/getMatchedStylesForNodeLargeSelectors.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@281354 268f45cc-cd09-0410-ab3c-d52691b4dbfc

10:13 PM Changeset in webkit [282926] by Russell Epstein
  • 3 edits
    3 adds in branches/safari-612-branch

Cherry-pick r281323. rdar://problem/83430037

Release assert in ScriptController::canExecuteScripts via WebCore::WebSocket::didReceiveMessage
https://bugs.webkit.org/show_bug.cgi?id=229301

Reviewed by Ryosuke Niwa.

Source/WebCore:

Test: http/tests/websocket/tests/hybi/inspector/send-and-recieve-debugger.html

WebCore::WebSocket::didReceiveMessage and other functions that fire JS events may be called while the
WebSocketChannel is being resumed, but it is not yet safe to evaluate JavaScript during resuming. This was
already accounted for with some events like errors and closing, but it holds true for all events. We should
delay firing these events as well.

  • Modules/websockets/WebSocket.cpp: (WebCore::WebSocket::didConnect): (WebCore::WebSocket::didReceiveMessage): (WebCore::WebSocket::didReceiveBinaryData):

LayoutTests:

  • http/tests/websocket/tests/hybi/inspector/echo-delayed_wsh.py: Added. (web_socket_do_extra_handshake): (web_socket_transfer_data):
  • Similar to echo_wsh.py, respond with the provided message when received, but delay the response by 100ms.
  • http/tests/websocket/tests/hybi/inspector/send-and-recieve-debugger-expected.txt: Added.
  • http/tests/websocket/tests/hybi/inspector/send-and-recieve-debugger.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@281323 268f45cc-cd09-0410-ab3c-d52691b4dbfc

10:08 PM Changeset in webkit [282925] by ysuzuki@apple.com
  • 5 edits in trunk

[JSC] Filter algorithmic numbering systems from enumeration data
https://bugs.webkit.org/show_bug.cgi?id=230660

Reviewed by Ross Kirsling.

JSTests:

  • stress/intl-enumeration.js:
  • test262/expectations.yaml:

Source/JavaScriptCore:

Algorithmic numbering systems' handling is not included in normal ICU build.
This patch filters out them from available numbering systems.

  • runtime/IntlObject.cpp:

(JSC::availableNumberingSystems):

10:05 PM Changeset in webkit [282924] by Jean-Yves Avenard
  • 4 edits in trunk

Make SharedBuffer inherit from ThreadSafeRefCounted
https://bugs.webkit.org/show_bug.cgi?id=230662
rdar://83419269

Source/WebCore:

The SourceBufferPrivateAVFObjC uses dispatch_async that takes an objective-C class.
This copies its argument rather than move it and we end up with the SharedBuffer
captured in the lambda to have its ref count be > 1.
The easiest workaround is to make SharedBuffer use thread-safe refcount.
Of course, this doesn't make a SharedBuffer a thread-safe class, but it allows
to safely move it between threads.

Already covered by existing tests.

Reviewed by Chris Dumez.

  • platform/SharedBuffer.h:

LayoutTests:

Revert bug 230644.

Reviewed by Chris Dumez.

  • platform/mac-wk1/TestExpectations:
9:56 PM Changeset in webkit [282923] by ysuzuki@apple.com
  • 5 edits in trunk

[JSC] Adjust Intl currency enumeration
https://bugs.webkit.org/show_bug.cgi?id=230656

Reviewed by Ross Kirsling.

JSTests:

  • stress/intl-enumeration.js:
  • test262/expectations.yaml:

Source/JavaScriptCore:

  1. List up all available currencies.
  2. Introduce a work-around for VES, LSM, and EQE
  • runtime/IntlObject.cpp:

(JSC::availableCurrencies):

9:52 PM Changeset in webkit [282922] by mmaxfield@apple.com
  • 16 edits
    3 adds in trunk

[Cocoa] Hook up palettes to CoreText
https://bugs.webkit.org/show_bug.cgi?id=230449

Reviewed by Simon Fraser.

LayoutTests/imported/w3c:

This is being upstreamed at https://github.com/web-platform-tests/wpt/pull/30910.

  • web-platform-tests/css/css-fonts/font-palette-expected.html: Added.
  • web-platform-tests/css/css-fonts/font-palette.html: Added.
  • web-platform-tests/css/css-fonts/resources/Ahem-COLOR-palettes.ttf: Added.

Source/WebCore:

Now that we have FontCreationContext, we can just add FontPaletteValues to it, and turn
that into Core Text attributes in preparePlatformFont().

Test: imported/w3c/web-platform-tests/css/css-fonts/font-palette.html

  • WebCore.xcodeproj/project.pbxproj:
  • css/CSSFontFace.cpp:

(WebCore::CSSFontFace::font):

  • css/CSSFontFace.h:
  • css/CSSFontSelector.cpp:

(WebCore::CSSFontSelector::lookupFontPaletteValues):
(WebCore::CSSFontSelector::fontRangesForFamily):

  • css/CSSFontSelector.h:
  • css/CSSSegmentedFontFace.cpp:

(WebCore::CSSSegmentedFontFace::fontRanges):

  • css/CSSSegmentedFontFace.h:
  • platform/graphics/FontCreationContext.h:

(WebCore::FontCreationContext::operator== const):
(WebCore::add):

  • platform/graphics/FontPaletteValues.h:

(WebCore::FontPaletteValues::operator== const):
(WebCore::FontPaletteValues::operator!= const):
(WebCore::add):

  • platform/graphics/Gradient.cpp:
  • platform/graphics/Gradient.h:

(WebCore::add):

  • platform/graphics/cocoa/FontCacheCoreText.cpp:

(WebCore::addAttributesForFontPalettes):
(WebCore::preparePlatformFont):

Source/WebCore/PAL:

  • pal/spi/cf/CoreTextSPI.h:
9:48 PM Changeset in webkit [282921] by mmaxfield@apple.com
  • 4 edits in trunk/Source/WebCore

Rename the Shaping log channel to TextShaping
https://bugs.webkit.org/show_bug.cgi?id=230665

Reviewed by Simon Fraser.

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):

9:30 PM Changeset in webkit [282920] by Wenson Hsieh
  • 17 edits in trunk/Source/WebCore

Turn WebCore::LineCap and WebCore::LineJoin into 8-bit enum classes
https://bugs.webkit.org/show_bug.cgi?id=230642

Reviewed by Simon Fraser.

Make LineJoin and LineCap enum classes, backed by uint8_t. This makes it easier to send these enum types as IPC
arguments to the GPU process. Using strongly typed identifiers is also better for type safety.

No change in behavior.

  • css/CSSPrimitiveValueMappings.h:

(WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
(WebCore::CSSPrimitiveValue::operator LineCap const):
(WebCore::CSSPrimitiveValue::operator LineJoin const):

Prefix individual enum values with LineCap:: and LineJoin::, as needed.

  • html/canvas/CanvasRenderingContext2DBase.cpp:

(WebCore::toCanvasLineCap):
(WebCore::fromCanvasLineCap):
(WebCore::toCanvasLineJoin):
(WebCore::fromCanvasLineJoin):
(WebCore::CanvasRenderingContext2DBase::State::State):
(WebCore::CanvasRenderingContext2DBase::inflateStrokeRect const):

  • platform/adwaita/ThemeAdwaita.cpp:

(WebCore::ThemeAdwaita::paintFocus):

  • platform/graphics/GraphicsTypes.cpp:

(WebCore::operator<<):

  • platform/graphics/GraphicsTypes.h:

Additionally rename these enum values to just (Butt, Round, Square) and (Miter, Round, Bevel) for LineCap and
LineJoin, respectively.

  • platform/graphics/cairo/CairoOperations.cpp:

(WebCore::Cairo::setLineCap):
(WebCore::Cairo::setLineJoin):

  • platform/graphics/cg/GraphicsContextCG.cpp:

(WebCore::GraphicsContextCG::setLineCap):
(WebCore::GraphicsContextCG::setLineJoin):

  • platform/graphics/win/Direct2DOperations.cpp:

(WebCore::Direct2D::setLineCap):
(WebCore::Direct2D::setLineJoin):

  • rendering/RenderEmbeddedObject.cpp:

(WebCore::drawReplacementArrow):

  • rendering/TextPaintStyle.cpp:

(WebCore::updateGraphicsContext):

  • rendering/TextPaintStyle.h:
  • rendering/style/RenderStyle.h:

(WebCore::RenderStyle::setCapStyle):
(WebCore::RenderStyle::initialCapStyle):
(WebCore::RenderStyle::setJoinStyle):
(WebCore::RenderStyle::initialJoinStyle):

  • rendering/style/StyleRareInheritedData.cpp:

(WebCore::StyleRareInheritedData::StyleRareInheritedData):

  • rendering/svg/RenderSVGPath.cpp:

(WebCore::RenderSVGPath::shapeDependentStrokeContains):
(WebCore::RenderSVGPath::shouldStrokeZeroLengthSubpath const):
(WebCore::RenderSVGPath::zeroLengthLinecapPath const):

  • rendering/svg/SVGRenderSupport.cpp:

(WebCore::SVGRenderSupport::applyStrokeStyleToContext):

  • rendering/svg/SVGRenderTreeAsText.cpp:

(WebCore::writeStyle):

9:30 PM Changeset in webkit [282919] by Russell Epstein
  • 2 edits in branches/safari-612-branch/Source/WebCore

Cherry-pick r282822. rdar://problem/83429958

[iOS] Disable default system gesture on extended gamepad
https://bugs.webkit.org/show_bug.cgi?id=230297
<rdar://65610651>

Reviewed by Brady Eidson.

Prevent default system behavior for some game pad gestures.
Not testable on bots.

  • platform/gamepad/cocoa/GameControllerGamepad.mm: (WebCore::GameControllerGamepad::setupAsExtendedGamepad):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@282822 268f45cc-cd09-0410-ab3c-d52691b4dbfc

9:30 PM Changeset in webkit [282918] by Russell Epstein
  • 9 edits in branches/safari-612-branch/Source/WebKit

Cherry-pick r282803. rdar://problem/83429994

Ensure that capture attribution works even for URLS without hostnames
https://bugs.webkit.org/show_bug.cgi?id=230479
<rdar://81832853>

Reviewed by Eric Carlson.

Some URLs allow to call getUserMedia but do not have origins, like custom scheme URLs.
In that case, the attribution status call was failing previously as we were not able to get a visible name to provide.
We mimick what we are doing for the default prompt by using the visible application name if the origin is not available.
Since we do the system attribution in GPUProcess, we now send the visible name to GPUProcess when creating it.

Manually tested.
We do not have system status attributon on MacOS or simulator so we cannot test it automatically.

  • GPUProcess/GPUProcess.cpp: (WebKit::GPUProcess::initializeGPUProcess):
  • GPUProcess/GPUProcess.h: (WebKit::GPUProcess::applicationVisibleName const):
  • GPUProcess/GPUProcessCreationParameters.cpp: (WebKit::GPUProcessCreationParameters::encode const): (WebKit::GPUProcessCreationParameters::decode):
  • GPUProcess/GPUProcessCreationParameters.h:
  • GPUProcess/cocoa/GPUConnectionToWebProcessCocoa.mm: (WebKit::GPUConnectionToWebProcess::setCaptureAttributionString):
  • UIProcess/Cocoa/GPUProcessProxyCocoa.mm: (WebKit::GPUProcessProxy::platformInitializeGPUProcessParameters):
  • UIProcess/Cocoa/MediaPermissionUtilities.mm: (WebKit::applicationVisibleNameFromOrigin): (WebKit::applicationVisibleName): (WebKit::alertMessageText):
  • UIProcess/MediaPermissionUtilities.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@282803 268f45cc-cd09-0410-ab3c-d52691b4dbfc

9:30 PM Changeset in webkit [282917] by Russell Epstein
  • 17 edits in branches/safari-612-branch/Source/JavaScriptCore

Cherry-pick r282621. rdar://problem/83183656

Move some profiling to UnlinkedCodeBlock
https://bugs.webkit.org/show_bug.cgi?id=230078
<rdar://problem/82947571>

Reviewed by Yusuke Suzuki.

This patch adds UnlinkedValueProfile and UnlinkedArrayProfile to
UnlinkedCodeBlock. These profiles serialize the data in ValueProfile
and ArrayProfile. Each time a CodeBlock updates value profiles,
it mixes in up to date information from the unlinked profiles, and
also writes back data to the unlinked profiles, so the data is shared
between CodeBlocks of the same UnlinkedCodeBlock.

This patch also fixes a pre-existing bug where we would sometimes think
we had more metadata table entries than we really had in practice. This is
because MetadataTable::forEach used the next opcode's start pointer. That
pointer was aligned to that opcode's metadata alignment. So that might make
the previous opcode think it had an extra 1-7 entries (depending on size,
alignment, etc). This patch fixes that by having the next opcode's start
offset in the table always be the end offset of the previous opcode, and we
align the start pointer when using it.

This was measured as a ~0.5% speedup on Speedometer2.

  • bytecode/ArrayProfile.h: (JSC::UnlinkedArrayProfile::update):
  • bytecode/CodeBlock.cpp: (JSC::CodeBlock::finishCreation): (JSC::CodeBlock::updateAllValueProfilePredictionsAndCountLiveness): (JSC::CodeBlock::updateAllArrayProfilePredictions): (JSC::CodeBlock::updateAllArrayPredictions):
  • bytecode/CodeBlock.h: (JSC::CodeBlock::metadata):
  • bytecode/CodeBlockInlines.h: (JSC::CodeBlock::forEachArrayProfile): Deleted.
  • bytecode/MetadataTable.cpp: (JSC::DeallocTable::withOpcodeType):
  • bytecode/MetadataTable.h: (JSC::MetadataTable::get): (JSC::MetadataTable::forEach): (JSC::MetadataTable::getWithoutAligning): (JSC::MetadataTable::getImpl): Deleted.
  • bytecode/UnlinkedCodeBlock.cpp: (JSC::UnlinkedCodeBlock::allocateSharedProfiles):
  • bytecode/UnlinkedCodeBlock.h: (JSC::UnlinkedCodeBlock::unlinkedValueProfile): (JSC::UnlinkedCodeBlock::unlinkedArrayProfile):
  • bytecode/UnlinkedCodeBlockGenerator.cpp: (JSC::UnlinkedCodeBlockGenerator::finalize):
  • bytecode/UnlinkedMetadataTable.cpp: (JSC::UnlinkedMetadataTable::finalize):
  • bytecode/UnlinkedMetadataTable.h: (JSC::UnlinkedMetadataTable::isFinalized): (JSC::UnlinkedMetadataTable::hasMetadata):
  • bytecode/UnlinkedMetadataTableInlines.h: (JSC::UnlinkedMetadataTable::numEntries):
  • bytecode/ValueProfile.h: (JSC::UnlinkedValueProfile::update):
  • bytecompiler/BytecodeGenerator.h:
  • llint/LowLevelInterpreter.asm:
  • runtime/CachedTypes.cpp: (JSC::CachedCodeBlock::numValueProfiles const): (JSC::CachedCodeBlock::numArrayProfiles const): (JSC::UnlinkedCodeBlock::UnlinkedCodeBlock): (JSC::CachedCodeBlock<CodeBlockType>::encode):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@282621 268f45cc-cd09-0410-ab3c-d52691b4dbfc

9:30 PM Changeset in webkit [282916] by Russell Epstein
  • 176 edits
    8 copies
    4 moves
    4 adds
    33 deletes in branches/safari-612-branch/Source/bmalloc

Cherry-pick r282556. rdar://problem/83430136

[libpas] Update to 38b9b0b92ccc9628627c742523de6200acc08211 and fully enable on AS
https://bugs.webkit.org/show_bug.cgi?id=230124

Reviewed by Yusuke Suzuki.

This updates libpas to the latest version and enables it completely on AS (not just for
jit_heap as before).

The main changes are:

  • Replace biasing and magazines with per-thread view caches. A view cache is a bounded-size queue of exclusive_views (i.e. pages) that is local to a thread. Each thread has a view cache for every segregated_size_directory that it talks to and that has view caching enabled. The size directories can control view cache size somewhat dynamically (different directories can have different size view caches). Views get enqueued when a thread frees the first object in the page. Views get dequeued whenever a thread would have asked the directory for a view but the view cache was non-empty.

This change increases the efficiency of local_allocator_refill, since pages have a longer
time to "cook" before anyone allocates from them (since the view cache is a queue). As
well, view caches' thread-locality means that there is no locking or contention when
accessing them. The scavenger has clever tricks for clearing out view caches, similarly to
how it clears out local allocators (it uses thread_suspend).

  • Fix hash collisions in the page header table. Previously, I was using an unacceptably trivial hash function and it _sometimes_ caused perf pathologies.
  • Get rid of intrinsic_allocation_result, since this was annoyingly redundant with allocation_result.
  • Refactor some allocation fast paths so that they have fewer callee-saves.
  • Make scavenging a whole lot more precise. Scavenging is now based on time since when a page become empty. If enough time passes (currently 300ms) then such a page is decommitted. Previously the heuristic was not nearly so clear. This improves memory usage without really hurting performance (it shifts the time-memory curve closer to the origin, and this also changes tuning parameters so that it's a slight speed-up and a slight memory improvement, but it could have been a bigger memory improvement with no speed-up, or an even bigger memory improvement with a slow-down).
  • Make the gigacage work more like bmalloc's; in particular, this makes large free objects reusable for small/medium/marge objects. This fixes LayoutTests/storage/indexeddb/IDBKey-create-array-buffer-view-oom.html.
  • Modify libpas.xcodeproj to have more warnings and fix those warnings. This includes fixes to warnings that WebKit doesn't compile with and some of those fixes smelled like they could possibly fix real issues or prevent them by making the code much more clear (especially about numerical types and when they are converted).
  • Add better libpas tests for gigacage and for large allocations in general. This caught some issues. They were the kinds of issues that probably would not have affected WebKit, but I fixed them anyway.

1.3% faster on Speedometer2. Neutral on JetStream2. 3.7% less memory on RAMification. Last
I tested it, it was a big win on PLUM and membuster as well.

  • bmalloc.xcodeproj/project.pbxproj:
  • bmalloc/BPlatform.h:
  • libpas/export.sh: Added.
  • libpas/libpas.xcodeproj/project.pbxproj:
  • libpas/src/libpas/bmalloc_heap.c: (bmalloc_allocate_slow):
  • libpas/src/libpas/bmalloc_heap_config.c:
  • libpas/src/libpas/bmalloc_heap_config.h:
  • libpas/src/libpas/bmalloc_heap_inlines.h: (bmalloc_try_allocate_inline): (bmalloc_try_allocate_with_alignment_inline): (bmalloc_try_allocate_zeroed_inline): (bmalloc_allocate_inline): (bmalloc_allocate_with_alignment_inline): (bmalloc_allocate_zeroed_inline): (bmalloc_try_reallocate_inline): (bmalloc_reallocate_inline): (bmalloc_try_allocate_auxiliary_inline): (bmalloc_allocate_auxiliary_inline): (bmalloc_try_allocate_auxiliary_zeroed_inline): (bmalloc_allocate_auxiliary_zeroed_inline): (bmalloc_try_allocate_auxiliary_with_alignment_inline): (bmalloc_allocate_auxiliary_with_alignment_inline): (bmalloc_try_reallocate_auxiliary_inline): (bmalloc_reallocate_auxiliary_inline):
  • libpas/src/libpas/hotbit_heap_config.c:
  • libpas/src/libpas/hotbit_heap_config.h:
  • libpas/src/libpas/hotbit_heap_inlines.h: (hotbit_try_allocate_inline): (hotbit_try_allocate_with_alignment_inline): (hotbit_try_reallocate_inline):
  • libpas/src/libpas/iso_heap_config.c:
  • libpas/src/libpas/iso_heap_config.h:
  • libpas/src/libpas/iso_heap_inlines.h: (iso_try_allocate_common_primitive_inline): (iso_try_allocate_common_primitive_with_alignment_inline): (iso_try_allocate_common_primitive_zeroed_inline): (iso_allocate_common_primitive_inline): (iso_allocate_common_primitive_with_alignment_inline): (iso_allocate_common_primitive_zeroed_inline): (iso_try_reallocate_common_primitive_inline): (iso_reallocate_common_primitive_inline): (iso_try_allocate_primitive_inline): (iso_allocate_primitive_inline): (iso_try_allocate_primitive_zeroed_inline): (iso_allocate_primitive_zeroed_inline): (iso_try_allocate_primitive_with_alignment_inline): (iso_allocate_primitive_with_alignment_inline): (iso_try_reallocate_primitive_inline): (iso_reallocate_primitive_inline): (iso_try_allocate_for_objc_inline):
  • libpas/src/libpas/iso_test_heap.c: (iso_test_allocate_common_primitive):
  • libpas/src/libpas/iso_test_heap_config.c:
  • libpas/src/libpas/iso_test_heap_config.h:
  • libpas/src/libpas/jit_heap.c: (jit_heap_try_allocate):
  • libpas/src/libpas/jit_heap_config.c:
  • libpas/src/libpas/minalign32_heap.c: (minalign32_allocate_common_primitive):
  • libpas/src/libpas/minalign32_heap_config.c:
  • libpas/src/libpas/minalign32_heap_config.h:
  • libpas/src/libpas/pagesize64k_heap.c: (pagesize64k_allocate_common_primitive):
  • libpas/src/libpas/pagesize64k_heap_config.c:
  • libpas/src/libpas/pagesize64k_heap_config.h:
  • libpas/src/libpas/pas_all_biasing_directories.c: Removed.
  • libpas/src/libpas/pas_all_biasing_directories.h: Removed.
  • libpas/src/libpas/pas_all_heaps.c: (for_each_segregated_directory_size_directory_callback): (for_each_segregated_directory_segregated_heap_callback): (dump_directory_nicely): (compute_total_non_utility_segregated_summary_directory_callback): (for_each_segregated_directory_global_size_directory_callback): Deleted.
  • libpas/src/libpas/pas_all_magazines.c: Removed.
  • libpas/src/libpas/pas_all_magazines.h: Removed.
  • libpas/src/libpas/pas_allocation_result.c: Removed.
  • libpas/src/libpas/pas_allocation_result.h: (pas_allocation_result_identity): (pas_allocation_result_zero): (pas_allocation_result_set_errno): (pas_allocation_result_crash_on_error):
  • libpas/src/libpas/pas_baseline_allocator.c: (pas_baseline_allocator_attach_directory): (pas_baseline_allocator_detach_directory):
  • libpas/src/libpas/pas_baseline_allocator.h:
  • libpas/src/libpas/pas_biasing_directory.c: Removed.
  • libpas/src/libpas/pas_biasing_directory.h: Removed.
  • libpas/src/libpas/pas_biasing_directory_inlines.h: Removed.
  • libpas/src/libpas/pas_bitfit_allocator.c: (pas_bitfit_allocator_commit_view): (pas_bitfit_allocator_finish_failing):
  • libpas/src/libpas/pas_bitfit_allocator.h:
  • libpas/src/libpas/pas_bitfit_allocator_inlines.h: (pas_bitfit_allocator_reset): (pas_bitfit_allocator_assert_reset): (pas_bitfit_allocator_try_allocate):
  • libpas/src/libpas/pas_bitfit_biasing_directory.c: Removed.
  • libpas/src/libpas/pas_bitfit_biasing_directory.h: Removed.
  • libpas/src/libpas/pas_bitfit_directory.c: (pas_bitfit_directory_construct): (pas_bitfit_directory_max_free_did_become_unprocessed): (pas_bitfit_directory_max_free_did_become_unprocessed_unchecked): (pas_bitfit_directory_max_free_did_become_empty): (pas_bitfit_directory_get_first_free_view): (pas_bitfit_directory_does_sharing): (pas_bitfit_directory_get_use_epoch): (pas_bitfit_directory_get_empty_bit_at_index): (pas_bitfit_directory_set_empty_bit_at_index): (pas_bitfit_directory_view_did_become_empty_at_index): (pas_bitfit_directory_view_did_become_empty): (pas_bitfit_directory_take_last_empty): (pas_bitfit_directory_dump_reference): (pas_bitfit_directory_dump_for_spectrum): (pas_bitfit_directory_update_biasing_eligibility): Deleted. (pas_bitfit_directory_max_free_did_become_empty_without_biasing_update): Deleted.
  • libpas/src/libpas/pas_bitfit_directory.h:
  • libpas/src/libpas/pas_bitfit_directory_and_index.h: Removed.
  • libpas/src/libpas/pas_bitfit_directory_inlines.h: (pas_bitfit_directory_get_global): Deleted.
  • libpas/src/libpas/pas_bitfit_directory_kind.h: Removed.
  • libpas/src/libpas/pas_bitfit_global_directory.c: Removed.
  • libpas/src/libpas/pas_bitfit_global_directory.h: Removed.
  • libpas/src/libpas/pas_bitfit_global_size_class.c: Removed.
  • libpas/src/libpas/pas_bitfit_global_size_class.h: Removed.
  • libpas/src/libpas/pas_bitfit_heap.c: (pas_bitfit_heap_create): (pas_bitfit_heap_ensure_size_class): (pas_bitfit_heap_compute_summary): (pas_bitfit_heap_for_each_live_object): (pas_bitfit_heap_ensure_global_size_class): Deleted.
  • libpas/src/libpas/pas_bitfit_heap.h: (pas_bitfit_heap_get_directory):
  • libpas/src/libpas/pas_bitfit_page.c: (pas_bitfit_page_get_config): (pas_bitfit_page_for_each_live_object):
  • libpas/src/libpas/pas_bitfit_page_config.h: (pas_bitfit_page_config_uses_subpages): Deleted.
  • libpas/src/libpas/pas_bitfit_page_inlines.h: (pas_bitfit_page_deallocate_with_page_impl):
  • libpas/src/libpas/pas_bitfit_size_class.c: (pas_bitfit_size_class_create): (pas_bitfit_size_class_get_first_free_view):
  • libpas/src/libpas/pas_bitfit_size_class.h:
  • libpas/src/libpas/pas_bitfit_view.c: (pas_bitfit_view_create): (pas_bitfit_view_note_nonemptiness): (did_become_empty_for_bits): (pas_bitfit_view_note_full_emptiness): (pas_bitfit_view_note_max_free): (compute_summary): (for_each_live_object): (pas_bitfit_view_lock_ownership_lock_slow): Deleted.
  • libpas/src/libpas/pas_bitfit_view.h: (pas_bitfit_view_lock_ownership_lock): Deleted.
  • libpas/src/libpas/pas_bitfit_view_inlines.h: (pas_bitfit_view_current_directory_and_index): Deleted. (pas_bitfit_view_current_directory): Deleted. (pas_bitfit_view_index_in_current): Deleted.
  • libpas/src/libpas/pas_compact_atomic_bitfit_global_size_class_ptr.h:
  • libpas/src/libpas/pas_compact_atomic_segregated_global_size_directory_ptr.h: Removed.
  • libpas/src/libpas/pas_compact_atomic_segregated_size_directory_ptr.h: Added.
  • libpas/src/libpas/pas_compact_segregated_exclusive_view_ptr.h: Added.
  • libpas/src/libpas/pas_compact_segregated_global_size_directory_ptr.h: Removed.
  • libpas/src/libpas/pas_compact_segregated_size_directory_ptr.h: Added.
  • libpas/src/libpas/pas_compact_subpage_map_entry_ptr.h: Removed.
  • libpas/src/libpas/pas_deallocate.c: (deallocate_segregated):
  • libpas/src/libpas/pas_deallocator_scavenge_action.h: (pas_deallocator_scavenge_action_get_string):
  • libpas/src/libpas/pas_designated_intrinsic_heap.c: (set_up_range): (pas_designated_intrinsic_heap_initialize):
  • libpas/src/libpas/pas_designated_intrinsic_heap_inlines.h: (pas_designated_intrinsic_heap_num_allocator_indices): (pas_designated_intrinsic_heap_num_designated_indices_for_small_config): (pas_designated_intrinsic_heap_designated_index_for_small_config): (pas_designated_intrinsic_heap_num_designated_indices): (pas_designated_intrinsic_heap_designated_index):
  • libpas/src/libpas/pas_enumerate_bitfit_heaps.c: (view_callback): (enumerate_bitfit_directory):
  • libpas/src/libpas/pas_enumerate_segregated_heaps.c: (record_page_objects): (enumerate_exclusive_view): (enumerate_partial_view): (enumerate_segregated_heap_callback): (pas_enumerate_segregated_heaps):
  • libpas/src/libpas/pas_exclusive_view_template_memo_table.h:
  • libpas/src/libpas/pas_full_alloc_bits_inlines.h: (pas_full_alloc_bits_create_for_exclusive): (pas_full_alloc_bits_create_for_view_and_directory): (pas_full_alloc_bits_create_for_view):
  • libpas/src/libpas/pas_get_heap.h: (pas_get_heap):
  • libpas/src/libpas/pas_heap.c: (pas_heap_ensure_size_directory_for_count_slow):
  • libpas/src/libpas/pas_heap.h:
  • libpas/src/libpas/pas_heap_config.h:
  • libpas/src/libpas/pas_heap_config_inlines.h:
  • libpas/src/libpas/pas_heap_config_utils.h:
  • libpas/src/libpas/pas_heap_config_utils_inlines.h:
  • libpas/src/libpas/pas_heap_inlines.h: (pas_heap_ensure_size_directory_for_count):
  • libpas/src/libpas/pas_heap_runtime_config.c: Added. (pas_heap_runtime_config_view_cache_capacity_for_object_size): (pas_heap_runtime_config_zero_view_cache_capacity): (pas_heap_runtime_config_aggressive_view_cache_capacity):
  • libpas/src/libpas/pas_heap_runtime_config.h:
  • libpas/src/libpas/pas_internal_config.h:
  • libpas/src/libpas/pas_intrinsic_allocation_result.h: Removed.
  • libpas/src/libpas/pas_intrinsic_heap_support.h:
  • libpas/src/libpas/pas_large_heap_physical_page_sharing_cache.c: (large_aligned_allocator):
  • libpas/src/libpas/pas_local_allocator.c: (pas_local_allocator_construct): (pas_local_allocator_reset): (pas_local_allocator_move): (pas_local_allocator_finish_refill_with_bitfit): (stop_impl): (pas_local_allocator_stop): (pas_local_allocator_scavenge): (pas_local_allocator_destruct): Deleted.
  • libpas/src/libpas/pas_local_allocator.h:
  • libpas/src/libpas/pas_local_allocator_inlines.h: (pas_local_allocator_reset_impl): (pas_local_allocator_set_up_bump): (pas_local_allocator_scan_bits_to_set_up_free_bits): (pas_local_allocator_set_up_free_bits): (pas_local_allocator_prepare_to_allocate): (pas_local_allocator_start_allocating_in_primordial_partial_view): (pas_local_allocator_refill_with_known_config): (pas_local_allocator_return_memory_to_page_set_bit_callback): (pas_local_allocator_return_memory_to_page): (pas_local_allocator_try_allocate_with_free_bits): (pas_local_allocator_try_allocate_inline_cases): (pas_local_allocator_try_allocate_small_segregated_slow): (pas_local_allocator_try_allocate_slow): (pas_local_allocator_try_allocate_inline_only): (pas_local_allocator_try_allocate):
  • libpas/src/libpas/pas_local_allocator_kind.h: Added. (pas_local_allocator_kind_get_string):
  • libpas/src/libpas/pas_local_allocator_line.h: Removed.
  • libpas/src/libpas/pas_local_allocator_result.h: (pas_local_allocator_result_create_success):
  • libpas/src/libpas/pas_local_allocator_scavenger_data.c: Added. (pas_local_allocator_scavenger_data_is_active): (pas_local_allocator_scavenger_data_stop):
  • libpas/src/libpas/pas_local_allocator_scavenger_data.h: Added. (pas_local_allocator_scavenger_data_construct): (pas_local_allocator_scavenger_data_did_use_for_allocation):
  • libpas/src/libpas/pas_local_view_cache.c: Added. (pas_local_view_cache_construct): (pas_local_view_cache_move): (stop_impl): (pas_local_view_cache_stop):
  • libpas/src/libpas/pas_local_view_cache.h: Added. (pas_local_view_cache_is_empty): (pas_local_view_cache_pop): (pas_local_view_cache_is_full): (pas_local_view_cache_push):
  • libpas/src/libpas/pas_local_view_cache_node.c: Added. (pas_local_view_cache_node_create):
  • libpas/src/libpas/pas_local_view_cache_node.h: Added.
  • libpas/src/libpas/pas_lock_free_read_ptr_ptr_hashtable.c:
  • libpas/src/libpas/pas_lock_free_read_ptr_ptr_hashtable.h: (pas_lock_free_read_ptr_ptr_hashtable_find):
  • libpas/src/libpas/pas_magazine.c: Removed.
  • libpas/src/libpas/pas_magazine.h: Removed.
  • libpas/src/libpas/pas_page_base_config_utils.h:
  • libpas/src/libpas/pas_page_header_table.h: (pas_page_header_table_hash):
  • libpas/src/libpas/pas_page_sharing_participant.c: (pas_page_sharing_participant_get_payload): (pas_page_sharing_participant_get_use_epoch): (pas_page_sharing_participant_get_parent_pool): (pas_page_sharing_participant_is_eligible): (pas_page_sharing_participant_take_least_recently_used):
  • libpas/src/libpas/pas_page_sharing_participant.h:
  • libpas/src/libpas/pas_page_sharing_participant_kind.h: (pas_page_sharing_participant_kind_select_for_segregated_directory): (pas_page_sharing_participant_kind_get_string):
  • libpas/src/libpas/pas_page_sharing_pool.c: (pas_physical_page_sharing_pool_scavenge): (pas_bias_page_sharing_pool_take): Deleted.
  • libpas/src/libpas/pas_page_sharing_pool.h:
  • libpas/src/libpas/pas_page_sharing_pool_scavenge_result.h: Added. (pas_page_sharing_pool_scavenge_result_create):
  • libpas/src/libpas/pas_redundant_local_allocator_node.c: (pas_redundant_local_allocator_node_create):
  • libpas/src/libpas/pas_redundant_local_allocator_node.h:
  • libpas/src/libpas/pas_scavenger.c: (scavenger_thread_main): (pas_scavenger_clear_all_caches_except_remote_tlcs): (pas_scavenger_decommit_free_memory):
  • libpas/src/libpas/pas_scavenger.h:
  • libpas/src/libpas/pas_segregated_biasing_directory.c: Removed.
  • libpas/src/libpas/pas_segregated_biasing_directory.h: Removed.
  • libpas/src/libpas/pas_segregated_biasing_view.c: Removed.
  • libpas/src/libpas/pas_segregated_biasing_view.h: Removed.
  • libpas/src/libpas/pas_segregated_deallocation_mode.h: Added. (pas_segregated_deallocation_mode_get_string):
  • libpas/src/libpas/pas_segregated_directory.c: (pas_segregated_directory_get_data_slow): (pas_segregated_directory_minimize_first_eligible): (pas_segregated_directory_update_first_eligible_after_search): (pas_segregated_directory_view_did_become_eligible_at_index): (pas_segregated_directory_append): (pas_segregated_directory_view_did_become_eligible_at_index_without_biasing_update): Deleted. (pas_segregated_directory_view_did_become_eligible_without_biasing_update): Deleted.
  • libpas/src/libpas/pas_segregated_directory.h: (pas_segregated_directory_spoof_inline_segment): (pas_segregated_directory_get_first_eligible_impl): (pas_segregated_directory_get_first_eligible): (pas_segregated_directory_get_first_eligible_torn): (pas_segregated_directory_watch_first_eligible): (pas_segregated_directory_data_get_first_eligible_ptr): Deleted. (pas_segregated_directory_is_tabled): Deleted.
  • libpas/src/libpas/pas_segregated_directory_bit_reference.h:
  • libpas/src/libpas/pas_segregated_directory_inlines.h: (pas_segregated_directory_iterate_forward_to_take_first_eligible):
  • libpas/src/libpas/pas_segregated_directory_kind.h: (pas_segregated_directory_kind_get_string):
  • libpas/src/libpas/pas_segregated_exclusive_view.c: (pas_segregated_exclusive_view_create): (pas_segregated_exclusive_view_note_emptiness): (compute_summary_impl): (pas_segregated_exclusive_view_compute_summary): (pas_segregated_exclusive_view_install_full_use_counts): (pas_segregated_exclusive_view_is_eligible): (pas_segregated_exclusive_view_is_empty): (pas_segregated_exclusive_view_should_table): Deleted. (pas_segregated_exclusive_ish_view_note_eligibility_impl): Deleted. (pas_segregated_exclusive_view_note_eligibility): Deleted. (pas_segregated_exclusive_ish_view_compute_summary_impl): Deleted.
  • libpas/src/libpas/pas_segregated_exclusive_view.h:
  • libpas/src/libpas/pas_segregated_exclusive_view_inlines.h: (pas_segregated_exclusive_view_did_start_allocating): (pas_segregated_exclusive_view_did_stop_allocating): (pas_segregated_exclusive_view_note_eligibility): (pas_segregated_exclusive_ish_view_did_start_allocating): Deleted.
  • libpas/src/libpas/pas_segregated_exclusive_view_ownership_kind.h: Removed.
  • libpas/src/libpas/pas_segregated_global_size_directory.c: Removed.
  • libpas/src/libpas/pas_segregated_global_size_directory.h: Removed.
  • libpas/src/libpas/pas_segregated_global_size_directory_inlines.h: Removed.
  • libpas/src/libpas/pas_segregated_heap.c: (pas_segregated_heap_construct): (pas_segregated_heap_medium_size_directory_for_index): (ensure_count_lookup): (pas_segregated_heap_ensure_allocator_index): (pas_segregated_heap_ensure_size_directory_for_count): (pas_segregated_heap_for_each_size_directory): (for_each_committed_size_directory_callback): (pas_segregated_heap_for_each_committed_view): (for_each_view_index_directory_callback): (pas_segregated_heap_for_each_view_index): (for_each_live_object_object_callback): (for_each_live_object_directory_callback): (pas_segregated_heap_for_each_live_object): (num_committed_views_directory_callback): (pas_segregated_heap_num_committed_views): (num_empty_views_directory_callback): (pas_segregated_heap_num_empty_views): (num_empty_granules_directory_callback): (pas_segregated_heap_num_empty_granules): (num_views_directory_callback): (pas_segregated_heap_num_views): (compute_summary_directory_callback): (pas_segregated_heap_compute_summary): (pas_segregated_heap_for_each_global_size_directory): Deleted.
  • libpas/src/libpas/pas_segregated_heap.h:
  • libpas/src/libpas/pas_segregated_heap_inlines.h: (pas_segregated_heap_size_directory_for_index):
  • libpas/src/libpas/pas_segregated_page.c: (pas_segregated_page_switch_lock_and_rebias_while_ineligible_impl): (pas_segregated_page_construct): (pas_segregated_page_commit_fully): (pas_segregated_page_switch_lock_and_rebias_to_magazine_while_ineligible_impl): Deleted.
  • libpas/src/libpas/pas_segregated_page.h: (pas_segregated_page_qualifies_for_decommit):
  • libpas/src/libpas/pas_segregated_page_config.h:
  • libpas/src/libpas/pas_segregated_page_config_inlines.h:
  • libpas/src/libpas/pas_segregated_page_config_utils.h:
  • libpas/src/libpas/pas_segregated_page_config_utils_inlines.h:
  • libpas/src/libpas/pas_segregated_page_inlines.h: (pas_segregated_page_offset_from_page_boundary_to_first_object): (pas_segregated_page_initialize_full_use_counts): (pas_segregated_page_switch_lock_impl): (pas_segregated_page_switch_lock_with_mode): (pas_segregated_page_switch_lock_and_rebias_while_ineligible): (pas_segregated_page_deallocate_with_page): (pas_segregated_page_deallocate): (pas_segregated_page_get_directory_for_address_in_page): (pas_segregated_page_get_object_size_for_address_in_page): (pas_segregated_page_switch_lock_and_rebias_to_magazine_while_ineligible): Deleted. (pas_segregated_page_qualifies_for_decommit): Deleted.
  • libpas/src/libpas/pas_segregated_partial_view.c: (pas_segregated_partial_view_create): (pas_segregated_partial_view_note_eligibility): (compute_summary): (pas_segregated_partial_view_is_eligible):
  • libpas/src/libpas/pas_segregated_partial_view.h:
  • libpas/src/libpas/pas_segregated_shared_page_directory.c: (pas_segregated_shared_page_directory_find_first_eligible): (take_last_empty_consider_view):
  • libpas/src/libpas/pas_segregated_shared_page_directory.h:
  • libpas/src/libpas/pas_segregated_size_directory.c: (pas_segregated_size_directory_create): (pas_segregated_size_directory_finish_creation): (pas_segregated_size_directory_ensure_data): (pas_segregated_size_directory_get_extended_data): (pas_segregated_size_directory_create_tlc_allocator): (pas_segregated_size_directory_create_tlc_view_cache): (pas_segregated_size_directory_enable_exclusive_views): (pas_segregated_size_directory_select_allocator_slow): (take_first_eligible_direct_create_new_view_callback): (pas_segregated_size_directory_take_first_eligible): (take_last_empty_should_consider_view_parallel): (take_last_empty_consider_view): (pas_segregated_size_directory_take_last_empty): (pas_segregated_size_directory_for_object): (pas_segregated_size_directory_get_allocator_from_tlc): (pas_segregated_size_directory_compute_summary_for_unowned_exclusive): (for_each_live_object_object_callback): (pas_segregated_size_directory_for_each_live_object): (pas_segregated_size_directory_view_cache_capacity): (pas_segregated_size_directory_local_allocator_size): (pas_segregated_size_directory_num_allocator_indices): (pas_segregated_size_directory_dump_reference): (pas_segregated_size_directory_dump_for_spectrum): (pas_segregated_size_directory_construct): Deleted.
  • libpas/src/libpas/pas_segregated_size_directory.h: (pas_segregated_size_directory_as_view): (pas_segregated_size_directory_alignment): (pas_segregated_size_directory_did_try_to_create_view_cache): (pas_segregated_size_directory_set_did_try_to_create_view_cache): (pas_segregated_size_directory_has_tlc_allocator): (pas_segregated_size_directory_are_exclusive_views_enabled):
  • libpas/src/libpas/pas_segregated_size_directory_creation_mode.h: Added. (pas_segregated_size_directory_creation_mode_get_string):
  • libpas/src/libpas/pas_segregated_size_directory_inlines.h: (pas_segregated_size_directory_select_allocator): (pas_segregated_size_directory_local_allocator_size_for_null_config): (pas_segregated_size_directory_local_allocator_size_for_config): (pas_segregated_size_directory_num_allocator_indices_for_allocator_size): (pas_segregated_size_directory_num_allocator_indices_for_config): (pas_segregated_size_directory_take_first_eligible_impl_should_consider_view_parallel): (pas_segregated_size_directory_take_first_eligible_impl): (pas_segregated_size_directory_take_first_eligible_impl_should_consider_view_not_tabled_parallel): Deleted. (pas_segregated_size_directory_take_first_eligible_impl_should_consider_view_tabled_parallel): Deleted. (pas_segregated_size_directory_get_global): Deleted.
  • libpas/src/libpas/pas_segregated_view.c: (pas_segregated_view_get_size_directory_slow): (pas_segregated_view_get_page_config_kind): (pas_segregated_view_get_index): (pas_segregated_view_get_page_boundary): (pas_segregated_view_get_commit_lock): (pas_segregated_view_get_ownership_lock): (pas_segregated_view_is_owned): (pas_segregated_view_lock_ownership_lock): (pas_segregated_view_lock_ownership_lock_conditionally): (pas_segregated_view_lock_ownership_lock_if_owned_conditionally): (pas_segregated_view_note_emptiness): (for_each_live_object): (pas_segregated_view_for_each_live_object): (should_be_eligible): (pas_segregated_view_should_be_eligible): (pas_segregated_view_for_object): (pas_segregated_view_compute_summary): (pas_segregated_view_is_eligible): (pas_segregated_view_is_empty): (pas_segregated_view_get_global_size_directory_slow): Deleted. (pas_segregated_view_should_restart): Deleted. (pas_segregated_view_could_bump): Deleted. (pas_segregated_view_should_table): Deleted. (pas_segregated_view_is_biased_exclusive): Deleted. (pas_segregated_view_note_eligibility): Deleted. (pas_segregated_view_is_eligible_or_biased): Deleted. (pas_segregated_view_is_empty_or_biased): Deleted.
  • libpas/src/libpas/pas_segregated_view.h: (pas_segregated_view_is_some_exclusive): (pas_segregated_view_as_ineligible): (pas_segregated_view_as_eligible): (pas_segregated_view_get_exclusive): (pas_segregated_view_is_size_directory): (pas_segregated_view_get_size_directory): (pas_segregated_view_is_exclusive_ish): Deleted. (pas_segregated_view_is_biasing): Deleted. (pas_segregated_view_is_ineligible_biasing): Deleted. (pas_segregated_view_is_some_biasing): Deleted. (pas_segregated_view_get_biasing): Deleted. (pas_segregated_view_is_eligible_kind): Deleted. (pas_segregated_view_is_ineligible_kind): Deleted. (pas_segregated_view_is_global_size_directory): Deleted. (pas_segregated_view_get_global_size_directory): Deleted.
  • libpas/src/libpas/pas_segregated_view_allocator_inlines.h: (pas_segregated_view_will_start_allocating): (pas_segregated_view_did_stop_allocating):
  • libpas/src/libpas/pas_segregated_view_inlines.h: Removed.
  • libpas/src/libpas/pas_segregated_view_kind.h: (pas_segregated_view_kind_get_character_code): (pas_segregated_view_kind_get_string): (pas_segregated_view_kind_is_some_exclusive): (pas_segregated_view_kind_can_become_empty): (pas_segregated_view_kind_is_eligible): Deleted. (pas_segregated_view_kind_is_exclusive_ish): Deleted. (pas_segregated_view_kind_is_ineligible): Deleted.
  • libpas/src/libpas/pas_status_reporter.c: (report_bitfit_directory_contents): (pas_status_reporter_dump_bitfit_directory): (report_segregated_directory_contents): (pas_status_reporter_dump_segregated_size_directory): (dump_segregated_heap_directory_callback): (pas_status_reporter_dump_bitfit_heap): (pas_status_reporter_dump_segregated_heap): (total_fragmentation_size_directory_callback): (total_fragmentation_heap_callback): (pas_status_reporter_dump_total_fragmentation): (tier_up_rate_size_directory_callback): (tier_up_rate_heap_callback): (pas_status_reporter_dump_baseline_allocators): (pas_status_reporter_dump_thread_local_caches): (pas_status_reporter_dump_bitfit_biasing_directory): Deleted. (pas_status_reporter_dump_bitfit_global_directory): Deleted. (pas_status_reporter_dump_segregated_biasing_directory): Deleted. (pas_status_reporter_dump_segregated_global_size_directory): Deleted. (total_fragmentation_global_size_directory_callback): Deleted. (tier_up_rate_global_size_directory_callback): Deleted.
  • libpas/src/libpas/pas_status_reporter.h:
  • libpas/src/libpas/pas_subpage_map.c: Removed.
  • libpas/src/libpas/pas_subpage_map.h: Removed.
  • libpas/src/libpas/pas_subpage_map_entry.c: Removed.
  • libpas/src/libpas/pas_subpage_map_entry.h: Removed.
  • libpas/src/libpas/pas_thread_local_cache.c: (deallocate): (pas_thread_local_cache_create): (pas_thread_local_cache_get_local_allocator_slow): (pas_thread_local_cache_stop_local_allocators): (stop_local_allocators_if_necessary_set_bit_callback): (process_deallocation_log_with_config): (flush_deallocation_log): (flush_deallocation_log_for_scavenger): (pas_thread_local_cache_flush_deallocation_log): (resume): (pas_thread_local_cache_for_all):
  • libpas/src/libpas/pas_thread_local_cache.h: (pas_thread_local_cache_get_local_allocator_impl): (pas_thread_local_cache_get_local_allocator):
  • libpas/src/libpas/pas_thread_local_cache_layout.c: (pas_thread_local_cache_layout_add_node): (pas_thread_local_cache_layout_add): (pas_thread_local_cache_layout_duplicate): (pas_thread_local_cache_layout_add_view_cache):
  • libpas/src/libpas/pas_thread_local_cache_layout.h:
  • libpas/src/libpas/pas_thread_local_cache_layout_node.c: (pas_thread_local_cache_layout_node_get_directory): (pas_thread_local_cache_layout_num_allocator_indices): (allocator_index_ptr): (pas_thread_local_cache_layout_node_get_allocator_index_generic): (pas_thread_local_cache_layout_node_get_allocator_index_for_allocator): (pas_thread_local_cache_layout_node_get_allocator_index_for_view_cache): (next_ptr): (pas_thread_local_cache_layout_node_set_next): (pas_thread_local_cache_layout_node_construct): (pas_thread_local_cache_layout_node_move): (pas_thread_local_cache_layout_node_stop): (pas_thread_local_cache_layout_node_get_allocator_index): Deleted.
  • libpas/src/libpas/pas_thread_local_cache_layout_node.h: (pas_thread_local_cache_layout_node_get_ptr): (pas_thread_local_cache_layout_node_get_kind): (pas_thread_local_cache_layout_node_create): (pas_wrap_segregated_size_directory): (pas_wrap_redundant_local_allocator_node): (pas_wrap_local_view_cache_node): (pas_is_wrapped_segregated_size_directory): (pas_is_wrapped_redundant_local_allocator_node): (pas_is_wrapped_local_view_cache_node): (pas_unwrap_segregated_size_directory): (pas_unwrap_redundant_local_allocator_node): (pas_unwrap_local_view_cache_node): (pas_thread_local_cache_layout_node_represents_allocator): (pas_thread_local_cache_layout_node_represents_view_cache): (pas_wrap_segregated_global_size_directory): Deleted. (pas_is_wrapped_segregated_global_size_directory): Deleted. (pas_unwrap_segregated_global_size_directory): Deleted.
  • libpas/src/libpas/pas_thread_local_cache_layout_node_kind.h: Added. (pas_thread_local_cache_layout_node_kind_get_string):
  • libpas/src/libpas/pas_thread_local_cache_node.c: (pas_thread_local_cache_node_allocate):
  • libpas/src/libpas/pas_thread_local_cache_node.h:
  • libpas/src/libpas/pas_try_allocate.h: (pas_try_allocate_impl):
  • libpas/src/libpas/pas_try_allocate_array.h: (pas_try_allocate_array_impl):
  • libpas/src/libpas/pas_try_allocate_common.h: (pas_try_allocate_common_impl_fast_inline_only): (pas_try_allocate_common_impl_fast): (pas_try_allocate_common_impl_slow): (pas_try_allocate_common_impl):
  • libpas/src/libpas/pas_try_allocate_intrinsic_primitive.h: (pas_try_allocate_intrinsic_primitive_impl_medium_slow_case): (pas_try_allocate_intrinsic_primitive_impl_inline_only): (pas_try_allocate_intrinsic_primitive_impl): Deleted.
  • libpas/src/libpas/pas_try_allocate_primitive.h: (pas_try_allocate_primitive_impl):
  • libpas/src/libpas/pas_try_reallocate.h: (pas_try_allocate_for_reallocate_and_copy): (pas_try_reallocate_table_segregated_case): (pas_try_reallocate_table_bitfit_case): (pas_try_reallocate): (pas_try_reallocate_primitive_allocate_callback):
  • libpas/src/libpas/pas_typed_allocation_result.h: (pas_typed_allocation_result_as_intrinsic_allocation_result): (pas_typed_allocation_result_create_with_intrinsic_allocation_result): (pas_typed_allocation_result_zero): (pas_typed_allocation_result_set_errno): (pas_typed_allocation_result_crash_on_error):
  • libpas/src/libpas/pas_utility_heap.c: (pas_utility_heap_deallocate):
  • libpas/src/libpas/pas_utility_heap.h:
  • libpas/src/libpas/pas_utility_heap_config.h: (pas_utility_heap_shared_page_directory_selector):
  • libpas/src/libpas/pas_utility_heap_support.h:
  • libpas/src/libpas/pas_utils.h: (pas_round_up_to_next_power_of_2):
  • libpas/src/libpas/thingy_heap.c: (thingy_try_allocate_primitive): (thingy_try_allocate_primitive_zeroed): (thingy_try_allocate_primitive_with_alignment): (thingy_try_reallocate_primitive): (thingy_utility_heap_allocate):
  • libpas/src/libpas/thingy_heap_config.c:
  • libpas/src/libpas/thingy_heap_config.h:
  • libpas/src/test/IsoHeapChaosTests.cpp: (std::testAllocationChaos): (std::addTheTests): (std::addSpotTests): (addIsoHeapChaosTests):
  • libpas/src/test/IsoHeapPageSharingTests.cpp: (std::testTakePages): (std::testTakePagesFromCorrectHeap): (std::allocateThingiesImpl): (addIsoHeapPageSharingTests):
  • libpas/src/test/IsoHeapPartialAndBaselineTests.cpp: (std::testSimplePartialAllocations): (std::testMultiplePartialsFromDifferentThreadsPerShared): (std::addScavengerDependentTests):
  • libpas/src/test/IsoHeapTablingTests.cpp: Removed.
  • libpas/src/test/RaceTests.cpp: (std::testLocalAllocatorStopRace): (std::testLocalAllocatorStopRaceAgainstScavenge):
  • libpas/src/test/TestHarness.cpp: (main): (DisableExplosion::DisableExplosion): Deleted. (ForceExplosion::ForceExplosion): Deleted. (ForceOneMagazine::ForceOneMagazine): Deleted.
  • libpas/src/test/TestHarness.h:
  • libpas/src/test/ThingyAndUtilityHeapAllocationTests.cpp: (std::sizeClassFor): (std::forEachCommittedViewAdapter): (std::verifyHeapEmpty): (std::testInternalScavengeFromCorrectDirectory): (std::testSizeClassCreationImpl): (std::testSpuriousEligibility): (std::testComplexLargeAllocationImpl): (std::addAllTests): (addThingyAndUtilityHeapAllocationTests):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@282556 268f45cc-cd09-0410-ab3c-d52691b4dbfc

9:29 PM Changeset in webkit [282915] by Russell Epstein
  • 21 edits in branches/safari-612-branch/Source

Cherry-pick r282393. rdar://problem/83429703

[Hardening] Validate IDBValue's blob paths in WebIDBServer::putOrAdd()
https://bugs.webkit.org/show_bug.cgi?id=230233
<rdar://79562514>

Reviewed by Brady Eidson.

Source/WebCore:

Rename writeBlobsToTemporaryFiles() to writeBlobsToTemporaryFilesForIndexedDB() for clarity
since it is currently only used for IndexedDB and we wouldn't want to expand usage to
other things.

  • bindings/js/SerializedScriptValue.cpp: (WebCore::SerializedScriptValue::writeBlobsToDiskForIndexedDB):
  • platform/network/BlobRegistry.h:
  • platform/network/BlobRegistryImpl.cpp: (WebCore::BlobRegistryImpl::writeBlobsToTemporaryFilesForIndexedDB):
  • platform/network/BlobRegistryImpl.h:

Source/WebKit:

When the SerializedScriptValue contains BlobURLs, IDBTransaction::putOrAddOnServer()
calls SerializedScriptValue::writeBlobsToDiskForIndexedDB() before sending the
WebIDBServer::PutOrAdd IPC to the network process. writeBlobsToDiskForIndexedDB()
sends a NetworkProcessConnection::writeBlobsToTemporaryFilesForIndexedDB IPC to the
network process and the network process will write the blobs to temporary files and
then return the file paths to those temporary files to the WebProcess. The file paths
are then stored inside the IDBValue object that gets sent in the WebIDBServer::PutOrAdd
IPC.

This patch hardens our IPC by validating in WebIDBServer::PutOrAdd() that the IDBValue's
Blob file paths were indeed file paths previously created by the network process on behalf
of the WebProcess sending the IPC. If it is not, we ignore the IPC.

  • NetworkProcess/IndexedDB/WebIDBServer.cpp: (WebKit::WebIDBServer::putOrAdd): (WebKit::WebIDBServer::removeConnection): (WebKit::WebIDBServer::registerTemporaryBlobFilePaths):
  • NetworkProcess/IndexedDB/WebIDBServer.h:
  • NetworkProcess/IndexedDB/WebIDBServer.messages.in:
  • NetworkProcess/NetworkConnectionToWebProcess.cpp: (WebKit::NetworkConnectionToWebProcess::writeBlobsToTemporaryFilesForIndexedDB):
  • NetworkProcess/NetworkConnectionToWebProcess.h:
  • NetworkProcess/NetworkConnectionToWebProcess.messages.in:
  • NetworkProcess/NetworkProcessPlatformStrategies.cpp: (WebKit::NetworkProcessPlatformStrategies::createBlobRegistry):
  • WebProcess/FileAPI/BlobRegistryProxy.cpp: (WebKit::BlobRegistryProxy::writeBlobsToTemporaryFilesForIndexedDB):
  • WebProcess/FileAPI/BlobRegistryProxy.h:
  • WebProcess/Network/NetworkProcessConnection.cpp: (WebKit::NetworkProcessConnection::writeBlobsToTemporaryFilesForIndexedDB):
  • WebProcess/Network/NetworkProcessConnection.h:

Source/WebKitLegacy/mac:

  • WebCoreSupport/WebPlatformStrategies.mm:

Source/WebKitLegacy/win:

  • WebCoreSupport/WebPlatformStrategies.cpp:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@282393 268f45cc-cd09-0410-ab3c-d52691b4dbfc

9:29 PM Changeset in webkit [282914] by Russell Epstein
  • 4 edits in branches/safari-612-branch

Cherry-pick r282365. rdar://problem/83429982

Crash under WebPage::runJavaScript()
https://bugs.webkit.org/show_bug.cgi?id=230223
<rdar://80172436>

Reviewed by Brady Eidson.

Source/WebKit:

The resolveFunction() was capturing frame = makeRef(frame) and then calling frame->coreFrame()->script().
This would lead to a null dereference crash in the case where the core frame gets destroyed before the JS
promise gets resolved. Protecting the WebFrame does not keep the core Frame alive as WebFrame::m_coreFrame
is merely a WeakPtr. To address the issue, the lambda now also protects the core frame and uses it to get
the script controller.

  • WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::runJavaScript):

Tools:

Add API test coverage.

  • TestWebKitAPI/Tests/WebKitCocoa/AsyncFunction.mm: (-[AsyncJSUIDelegate initWithAlertHandler:]): (-[AsyncJSUIDelegate webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:]): (TestWebKitAPI::TEST):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@282365 268f45cc-cd09-0410-ab3c-d52691b4dbfc

9:29 PM Changeset in webkit [282913] by Russell Epstein
  • 16 edits
    3 adds in branches/safari-612-branch

Cherry-pick r282358. rdar://problem/83429732

AX: Make PDFs loaded via <embed> accessible
https://bugs.webkit.org/show_bug.cgi?id=229556

Patch by Tyler Wilcock <Tyler Wilcock> on 2021-09-13
Reviewed by Chris Fleizach and Andres Gonzalez.

Source/WebCore:

This patch makes PDFs loaded in <embed> elements accessible to
clients by exposing the underlying WKPDFPluginAccessibilityObject
created by PDF plugins.

Full-frame PDF accessibility support (e.g. file:///path/to/example.pdf) was
implemented in https://bugs.webkit.org/show_bug.cgi?id=170589, but this
wasn't sufficient for PDFs loaded in <embed>s.

This patch only implements <embed> PDF support for Mac - iOS support will
need to follow in a separate patch.

Test: accessibility/mac/basic-embed-pdf-accessibility.html

  • accessibility/AXObjectCache.cpp: (WebCore::AXObjectCache::getOrCreate): Change comment that suggests PluginViewBase Widgets are not supported, because they are now.
  • accessibility/AccessibilityRenderObject.cpp: (WebCore::AccessibilityRenderObject::isAttachment const): Don't consider plugins to be attachments since they need to be handled differently. (WebCore::AccessibilityRenderObject::computeAccessibilityIsIgnored const): Don't ignore widgets with underlying accessibilty objects (such as PDF plugins).
  • accessibility/mac/WebAccessibilityObjectWrapperMac.mm: (-[WebAccessibilityObjectWrapper renderWidgetChildren]): Extract underlying accessibility object from widgets that have one. (-[WebAccessibilityObjectWrapper accessibilityHitTest:]): Forward hit test to underlying plugin accessibility object if one exists. (isMatchingPlugin): Added. (-[WebAccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]): Match renderWidgetChildren for searches with SearchKey::AnyType criteria.
  • platform/Widget.h: (WebCore::Widget::accessibilityHitTest const): Added this virtual method. (WebCore::Widget::accessibilityObject const): Added this virtual method.

Source/WebKit:

This patch makes PDFs loaded in <embed> elements accessible to
clients by exposing the underlying WKPDFPluginAccessibilityObject
created by PDF plugins.

Full-frame PDF accessibility support (e.g. file:///path/to/example.pdf) was
implemented in https://bugs.webkit.org/show_bug.cgi?id=170589, but this
wasn't sufficient for PDFs loaded in <embed>s.

This patch only implements <embed> PDF support for Mac - iOS support will
need to follow in a separate patch.

  • WebProcess/Plugins/PDF/PDFPlugin.h:
  • WebProcess/Plugins/PDF/PDFPlugin.mm: (-[WKPDFPluginAccessibilityObject initWithPDFPlugin:andElement:]): Change this method to also accept the HTMLPlugInElement that the plugin originates from. (-[WKPDFPluginAccessibilityObject parent]): Added. Returns the cached parent if present, otherwises tries to cache the parent in the form of the HTMLPlugInElement that the plugin originates from. (-[WKPDFPluginAccessibilityObject setParent:]): Added. (-[WKPDFPluginAccessibilityObject accessibilityAttributeValue:]): Query against newly added parent getter when fulfilling attribute value requests. (-[WKPDFPluginAccessibilityObject ALLOW_DEPRECATED_IMPLEMENTATIONS_END]): (-[WKPDFPluginAccessibilityObject accessibilityHitTestIntPoint:]): Added. (-[WKPDFPluginAccessibilityObject accessibilityHitTest:]): Changed to convert NSPoint to WebCore::IntPoint and call accessibilityHitTestIntPoint. (WebKit::PDFPlugin::create): Add parameter to accept the HTMLPlugInElement that the plugin originates from. (WebKit::PDFPlugin::PDFPlugin): Add parameter to accept the HTMLPlugInElement that the plugin originates from. (WebKit::PDFPlugin::accessibilityHitTest const): Added. (-[WKPDFPluginAccessibilityObject initWithPDFPlugin:]): Deleted.
  • WebProcess/Plugins/Plugin.h: (WebKit::Plugin::accessibilityHitTest const): Added. (WebKit::Plugin::accessibilityObject const): Change the return type to id as that is more common practice.
  • WebProcess/Plugins/PluginView.h: Add id accessibilityHitTest and change accessibilityObject() to return id.
  • WebProcess/Plugins/PluginView.cpp: (WebKit::PluginView::accessibilityObject const): Change return type to id.
  • WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::createPlugin): Pass the originating pluginElement to PDFPlugin::create.

Tools:

  • WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm: (WTR::attributeValue): Some PDFKit elements don't respond to accessibilityAttributeValue, so before calling that selector first check to see if the given element responds to an attribute-specific selector (like accessibilityRole).

LayoutTests:

Add a test ensuring the PDF accessibility tree of PDFs loaded via
<embed> elements is accessible.

  • accessibility/mac/basic-embed-pdf-accessibility-expected.txt: Added.
  • accessibility/mac/basic-embed-pdf-accessibility.html: Added.
  • accessibility/resources/simple-webkit-pages.pdf: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@282358 268f45cc-cd09-0410-ab3c-d52691b4dbfc

9:29 PM Changeset in webkit [282912] by Russell Epstein
  • 3 edits in branches/safari-612-branch/Source/WebCore

Cherry-pick r282241. rdar://problem/83430068

Potential crash under CachedRawResource::didAddClient()
https://bugs.webkit.org/show_bug.cgi?id=230121
<rdar://82936913>

Reviewed by Alex Christensen.

In r280083, I tried to address this crash by holding a strong reference
to the SharedBuffer before calling forEachSegment() on it. However, the
crash is still happening after this fix.

My suspicion is that the SharedBuffer's internal m_segments vector gets
modified as we iterate over it. As a result, I am reverting r280083 and
iterating over a copy of m_segments in forEachSegment() instead.

No new tests, we haven't been able to reproduce.

  • WebCore.xcodeproj/project.pbxproj:
  • loader/cache/CachedRawResource.cpp: (WebCore::CachedRawResource::didAddClient):
  • platform/SharedBuffer.cpp: (WebCore::SharedBuffer::forEachSegment const):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@282241 268f45cc-cd09-0410-ab3c-d52691b4dbfc

9:29 PM Changeset in webkit [282911] by Russell Epstein
  • 5 edits
    2 adds in branches/safari-612-branch

Cherry-pick r282045. rdar://problem/83429674

REGRESSION(r275515): pointer-events:none may get stuck in LFC runs
https://bugs.webkit.org/show_bug.cgi?id=229854
rdar://81165275

Reviewed by Alan Bujtas.

Source/WebCore:

We only update run style with diff >= StyleDifference::Repaint but pointer-events changes don't require repaint.

Test: fast/events/pointer-events-mutation.html

  • rendering/RenderBlockFlow.cpp: (WebCore::RenderBlockFlow::styleDidChange):
  • rendering/RenderBox.cpp: (WebCore::RenderBox::styleDidChange):
  • rendering/RenderInline.cpp: (WebCore::RenderInline::styleDidChange):

Fix by pushing the new style to LFC unconditionally. This has no meaningful cost.

LayoutTests:

  • fast/events/pointer-events-mutation-expected.txt: Added.
  • fast/events/pointer-events-mutation.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@282045 268f45cc-cd09-0410-ab3c-d52691b4dbfc

9:29 PM Changeset in webkit [282910] by Russell Epstein
  • 7 edits
    2 copies in branches/safari-612-branch/Source/WebKit

Cherry-pick r281982. rdar://problem/83430119

Enable WebRTC relay for SafariViewController
https://bugs.webkit.org/show_bug.cgi?id=229768

Reviewed by Eric Carlson.

Use source application bundle identifier instead of attributed bundle identifier for nw_parameters_set_source_application_by_bundle_id.
Use attributed bundle identifier for nw_parameters_set_attributed_bundle_identifier.
Make sure to not set token data in case application bundle identifier is available.
This allows the OS to decide whether to relay the nw_connections or not.

Introduce a helper routine to share more code between UDP and TCP sockets.

Manually tested as testing relay would require non-localhost connections
and an application bundle identifier that would be known by the OS.

  • NetworkProcess/webrtc/NetworkRTCProvider.cpp: (WebKit::NetworkRTCProvider::NetworkRTCProvider):
  • NetworkProcess/webrtc/NetworkRTCProvider.h: (WebKit::NetworkRTCProvider::applicationBundleIdentifier const):
  • NetworkProcess/webrtc/NetworkRTCTCPSocketCocoa.mm: (WebKit::NetworkRTCTCPSocketCocoa::NetworkRTCTCPSocketCocoa):
  • NetworkProcess/webrtc/NetworkRTCUDPSocketCocoa.mm: (WebKit::NetworkRTCUDPSocketCocoaConnections::NetworkRTCUDPSocketCocoaConnections): (WebKit::NetworkRTCUDPSocketCocoaConnections::configureParameters):
  • NetworkProcess/webrtc/NetworkRTCUtilitiesCocoa.h: Added.
  • NetworkProcess/webrtc/NetworkRTCUtilitiesCocoa.mm: Added. (WebKit::setNWParametersApplicationIdentifiers):
  • Platform/spi/Cocoa/NWParametersSPI.h:
  • WebKit.xcodeproj/project.pbxproj:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@281982 268f45cc-cd09-0410-ab3c-d52691b4dbfc

9:29 PM Changeset in webkit [282909] by Russell Epstein
  • 2 edits in branches/safari-612-branch/Source/WebCore

Cherry-pick r281971. rdar://problem/83429744

Relative -webkit-scrollbar width value may lead to unstable layout
https://bugs.webkit.org/show_bug.cgi?id=229833.
<rdar://80336247>

Reviewed by Simon Fraser.

The way we resolve the relative property value for the webkit-scrollbar width (using the owning renderer’s width) can lead to unstable layout with
circular dependency. While -webkit-scrollbar itself is non-standard, Chrome supports it but not with relative width/height values. They are resolved to 0px.
Here we use the default platform value instead.

  • rendering/RenderScrollbarPart.cpp: (WebCore::calcScrollbarThicknessUsing): Do not try to resolve the relative length value. (WebCore::RenderScrollbarPart::computeScrollbarWidth): (WebCore::RenderScrollbarPart::computeScrollbarHeight):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@281971 268f45cc-cd09-0410-ab3c-d52691b4dbfc

9:29 PM Changeset in webkit [282908] by Russell Epstein
  • 2 edits in branches/safari-612-branch/Source/WebKit

Cherry-pick r281960. rdar://problem/83429573

[iOS] Gather logs for IOKit class
https://bugs.webkit.org/show_bug.cgi?id=228784

Reviewed by Brent Fulgham.

Add telemetry for an IOKit class on iOS.

  • Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb.in:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@281960 268f45cc-cd09-0410-ab3c-d52691b4dbfc

9:28 PM Changeset in webkit [282907] by Russell Epstein
  • 5 edits
    2 adds in branches/safari-612-branch

Cherry-pick r281920. rdar://problem/83429601

Braille display is blank in contenteditable elements when the field is followed by another element.
https://bugs.webkit.org/show_bug.cgi?id=229713
rdar://82095237

Reviewed by Chris Fleizach.

Source/WebCore:

Test: accessibility/mac/range-for-line-index.html

We were making the length of line ranges in text fields 1 more than the
number of characters in the line even when no line break character
existed, like in the case of a single line text field.
Clients like VoiceOver expect the length of the line ranges in text
fields to match the number of charaters in the line including the line
break if one exists.

  • accessibility/AccessibilityRenderObject.cpp: (WebCore::isHardLineBreak): Helper function used in doAXRangeForLine. Determines whether the given VisiblePosition corresponds to a hard line break. (WebCore::AccessibilityRenderObject::doAXRangeForLine const): Returns a PlainTextRange whose length matches the number of characters in the given line, accounting for line break characters.

LayoutTests:

  • accessibility/mac/range-for-line-index-expected.txt: Added.
  • accessibility/mac/range-for-line-index.html: Added.
  • platform/mac/accessibility/content-editable-as-textarea-expected.txt:
  • platform/win/accessibility/content-editable-as-textarea-expected.txt:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@281920 268f45cc-cd09-0410-ab3c-d52691b4dbfc

9:28 PM Changeset in webkit [282906] by Russell Epstein
  • 2 edits in branches/safari-612-branch/Source/JavaScriptCore

Cherry-pick r281319. rdar://problem/83430082

Reduce StructureID entropy bits to 5 to make room for more StructureIDs.
https://bugs.webkit.org/show_bug.cgi?id=229326
rdar://60141624

Reviewed by Yusuke Suzuki.

  • runtime/StructureIDTable.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@281319 268f45cc-cd09-0410-ab3c-d52691b4dbfc

9:08 PM Changeset in webkit [282905] by Devin Rousso
  • 3 edits
    1 move in trunk/Source/WebInspectorUI

Web Inspector: add a pinned [+] button to the tab bar to make it easier to re-open closed tabs
https://bugs.webkit.org/show_bug.cgi?id=230600

Reviewed by BJ Burg.

  • UserInterface/Views/TabBar.js:

(WI.TabBar):
(WI.TabBar.prototype.selectTabBarItem):
(WI.TabBar.prototype.layout):
(WI.TabBar.prototype._pinnedButtons): Added.
(WI.TabBar.prototype._closedTabClasses): Added.
(WI.TabBar.prototype._handleTabContainerMouseDown):
(WI.TabBar.prototype._handleShowHiddenTabsTabBarItemMouseDown): Added.
(WI.TabBar.prototype._handleAddClosedTabsTabBarItemMouseDown): Added.
(WI.TabBar.prototype._handleTabContainerClick): Deleted.
Add a _openClosedTabsTabBarItem that's a WI.PinnedTabBarItem without a representedObject,
meaning that it's basically just a button and won't actually open a tab when clicked. This
suits our purposes perfectly as we only want to show a contextmenu on click, not to mention
that it will only be shown if there are closed tabs.
Drive-by: Rename _tabPickerTabBarItem to _showHiddenTabsTabBarItem to clarify purpose.
Drive-by: Remove _handleTabContainerClick as tabs can only be removed via the contextmenu.

  • UserInterface/Images/Overflow.svg: Renamed from UserInterface/Images/TabPicker.svg.

Drive-by: Rename to clarify purpose.

  • Localizations/en.lproj/localizedStrings.js:
8:28 PM Changeset in webkit [282904] by Takashi.Komori@sony.com
  • 5 edits in trunk/Source/WebCore

[Curl] Show TLS connection information in the inspector
https://bugs.webkit.org/show_bug.cgi?id=230526

Reviewed by Alex Christensen.

Add TLS version and cipher name in the network security tab.

No tests yet.

  • platform/network/curl/CurlContext.cpp:

(WebCore::CurlHandle::addExtraNetworkLoadMetrics):

  • platform/network/curl/CurlContext.h:
  • platform/network/curl/OpenSSLHelper.cpp:

(OpenSSL::tlsVersion):
(OpenSSL::tlsCipherName):

  • platform/network/curl/OpenSSLHelper.h:
7:52 PM Changeset in webkit [282903] by Simon Fraser
  • 10 edits in trunk/Source/WebCore

Move more scroll snap-related code into ScrollSnapAnimatorState
https://bugs.webkit.org/show_bug.cgi?id=230659

Reviewed by Wenson Hsieh.

Reduce the brain print of ScrollingEffectsController by moving scroll snap-related code
into ScrollSnapAnimatorState, which is going to become a ScrollSnapController at some
point.

  • page/FrameView.cpp:

(WebCore::FrameView::setScrollPosition):

  • platform/ScrollAnimator.cpp:

(WebCore::ScrollAnimator::scroll):
(WebCore::ScrollAnimator::scrollOffsetAdjustedForSnapping const):
(WebCore::ScrollAnimator::adjustScrollOffsetForSnappingIfNeeded): Deleted.

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

(WebCore::ScrollSnapAnimatorState::closestSnapPointForOffset const):
(WebCore::ScrollSnapAnimatorState::adjustedScrollDestination const):
(WebCore::ScrollSnapAnimatorState::resnapAfterLayout):
(WebCore::ScrollSnapAnimatorState::setNearestScrollSnapIndexForAxisAndOffset):
(WebCore::ScrollSnapAnimatorState::setNearestScrollSnapIndexForOffset):

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

(WebCore::ScrollableArea::doPostThumbMoveSnapping):

  • platform/ScrollingEffectsController.cpp:

(WebCore::ScrollingEffectsController::adjustedScrollDestination const):
(WebCore::ScrollingEffectsController::updateActiveScrollSnapIndexForClientOffset):
(WebCore::ScrollingEffectsController::resnapAfterLayout):
(WebCore::ScrollingEffectsController::setNearestScrollSnapIndexForAxisAndOffset): Deleted.
(WebCore::ScrollingEffectsController::adjustScrollDestination): Deleted.

  • platform/ScrollingEffectsController.h:

(WebCore::ScrollingEffectsController::setScrollSnapIndexDidChange):

  • rendering/RenderLayerScrollableArea.cpp:

(WebCore::RenderLayerScrollableArea::scrollToOffset):

7:39 PM Changeset in webkit [282902] by Alan Bujtas
  • 9 edits
    1 move in trunk/Source/WebCore

[LFC][IFC] Move LineGeometry under InlineDisplay namespace
https://bugs.webkit.org/show_bug.cgi?id=230635

Reviewed by Antti Koivisto.

  • WebCore.xcodeproj/project.pbxproj:
  • display/css/DisplayBoxFactory.cpp:

(WebCore::Display::BoxFactory::displayBoxForTextRun const):

  • display/css/DisplayBoxFactory.h:
  • layout/formattingContexts/inline/InlineFormattingContext.cpp:

(WebCore::Layout::InlineFormattingContext::computeGeometryForLineContent):

  • layout/formattingContexts/inline/InlineFormattingState.h:

(WebCore::Layout::InlineFormattingState::lines const):
(WebCore::Layout::InlineFormattingState::lines):
(WebCore::Layout::InlineFormattingState::addLine):
(WebCore::Layout::InlineFormattingState::clearLineAndRuns):
(WebCore::Layout::InlineFormattingState::shrinkToFit):

  • layout/formattingContexts/inline/InlineLineBoxBuilder.cpp:

(WebCore::Layout::LineBoxBuilder::build):

  • layout/formattingContexts/inline/InlineLineBoxBuilder.h:
  • layout/formattingContexts/inline/display/InlineDisplayLine.h: Renamed from Source/WebCore/layout/formattingContexts/inline/display/InlineLineGeometry.h.

(WebCore::InlineDisplay::Line::lineBoxLogicalRect const):
(WebCore::InlineDisplay::Line::scrollableOverflow const):
(WebCore::InlineDisplay::Line::enclosingTopAndBottom const):
(WebCore::InlineDisplay::Line::baseline const):
(WebCore::InlineDisplay::Line::contentLogicalLeft const):
(WebCore::InlineDisplay::Line::contentLogicalWidth const):
(WebCore::InlineDisplay::Line::moveVertically):
(WebCore::InlineDisplay::Line::Line):

  • layout/integration/LayoutIntegrationInlineContentBuilder.cpp:

(WebCore::LayoutIntegration::operator+):

6:48 PM Changeset in webkit [282901] by Alan Bujtas
  • 4 edits
    2 moves
    1 add in trunk/Source/WebCore

[LFC][IFC] Move LineGeometry and LineRun files under /inline/display
https://bugs.webkit.org/show_bug.cgi?id=230632

Reviewed by Antti Koivisto.

This is in preparation for moving these classes out of the "layout namespace".

  • CMakeLists.txt:
  • WebCore.xcodeproj/project.pbxproj:
  • layout/formattingContexts/inline/display/InlineLineGeometry.h: Renamed from Source/WebCore/layout/formattingContexts/inline/InlineLineGeometry.h.

(WebCore::Layout::LineGeometry::lineBoxLogicalRect const):
(WebCore::Layout::LineGeometry::scrollableOverflow const):
(WebCore::Layout::LineGeometry::enclosingTopAndBottom const):
(WebCore::Layout::LineGeometry::baseline const):
(WebCore::Layout::LineGeometry::contentLogicalLeft const):
(WebCore::Layout::LineGeometry::contentLogicalWidth const):
(WebCore::Layout::LineGeometry::moveVertically):
(WebCore::Layout::LineGeometry::LineGeometry):

  • layout/formattingContexts/inline/display/InlineLineRun.h: Renamed from Source/WebCore/layout/formattingContexts/inline/InlineLineRun.h.

(WebCore::Layout::Run::Text::start const):
(WebCore::Layout::Run::Text::end const):
(WebCore::Layout::Run::Text::length const):
(WebCore::Layout::Run::Text::originalContent const):
(WebCore::Layout::Run::Text::renderedContent const):
(WebCore::Layout::Run::Text::hasHyphen const):
(WebCore::Layout::Run::isText const):
(WebCore::Layout::Run::isSoftLineBreak const):
(WebCore::Layout::Run::isLineBreakBox const):
(WebCore::Layout::Run::isLineBreak const):
(WebCore::Layout::Run::isAtomicInlineLevelBox const):
(WebCore::Layout::Run::isInlineBox const):
(WebCore::Layout::Run::isNonRootInlineBox const):
(WebCore::Layout::Run::isRootInlineBox const):
(WebCore::Layout::Run::isGenericInlineLevelBox const):
(WebCore::Layout::Run::isInlineLevelBox const):
(WebCore::Layout::Run::isNonRootInlineLevelBox const):
(WebCore::Layout::Run::type const):
(WebCore::Layout::Run::hasContent const):
(WebCore::Layout::Run::logicalRect const):
(WebCore::Layout::Run::inkOverflow const):
(WebCore::Layout::Run::logicalTop const):
(WebCore::Layout::Run::logicalBottom const):
(WebCore::Layout::Run::logicalLeft const):
(WebCore::Layout::Run::logicalRight const):
(WebCore::Layout::Run::logicalWidth const):
(WebCore::Layout::Run::logicalHeight const):
(WebCore::Layout::Run::moveVertically):
(WebCore::Layout::Run::adjustInkOverflow):
(WebCore::Layout::Run::text):
(WebCore::Layout::Run::text const):
(WebCore::Layout::Run::expansion const):
(WebCore::Layout::Run::layoutBox const):
(WebCore::Layout::Run::style const):
(WebCore::Layout::Run::lineIndex const):
(WebCore::Layout::Run::Run):
(WebCore::Layout::Run::Text::Text):

6:16 PM Changeset in webkit [282900] by Andres Gonzalez
  • 3 edits in trunk/LayoutTests

Fix for LayoutTests/accessibility/heading-level.html in isolated tree mode.
https://bugs.webkit.org/show_bug.cgi?id=230654
<rdar://problem/83422965>

Reviewed by Chris Fleizach.

Rewrote this test using Promises so that it works in isolated tree mode.

  • accessibility/heading-level-expected.txt:
  • accessibility/heading-level.html:
5:52 PM Changeset in webkit [282899] by fpizlo@apple.com
  • 14 edits in trunk/Source/bmalloc

[libpas] fix DebugHeap
https://bugs.webkit.org/show_bug.cgi?id=230658

Reviewed by Yusuke Suzuki.

The previous DebugHeap integration with libpas assumed we didn't have a jit_heap. Now that
we have a jit_heap, we need to be able to do DebugHeap from the bmalloc_heap while we still
use jit_heap.

This was tricky, since previously, libpas could just follow bmalloc and say that if TLC is
not initialized, then we go slow, and the slow path checks for DebugHeap. Now, we might have
a TLC. This means having to push down the debug heap checks into other slow paths.

  • bmalloc/DebugHeap.cpp:

(pas_debug_heap_is_enabled):
(pas_debug_heap_malloc):
(pas_debug_heap_memalign):
(pas_debug_heap_realloc):
(pas_debug_heap_free):

  • libpas/src/libpas/bmalloc_heap_config.c:

(bmalloc_heap_config_activate):

  • libpas/src/libpas/jit_heap.c:

(jit_heap_add_fresh_memory):
(jit_heap_try_allocate):

  • libpas/src/libpas/jit_heap_config.c:
  • libpas/src/libpas/pas_deallocate.c:

(pas_try_deallocate_slow_no_cache):

  • libpas/src/libpas/pas_deallocate.h:

(pas_try_deallocate_not_small):

  • libpas/src/libpas/pas_debug_heap.h:

(pas_debug_heap_is_enabled):
(pas_debug_heap_allocate):

  • libpas/src/libpas/pas_local_allocator_inlines.h:

(pas_local_allocator_try_allocate_small_segregated_slow_impl):
(pas_local_allocator_try_allocate_slow_impl):
(pas_local_allocator_try_allocate):

  • libpas/src/libpas/pas_thread_local_cache.c:

(allocate_cache):
(pas_thread_local_cache_get_local_allocator_if_can_set_cache_slow):

  • libpas/src/libpas/pas_try_allocate.h:

(pas_try_allocate_impl):

  • libpas/src/libpas/pas_try_allocate_common.h:

(pas_try_allocate_common_impl_slow):

  • libpas/src/libpas/pas_try_allocate_intrinsic_primitive.h:

(pas_try_allocate_intrinsic_primitive_impl_medium_slow_case):
(pas_try_allocate_intrinsic_primitive_impl_inline_only):

  • libpas/src/libpas/pas_try_reallocate.h:

(pas_try_reallocate):

5:40 PM Changeset in webkit [282898] by jh718.park@samsung.com
  • 6 edits in trunk

Fix the behavior that setting text field input's value content attribute to the same value moves caret to the end of the input.
https://bugs.webkit.org/show_bug.cgi?id=191255

Reviewed by Simon Fraser.

This patch changes the behavior specified above to make WebKit's behavior interoperable
according to the spec below at
https://html.spec.whatwg.org/multipage/form-elements.html#dom-textarea-value.

'4. If the new API value is different from oldAPIValue,
then move the text entry cursor position to the end of the text control,
unselecting any selected text and resetting the selection direction to "none".'

LayoutTests/imported/w3c:

  • web-platform-tests/html/semantics/forms/textfieldselection/defaultSelection-expected.txt:
  • web-platform-tests/html/semantics/forms/textfieldselection/selection-after-content-change-expected.txt:
  • web-platform-tests/html/semantics/forms/textfieldselection/selection-value-interactions-expected.txt:

Source/WebCore:

  • html/TextFieldInputType.cpp:

(WebCore::TextFieldInputType::setValue):

5:39 PM Changeset in webkit [282897] by ysuzuki@apple.com
  • 5 edits in trunk

[JSC] emoji and eor collations are missing
https://bugs.webkit.org/show_bug.cgi?id=230652

Reviewed by Ross Kirsling.

JSTests:

  • stress/intl-enumeration.js:
  • test262/expectations.yaml:

Source/JavaScriptCore:

Due to ICU's bug, "emoji" and "eor" collations are missing from enumeration.
This patch adds work-around for this.

  • runtime/IntlObject.cpp:

(JSC::availableCollations):

5:22 PM Changeset in webkit [282896] by Simon Fraser
  • 3 edits in trunk/Source/WebCore

Don't exempt WebXR source files from unified sources
https://bugs.webkit.org/show_bug.cgi?id=230651

Reviewed by Dean Jackson.

Allow WebXR and related files to participate in unified sources.

  • Sources.txt:
  • WebCore.xcodeproj/project.pbxproj:
5:16 PM Changeset in webkit [282895] by Ayumi Kojima
  • 2 edits in trunk/LayoutTests

REGRESSION (r282865?): ASSERTION FAILED: Unsafe to ref/deref from different threads m_isOwnedByMainThread == isMainThread().
https://bugs.webkit.org/show_bug.cgi?id=230644

Unreviewed test gardening.

  • platform/mac-wk1/TestExpectations:
5:09 PM September 2021 Meeting edited by Jon Davis
Added Dialog/Inert session (diff)
5:08 PM September 2021 Meeting edited by Jon Davis
Updated registration status. (diff)
4:48 PM Changeset in webkit [282894] by Alan Bujtas
  • 2 edits in trunk/LayoutTests

IFC progression gardening.

Unreviewed.

4:45 PM Changeset in webkit [282893] by Ayumi Kojima
  • 3 edits in trunk/LayoutTests

[ iOS & macOS wk2 Debug ] imported/w3c/web-platform-tests/webrtc/simulcast/setParameters-active.https.html is a flaky failure.
https://bugs.webkit.org/show_bug.cgi?id=230653

Unreviewed test gardening.

  • platform/ios-wk2/TestExpectations:
  • platform/mac-wk2/TestExpectations:
4:39 PM Changeset in webkit [282892] by Eric Hutchison
  • 2 edits in trunk/LayoutTests

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

Unreviewed test gardening.

  • platform/win/TestExpectations:
4:20 PM Changeset in webkit [282891] by Ayumi Kojima
  • 2 edits in trunk/LayoutTests

[ BigSur wk2 ] http/tests/cache/disk-cache/shattered-deduplication.html is flaky image failure.
https://bugs.webkit.org/show_bug.cgi?id=230650

Unreviewed test gardening.

  • platform/mac-wk2/TestExpectations:
4:18 PM Changeset in webkit [282890] by ysuzuki@apple.com
  • 4 edits in trunk

[JSC] Intl unicode identifier type will reject underscore
https://bugs.webkit.org/show_bug.cgi?id=230645

Reviewed by Ross Kirsling.

JSTests:

  • test262/expectations.yaml:

Source/JavaScriptCore:

We reject '_' since BCP-47 rejects it and we should follow BCP-47 in all Intl inputs.

  • runtime/IntlObject.cpp:

(JSC::isUnicodeLocaleIdentifierType):

4:18 PM Changeset in webkit [282889] by achristensen@apple.com
  • 50 edits
    1 add in trunk/Source/WebKit

Unreviewed, (manually) reverting r282856.
https://bugs.webkit.org/show_bug.cgi?id=230634

Caused ProcessSwap API test failures on iOS.

Reverted changest:

"Remove GenericCallback"
https://bugs.webkit.org/show_bug.cgi?id=229366
https://trac.webkit.org/changeset/282856/webkit

Patch by Ryan Haddad <Ryan Haddad> on 2021-09-22

4:07 PM Changeset in webkit [282888] by Alan Coon
  • 8 edits in branches/safari-612-branch/Source

Versioning.

WebKit-7612.2.8

3:15 PM Changeset in webkit [282887] by Simon Fraser
  • 8 edits in trunk/Source/WebCore

Push ScrollAnimatorMac code into the base class and clean up the ScrollAnimator interface
https://bugs.webkit.org/show_bug.cgi?id=230633

Reviewed by Martin Robinson.

Reduce the brainprint of ScrollAnimatorMac by pushing platform-agnostic code into
the base class.

Clean up ScrollAnimator, making more functions protected or private.

  • platform/ScrollAnimator.cpp:

(WebCore::ScrollAnimator::scroll):
(WebCore::ScrollAnimator::notifyPositionChanged):
(WebCore::ScrollAnimator::allowsHorizontalScrolling const):
(WebCore::ScrollAnimator::allowsVerticalScrolling const):
(WebCore::ScrollAnimator::stretchAmount const):
(WebCore::ScrollAnimator::edgePinnedState const):
(WebCore::ScrollAnimator::isPinnedForScrollDelta const):

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

(WebCore::ScrollAnimatorGeneric::scrollAnimationDidUpdate):
(WebCore::ScrollAnimatorGeneric::updatePosition): Deleted.

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

(WebCore::ScrollAnimatorMac::scroll): Deleted.
(WebCore::ScrollAnimatorMac::notifyPositionChanged): Deleted.
(WebCore::ScrollAnimatorMac::edgePinnedState const): Deleted.
(WebCore::ScrollAnimatorMac::isPinnedForScrollDelta const): Deleted.
(WebCore::ScrollAnimatorMac::stretchAmount const): Deleted.
(WebCore::ScrollAnimatorMac::allowsHorizontalScrolling const): Deleted.
(WebCore::ScrollAnimatorMac::allowsVerticalScrolling const): Deleted.

3:10 PM Changeset in webkit [282886] by Ryan Haddad
  • 3 edits in trunk/LayoutTests

Unreviewed test gardening.

fast/canvas/canvas-color-space-display-p3-ImageData.html should be marked as a text failure.

2:49 PM Changeset in webkit [282885] by ysuzuki@apple.com
  • 1544 edits
    11 copies
    192 adds
    15 deletes in trunk/JSTests

[JSC] Upgrade test262
https://bugs.webkit.org/show_bug.cgi?id=230641

Reviewed by Ross Kirsling.

Upgrade test262 to the latest one.

  • test262/config.yaml:
  • test262/expectations.yaml:
  • test262/test262-Revision.txt:
2:32 PM Changeset in webkit [282884] by commit-queue@webkit.org
  • 33 edits
    15 copies
    2 adds in trunk

PCM should include the bundle ID of the app from which it originated
https://bugs.webkit.org/show_bug.cgi?id=230576
<rdar://83065221>

Patch by Alex Christensen <achristensen@webkit.org> on 2021-09-22
Reviewed by Kate Cheney.

Source/WebCore:

This adds infrastructure to store the bundle ID of the application.
In another patch I'm going to use that to prevent PCMs from one app from overwriting PCMs from another app during attribution.

  • html/HTMLAnchorElement.cpp:

(WebCore::HTMLAnchorElement::parsePrivateClickMeasurement const):

  • loader/PrivateClickMeasurement.cpp:

(WebCore::PrivateClickMeasurement::isolatedCopy const):

  • loader/PrivateClickMeasurement.h:

(WebCore::PrivateClickMeasurement::PrivateClickMeasurement):
(WebCore::PrivateClickMeasurement::attributionTriggerData const):
(WebCore::PrivateClickMeasurement::sourceApplicationBundleID const):
(WebCore::PrivateClickMeasurement::encode const):
(WebCore::PrivateClickMeasurement::decode):
(WebCore::PrivateClickMeasurement::attributionTriggerData): Deleted.

Source/WebKit:

  • NetworkProcess/DatabaseUtilities.cpp:

(WebKit::DatabaseUtilities::buildPrivateClickMeasurementFromDatabase const):
(WebKit::DatabaseUtilities::buildPrivateClickMeasurementFromDatabase): Deleted.

  • NetworkProcess/DatabaseUtilities.h:
  • NetworkProcess/PrivateClickMeasurement/PrivateClickMeasurementDatabase.cpp:

(WebKit::PCM::Database::Database):
(WebKit::PCM::Database::insertPrivateClickMeasurement):
(WebKit::PCM::Database::privateClickMeasurementToStringForTesting const):
(WebKit::PCM::Database::attributionToStringForTesting const):
(WebKit::PCM::Database::addBundleIDColumnIfNecessary):
(WebKit::PCM::Database::columnsForTable):
(WebKit::PCM::Database::addMissingColumnToTable):

  • NetworkProcess/PrivateClickMeasurement/PrivateClickMeasurementDatabase.h:
  • UIProcess/API/Cocoa/WKWebViewPrivate.h:
  • UIProcess/API/Cocoa/WKWebViewPrivateForTesting.h:
  • UIProcess/API/Cocoa/WKWebViewTesting.mm:

(-[WKWebView _addEventAttributionWithSourceID:destinationURL:sourceDescription:purchaser:reportEndpoint:optionalNonce:applicationBundleID:]):
(-[WKWebView _addEventAttributionWithSourceID:destinationURL:sourceDescription:purchaser:reportEndpoint:optionalNonce:]): Deleted.

  • UIProcess/API/ios/WKWebViewIOS.mm:

(-[WKWebView _setEphemeralUIEventAttribution:]):
(-[WKWebView _setEphemeralUIEventAttribution:forApplicationWithBundleID:]):

Tools:

  • TestWebKitAPI/Tests/WebCore/PrivateClickMeasurement.cpp:

(TestWebKitAPI::TEST):

  • TestWebKitAPI/Tests/WebKitCocoa/EventAttribution.mm:

(TestWebKitAPI::TEST):

  • TestWebKitAPI/Tests/WebKitCocoa/PrivateClickMeasurement.mm:

(pollUntilPCMIsMigrated):

LayoutTests:

  • http/tests/contentextensions/block-private-click-measurement-expected.txt:
  • http/tests/privateClickMeasurement/attribution-conversion-through-cross-site-image-redirect-expected.txt:
  • http/tests/privateClickMeasurement/attribution-conversion-through-fetch-keepalive-expected.txt:
  • http/tests/privateClickMeasurement/attribution-conversion-through-image-redirect-ephemeral-expected.txt:
  • http/tests/privateClickMeasurement/attribution-conversion-through-image-redirect-in-new-window-expected.txt:
  • http/tests/privateClickMeasurement/attribution-conversion-through-image-redirect-with-priority-expected.txt:
  • http/tests/privateClickMeasurement/attribution-conversion-through-image-redirect-without-priority-expected.txt:
  • http/tests/privateClickMeasurement/conversion-disabled-in-ephemeral-session-expected.txt:
  • http/tests/privateClickMeasurement/private-click-measurement-with-source-nonce-null-content-expected.txt:
  • http/tests/privateClickMeasurement/private-click-measurement-with-source-nonce-wrong-content-type-expected.txt:
  • http/tests/privateClickMeasurement/second-attribution-converted-with-higher-priority-expected.txt:
  • http/tests/privateClickMeasurement/second-attribution-converted-with-lower-priority-expected.txt:
  • http/tests/privateClickMeasurement/second-conversion-with-higher-priority-expected.txt:
  • http/tests/privateClickMeasurement/second-conversion-with-lower-priority-expected.txt:
  • http/tests/privateClickMeasurement/store-private-click-measurement-expected.txt:
2:05 PM Changeset in webkit [282883] by commit-queue@webkit.org
  • 6 edits
    2 moves in trunk

Move PCMDaemon to WebKit.framework and rename it to AdAttributionDaemon
https://bugs.webkit.org/show_bug.cgi?id=230516

Patch by Alex Christensen <achristensen@webkit.org> on 2021-09-22
Reviewed by Brent Fulgham.

Source/WebKit:

Also, open iOS NetworkProcess's sandbox to allow connecting to it.

  • Configurations/AdAttributionDaemon.xcconfig: Renamed from Tools/TestWebKitAPI/Configurations/TestPCMDaemon.xcconfig.
  • Resources/SandboxProfiles/ios/com.apple.WebKit.Networking.sb:
  • Shared/EntryPointUtilities/Cocoa/Daemon/AdAttributionDaemon.c: Renamed from Tools/TestWebKitAPI/cocoa/TestPCMDaemonMain.c.
  • WebKit.xcodeproj/project.pbxproj:

Tools:

  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/Tests/WebKitCocoa/EventAttribution.mm:

(TestWebKitAPI::testPCMDaemonLocation):

1:04 PM Changeset in webkit [282882] by Chris Dumez
  • 79 edits in trunk/Source

Drop makeRef() and use Ref { } instead
https://bugs.webkit.org/show_bug.cgi?id=230626

Reviewed by Alex Christensen.

Source/WebCore:

  • platform/audio/cocoa/AudioFileReaderCocoa.cpp:

(WebCore::AudioFileReader::demuxWebMData const):

Source/WebKit:

  • GPUProcess/graphics/RemoteGraphicsContextGL.cpp:

(WebKit::RemoteGraphicsContextGL::RemoteGraphicsContextGL):

  • GPUProcess/graphics/RemoteRenderingBackend.cpp:

(WebKit::RemoteRenderingBackend::createImageBuffer):
(WebKit::RemoteRenderingBackend::cacheNativeImage):

  • GPUProcess/webrtc/LibWebRTCCodecsProxy.mm:

(WebKit::LibWebRTCCodecsProxy::createH264Decoder):
(WebKit::LibWebRTCCodecsProxy::createH265Decoder):
(WebKit::LibWebRTCCodecsProxy::createVP9Decoder):
(WebKit::LibWebRTCCodecsProxy::createEncoder):

  • NetworkProcess/Classifier/ResourceLoadStatisticsDatabaseStore.cpp:

(WebKit::ResourceLoadStatisticsDatabaseStore::migrateDataToPCMDatabaseIfNecessary):
(WebKit::ResourceLoadStatisticsDatabaseStore::hasStorageAccess):
(WebKit::ResourceLoadStatisticsDatabaseStore::grantStorageAccessInternal):
(WebKit::ResourceLoadStatisticsDatabaseStore::updateCookieBlocking):

  • NetworkProcess/Classifier/ResourceLoadStatisticsStore.cpp:

(WebKit::ResourceLoadStatisticsStore::removeDataRecords):
(WebKit::ResourceLoadStatisticsStore::processStatisticsAndDataRecords):
(WebKit::ResourceLoadStatisticsStore::grandfatherExistingWebsiteData):
(WebKit::ResourceLoadStatisticsStore::updateCacheMaxAgeCap):
(WebKit::ResourceLoadStatisticsStore::updateClientSideCookiesAgeCap):
(WebKit::ResourceLoadStatisticsStore::updateCookieBlockingForDomains):
(WebKit::ResourceLoadStatisticsStore::logTestingEvent):
(WebKit::ResourceLoadStatisticsStore::removeAllStorageAccess):

  • NetworkProcess/Cookies/WebCookieManager.cpp:

(WebKit::WebCookieManager::setHTTPCookieAcceptPolicy):

  • NetworkProcess/IndexedDB/WebIDBConnectionToClient.cpp:

(WebKit::WebIDBConnectionToClient::WebIDBConnectionToClient):

  • NetworkProcess/NetworkProcess.cpp:

(WebKit::NetworkProcess::findPendingDownloadLocation):

  • NetworkProcess/NetworkProcess.h:

(WebKit::NetworkProcess::SessionStorageQuotaManager::ensureOriginStorageQuotaManager):

  • NetworkProcess/PingLoad.cpp:

(WebKit::PingLoad::initialize):

  • NetworkProcess/PrivateClickMeasurement/PrivateClickMeasurementStore.cpp:

(WebKit::PCM::Store::Store):
(WebKit::PCM::Store::insertPrivateClickMeasurement):
(WebKit::PCM::Store::markAllUnattributedPrivateClickMeasurementAsExpiredForTesting):
(WebKit::PCM::Store::attributePrivateClickMeasurement):
(WebKit::PCM::Store::privateClickMeasurementToStringForTesting const):
(WebKit::PCM::Store::allAttributedPrivateClickMeasurement):
(WebKit::PCM::Store::markAttributedPrivateClickMeasurementsAsExpiredForTesting):
(WebKit::PCM::Store::clearPrivateClickMeasurement):
(WebKit::PCM::Store::clearPrivateClickMeasurementForRegistrableDomain):
(WebKit::PCM::Store::clearExpiredPrivateClickMeasurement):
(WebKit::PCM::Store::clearSentAttribution):
(WebKit::PCM::Store::close):

  • NetworkProcess/ServiceWorker/ServiceWorkerSoftUpdateLoader.cpp:

(WebKit::ServiceWorkerSoftUpdateLoader::loadWithCacheEntry):

  • NetworkProcess/cache/CacheStorageEngine.cpp:

(WebKit::CacheStorage::Engine::from):

  • NetworkProcess/cache/CacheStorageEngineCache.cpp:

(WebKit::CacheStorage::Cache::open):
(WebKit::CacheStorage::Cache::retrieveRecord):
(WebKit::CacheStorage::Cache::retrieveRecords):
(WebKit::CacheStorage::Cache::put):
(WebKit::CacheStorage::Cache::updateRecordToDisk):

  • NetworkProcess/cache/CacheStorageEngineCaches.cpp:

(WebKit::CacheStorage::Caches::initializeSize):
(WebKit::CacheStorage::Caches::readRecordsList):
(WebKit::CacheStorage::Caches::writeRecord):
(WebKit::CacheStorage::Caches::readRecord):

  • NetworkProcess/cache/NetworkCache.cpp:

(WebKit::NetworkCache::Cache::retrieve):

  • NetworkProcess/cache/NetworkCacheIOChannelGLib.cpp:

(WebKit::NetworkCache::IOChannel::readSyncInThread):

  • NetworkProcess/storage/NetworkStorageManager.cpp:

(WebKit::NetworkStorageManager::NetworkStorageManager):
(WebKit::NetworkStorageManager::clearStorageForTesting):

  • NetworkProcess/webrtc/NetworkMDNSRegister.cpp:

(WebKit::NetworkMDNSRegister::registerMDNSName):

  • NetworkProcess/webrtc/NetworkRTCProvider.cpp:

(WebKit::NetworkRTCProvider::NetworkRTCProvider):

  • NetworkProcess/webrtc/NetworkRTCTCPSocketCocoa.mm:

(WebKit::NetworkRTCTCPSocketCocoa::NetworkRTCTCPSocketCocoa):

  • NetworkProcess/webrtc/NetworkRTCUDPSocketCocoa.mm:

(WebKit::NetworkRTCUDPSocketCocoaConnections::NetworkRTCUDPSocketCocoaConnections):

  • Platform/IPC/Connection.cpp:

(IPC::Connection::SyncMessageState::processIncomingMessage):

  • Platform/IPC/HandleMessage.h:

(IPC::handleMessageSynchronous):
(IPC::handleMessageSynchronousWantsConnection):
(IPC::handleMessageAsync):
(IPC::handleMessageAsyncWantsConnection):

  • Platform/IPC/MessageReceiveQueues.h:
  • Platform/IPC/StreamServerConnection.h:

(IPC::StreamServerConnection<Receiver>::startReceivingMessages):

  • Platform/SharedMemory.cpp:

(WebKit::SharedMemory::createSharedBuffer const):

  • Shared/CoordinatedGraphics/CoordinatedGraphicsScene.cpp:

(WebKit::CoordinatedGraphicsScene::updateSceneState):

  • Shared/CoordinatedGraphics/threadedcompositor/CompositingRunLoop.cpp:

(WebKit::CompositingRunLoop::~CompositingRunLoop):

  • UIProcess/API/APIContentWorld.cpp:

(API::ContentWorld::sharedWorldWithName):

  • UIProcess/API/Cocoa/WKDownload.mm:
  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _frames:]):

  • UIProcess/API/Cocoa/_WKDownload.mm:

(-[_WKDownload cancel]):

  • UIProcess/API/glib/WebKitDownload.cpp:

(webkit_download_cancel):

  • UIProcess/Automation/WebAutomationSession.cpp:

(WebKit::WebAutomationSession::getBrowsingContext):
(WebKit::WebAutomationSession::switchToBrowsingContext):
(WebKit::WebAutomationSession::willShowJavaScriptDialog):
(WebKit::WebAutomationSession::simulateMouseInteraction):
(WebKit::WebAutomationSession::simulateWheelInteraction):
(WebKit::WebAutomationSession::performMouseInteraction):
(WebKit::WebAutomationSession::performKeyboardInteractions):
(WebKit::WebAutomationSession::takeScreenshot):

  • UIProcess/BackgroundProcessResponsivenessTimer.cpp:

(WebKit::BackgroundProcessResponsivenessTimer::setResponsive):

  • UIProcess/Cocoa/LegacyDownloadClient.mm:

(WebKit::LegacyDownloadClient::didReceiveAuthenticationChallenge):

  • UIProcess/Cocoa/NavigationState.mm:

(WebKit::NavigationState::NavigationClient::decidePolicyForNavigationAction):
(WebKit::NavigationState::NavigationClient::didReceiveAuthenticationChallenge):

  • UIProcess/Cocoa/UIDelegate.mm:

(WebKit::UIDelegate::UIClient::decidePolicyForUserMediaPermissionRequest):
(WebKit::UIDelegate::UIClient::checkUserMediaPermissionForOrigin):

  • UIProcess/Cocoa/WKSafeBrowsingWarning.mm:

(-[WKSafeBrowsingWarning initWithFrame:safeBrowsingWarning:completionHandler:]):

  • UIProcess/Cocoa/WebPageProxyCocoa.mm:

(WebKit::WebPageProxy::beginSafeBrowsingCheck):

  • UIProcess/Downloads/DownloadProxy.cpp:

(WebKit::DownloadProxy::didReceiveAuthenticationChallenge):

  • UIProcess/DrawingAreaProxy.cpp:

(WebKit::DrawingAreaProxy::DrawingAreaProxy):

  • UIProcess/Inspector/WebInspectorUIExtensionControllerProxy.cpp:

(WebKit::WebInspectorUIExtensionControllerProxy::registerExtension):
(WebKit::WebInspectorUIExtensionControllerProxy::unregisterExtension):

  • UIProcess/Network/NetworkProcessProxy.cpp:

(WebKit::NetworkProcessProxy::didReceiveAuthenticationChallenge):
(WebKit::NetworkProcessProxy::deleteWebsiteDataInUIProcessForRegistrableDomains):

  • UIProcess/PageLoadState.cpp:

(WebKit::PageLoadState::callObserverCallback):

  • UIProcess/ResponsivenessTimer.cpp:

(WebKit::ResponsivenessTimer::timerFired):
(WebKit::ResponsivenessTimer::stop):

  • UIProcess/UserMediaPermissionRequestManagerProxy.cpp:

(WebKit::UserMediaPermissionRequestManagerProxy::grantRequest):
(WebKit::UserMediaPermissionRequestManagerProxy::finishGrantingRequest):
(WebKit::UserMediaPermissionRequestManagerProxy::updateStoredRequests):

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::receivedNavigationPolicyDecision):
(WebKit::WebPageProxy::continueNavigationInNewProcess):
(WebKit::WebPageProxy::decidePolicyForNavigationAction):
(WebKit::WebPageProxy::decidePolicyForNewWindowAction):
(WebKit::WebPageProxy::decidePolicyForResponseShared):

  • UIProcess/WebProcessCache.cpp:

(WebKit::WebProcessCache::addProcessIfPossible):

  • UIProcess/WebProcessPool.cpp:

(WebKit::WebProcessPool::handleSynchronousMessage):
(WebKit::WebProcessPool::processForNavigation):
(WebKit::WebProcessPool::processForNavigationInternal):

  • UIProcess/WebProcessProxy.cpp:

(WebKit::WebProcessProxy::createSpeechRecognitionServer):
(WebKit::WebProcessProxy::ensureSpeechRecognitionRemoteRealtimeMediaSourceManager):

  • UIProcess/WebURLSchemeTask.cpp:

(WebKit::WebURLSchemeTask::WebURLSchemeTask):

  • UIProcess/WebsiteData/Cocoa/WebsiteDataStoreCocoa.mm:

(WebKit::WebsiteDataStore::beginAppBoundDomainCheck):

  • UIProcess/WebsiteData/WebsiteDataStore.cpp:

(WebKit::networkProcessForSession):

  • UIProcess/mac/WebContextMenuProxyMac.mm:

(WebKit::WebContextMenuProxyMac::insertOrUpdateQuickLookImageItem):

  • WebProcess/EncryptedMedia/MediaKeySystemPermissionRequestManager.cpp:

(WebKit::MediaKeySystemPermissionRequestManager::sendMediaKeySystemRequest):

  • WebProcess/GPU/graphics/RemoteResourceCacheProxy.cpp:

(WebKit::RemoteResourceCacheProxy::recordFontUse):

  • WebProcess/GPU/webrtc/LibWebRTCCodecs.cpp:

(WebKit::LibWebRTCCodecs::ensureGPUProcessConnectionOnMainThreadWithLock):

  • WebProcess/GPU/webrtc/MediaRecorderPrivate.cpp:

(WebKit::MediaRecorderPrivate::MediaRecorderPrivate):

  • WebProcess/MediaStream/UserMediaPermissionRequestManager.cpp:

(WebKit::UserMediaPermissionRequestManager::sendUserMediaRequest):

  • WebProcess/Network/WebLoaderStrategy.cpp:

(WebKit::WebLoaderStrategy::loadResource):
(WebKit::WebLoaderStrategy::schedulePluginStreamLoad):

  • WebProcess/Network/webrtc/LibWebRTCNetworkManager.cpp:

(WebKit::LibWebRTCNetworkManager::StartUpdating):
(WebKit::LibWebRTCNetworkManager::networksChanged):
(WebKit::LibWebRTCNetworkManager::networkProcessCrashed):

  • WebProcess/Plugins/PDF/PDFPlugin.mm:

(WebKit::PDFPlugin::cancelAndForgetLoader):

  • WebProcess/Speech/SpeechRecognitionRealtimeMediaSourceManager.cpp:

(WebKit::SpeechRecognitionRealtimeMediaSourceManager::createSource):

  • WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:

(WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction):

  • WebProcess/WebPage/IPCTestingAPI.cpp:

(WebKit::IPCTestingAPI::JSIPC::visitedLinkStoreID):
(WebKit::IPCTestingAPI::JSMessageListener::didReceiveMessage):
(WebKit::IPCTestingAPI::JSMessageListener::willSendMessage):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::runJavaScript):
(WebKit::WebPage::requestStorageAccess):
(WebKit::WebPage::requestTextRecognition):

  • WebProcess/WebPage/gtk/WebPageGtk.cpp:

(WebKit::WebPage::showEmojiPicker):

  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::getPlatformEditorState const):
(WebKit::isObscuredElement):
(WebKit::elementPositionInformation):
(WebKit::WebPage::focusTextInputContextAndPlaceCaret):
(WebKit::WebPage::animationDidFinishForElement):

  • WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:

(WebKit::TiledCoreAnimationDrawingArea::dispatchAfterEnsuringUpdatedScrollPosition):
(WebKit::TiledCoreAnimationDrawingArea::handleActivityStateChangeCallbacksIfNeeded):

  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::ensureSpeechRecognitionRealtimeMediaSourceManager):

Source/WebKitLegacy/mac:

  • WebCoreSupport/WebEditorClient.mm:

(WebEditorClient::requestCheckingOfString):

Source/WTF:

  • wtf/Ref.h:
10:58 AM Changeset in webkit [282881] by beidson@apple.com
  • 16 edits
    2 adds in trunk

Disable FTP.
<rdar://81193860> and https://bugs.webkit.org/show_bug.cgi?id=230477

Reviewed by Geoff Garen.

Source/WebKit:

Covered by new API tests.

  • NetworkProcess/NetworkLoad.cpp:

(WebKit::NetworkLoad::start):
(WebKit::NetworkLoad::willPerformHTTPRedirection):

  • NetworkProcess/NetworkProcess.cpp:

(WebKit::NetworkProcess::initializeNetworkProcess):

  • NetworkProcess/NetworkProcess.h:

(WebKit::NetworkProcess::ftpEnabled const):

  • NetworkProcess/NetworkProcessCreationParameters.cpp:

(WebKit::NetworkProcessCreationParameters::encode const):
(WebKit::NetworkProcessCreationParameters::decode):

  • NetworkProcess/NetworkProcessCreationParameters.h:
  • UIProcess/Cocoa/WebProcessPoolCocoa.mm:

(WebKit::WebProcessPool::platformInitializeNetworkProcess):

Source/WTF:

  • Scripts/Preferences/WebPreferencesExperimental.yaml:
  • wtf/URL.cpp:

(WTF::URL::protocolIsInFTPFamily const):
(WTF::protocolIsInFTPFamily):

  • wtf/URL.h:

Tools:

  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/Tests/WebKitCocoa/BundlePageConsoleMessage.mm: Added.

(willAddMessageToConsoleCallback):
(-[BundlePageConsoleMessage webProcessPlugIn:didCreateBrowserContextController:]):

  • TestWebKitAPI/Tests/WebKitCocoa/FTP.mm: Added.

(TestWebKitAPI::didReceivePageMessageFromInjectedBundle):
(TestWebKitAPI::setInjectedBundleClient):
(TestWebKitAPI::TEST):

  • TestWebKitAPI/PlatformUtilities.h:
  • TestWebKitAPI/cocoa/PlatformUtilitiesCocoa.mm:

(TestWebKitAPI::Util::toNS):

10:19 AM Changeset in webkit [282880] by commit-queue@webkit.org
  • 3 edits
    2 adds in trunk

Source/WebCore:
RenderBox is a RenderElement which can have image updates from style changes. We should call
the base class imageChanged method and handle image changes appropriately in RenderListMarker.
https://bugs.webkit.org/show_bug.cgi?id=230431

Patch by Gabriel Nava Marino <gnavamarino@apple.com> on 2021-09-22
Reviewed by Darin Adler.

Test: fast/lists/list-marker-image-changed.html

  • rendering/RenderListMarker.cpp:

(WebCore::RenderListMarker::imageChanged):

LayoutTests:
RenderListMarker::imageChanged RenderBox image handling
https://bugs.webkit.org/show_bug.cgi?id=230431

Patch by Gabriel Nava Marino <gnavamarino@apple.com> on 2021-09-22
Reviewed by Darin Adler.

  • fast/lists/list-marker-image-changed-expected.txt: Added.
  • fast/lists/list-marker-image-changed.html: Added.
10:07 AM Changeset in webkit [282879] by Megan Gardner
  • 2 edits in trunk/Source/WebKit

Build fix for 230521
https://bugs.webkit.org/show_bug.cgi?id=230629

Reviewed by Wenson Hsieh.

  • UIProcess/ios/WKContentViewInteraction.mm:

(toGestureType):

9:56 AM September 2021 Meeting edited by Jon Davis
Schedule updates and corrections (diff)
9:53 AM September 2021 Meeting edited by Jon Davis
(diff)
9:37 AM Changeset in webkit [282878] by Philippe Normand
  • 19 edits
    5 adds
    1 delete in trunk

[Flatpak SDK] Switch runtime to 21.08 SDK
https://bugs.webkit.org/show_bug.cgi?id=229919

Reviewed by Michael Catanzaro.

Source/WebKit:

  • Shared/RTCNetwork.h: Unified build fix, include <optional> before using std::optional<T>.

Tools:

Upgrade SDK runtime to the 21.08 branch.

  • Scripts/webkitpy/port/gtk.py:

(GtkPort.setup_environ_for_server):

  • flatpak/flatpakutils.py:

(WebkitFlatpak.init):
(WebkitFlatpak.run_in_sandbox):
(WebkitFlatpak.main):
(WebkitFlatpak.check_installed_packages):
(WebkitFlatpak._get_dependency_packages):
(WebkitFlatpak.install_all):

LayoutTests:

Tests expectations update for the new SDK runtime.

  • platform/glib/fast/xsl/xslt-mismatched-tags-in-xslt-expected.txt:
  • platform/glib/svg/custom/use-invalid-pattern-expected.txt: Added.
  • platform/glib/svg/custom/use-invalid-style-expected.txt: Added.
  • platform/gtk/fast/invalid/missing-end-tag-expected.txt:
  • platform/gtk/http/tests/security/xss-DENIED-xsl-external-entity-expected.txt: Added.
  • platform/gtk/http/tests/security/xss-DENIED-xsl-external-entity-redirect-expected.txt:
  • platform/gtk/svg/hixie/error/012-expected.png: Removed.
  • platform/gtk/svg/hixie/error/012-expected.txt:
  • platform/wpe/fast/invalid/missing-end-tag-expected.txt:
  • platform/wpe/fast/multicol/pagination/LeftToRight-tb-hittest-expected.txt:
  • platform/wpe/fast/table/table-split-on-insert-with-section-crash-expected.txt: Added.
  • platform/wpe/fast/text/international/spaces-combined-in-vertical-text-expected.txt:
  • platform/wpe/fast/text/justify-nbsp-expected.txt: Added.
  • platform/wpe/svg/W3C-SVG-1.1-SE/filters-image-03-f-expected.txt:
  • platform/wpe/svg/W3C-SVG-1.1-SE/svgdom-over-01-f-expected.txt:
  • platform/wpe/svg/hixie/error/012-expected.txt:
  • platform/wpe/svg/text/text-altglyph-01-b-expected.txt:
  • platform/wpe/svg/text/text-text-04-t-expected.txt:
  • platform/wpe/svg/text/text-text-06-t-expected.txt:
8:37 AM Changeset in webkit [282877] by Megan Gardner
  • 4 edits in trunk/Source/WebKit

Remove unused enums.
https://bugs.webkit.org/show_bug.cgi?id=230521

Reviewed by Wenson Hsieh.

Removing enums that are not used by UIKit or WebKit.

  • Platform/spi/ios/UIKitSPI.h:
  • Shared/ios/GestureTypes.h:
  • UIProcess/ios/WKContentViewInteraction.mm:

(toGestureType):
(toUIWKGestureType):

8:18 AM September 2021 Meeting edited by Jon Davis
Updated schedule and registration deadline notice. (diff)
8:03 AM Changeset in webkit [282876] by Simon Fraser
  • 13 edits in trunk/Source

Remove ENABLE(SMOOTH_SCROLLING)
https://bugs.webkit.org/show_bug.cgi?id=230587

Reviewed by Tim Horton.

ENABLE(SMOOTH_SCROLLING) was always enabled on macOS, so remove it. The pref defaults
to true on macOS, and false elsewhere.

Source/WebCore:

  • page/FrameView.cpp:

(WebCore::FrameView::scrollAnimatorEnabled const):

  • page/scrolling/AsyncScrollingCoordinator.cpp:

(WebCore::AsyncScrollingCoordinator::scrollAnimatorEnabled const):

  • page/scrolling/AsyncScrollingCoordinator.h:
  • page/scrolling/ThreadedScrollingTree.cpp:

(WebCore::ThreadedScrollingTree::ThreadedScrollingTree):

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

Source/WTF:

  • Scripts/Preferences/WebPreferences.yaml:
  • wtf/PlatformEnable.h:
  • wtf/PlatformEnableCocoa.h:
7:52 AM Changeset in webkit [282875] by Alan Bujtas
  • 2 edits in trunk/LayoutTests

[WIN] Unreviewed test gardening

  • platform/win/TestExpectations:
6:48 AM Changeset in webkit [282874] by Alan Bujtas
  • 3 edits in trunk/Source/WebCore

[LFC][Integration] FlowHasTextSecurity FlowHasJustifiedNonBreakingSpace are unused
https://bugs.webkit.org/show_bug.cgi?id=230591

Reviewed by Antti Koivisto.

  • layout/integration/LayoutIntegrationCoverage.cpp:

(WebCore::LayoutIntegration::printReason):

  • layout/integration/LayoutIntegrationCoverage.h:
6:38 AM Changeset in webkit [282873] by Antti Koivisto
  • 6 edits in trunk/Source/WebCore

[LFC][Integration] Remove ensureLineBoxes
https://bugs.webkit.org/show_bug.cgi?id=230597

Reviewed by Alan Bujtas.

We don't need to switch to legacy lineboxes dynamically for non-style reasons anymore.

  • layout/integration/LayoutIntegrationCoverage.cpp:

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

Support -webkit-border-fit:lines.

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

(WebCore::RenderBlockFlow::adjustForBorderFit const):

Use iterator.

(WebCore::RenderBlockFlow::clearTruncation):

Remove an unnecessary ensureLineBoxes call.

(WebCore::RenderBlockFlow::ensureLineBoxes): Deleted.

Boom.

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

(WebCore::RenderInline::nodeAtPoint):

This is not needed before we start supporting RenderInlines with layers on LFC path.

6:25 AM Changeset in webkit [282872] by Alan Bujtas
  • 13 edits
    2 adds
    4 deletes in trunk

[LFC][IFC] Add fallback font support
https://bugs.webkit.org/show_bug.cgi?id=228685
<rdar://problem/81661514>

Reviewed by Antti Koivisto.

Source/WebCore:

  • layout/integration/LayoutIntegrationCoverage.cpp:

(WebCore::LayoutIntegration::printReason):
(WebCore::LayoutIntegration::canUseForText):
(WebCore::LayoutIntegration::canUseForFontAndText):

  • layout/integration/LayoutIntegrationCoverage.h:

LayoutTests:

  • TestExpectations:
  • fast/text/multiple-feature-properties-expected.html: see webkit.org/b/206168
  • fast/text/multiple-feature-properties.html:
  • fast/text/simple-line-layout-do-not-support-unicode-range-expected.html: Removed.
  • fast/text/simple-line-layout-do-not-support-unicode-range.html: Removed.
  • fast/text/simple-line-layout-no-surrogate-pairs-expected.html: Removed.
  • fast/text/simple-line-layout-no-surrogate-pairs.html: Removed.
  • platform/ios-14/TestExpectations:
  • platform/ios/TestExpectations:
  • platform/ios/fast/css/font-face-implicit-local-font-expected.txt:
  • platform/mac-bigsur/fast/text/capitalize-boundaries-expected.txt:
  • platform/mac-catalina/fast/text/capitalize-boundaries-expected.txt: unused soft hyphens make the lines grow
  • platform/mac/fast/text/international/003-expected.txt:
6:22 AM Changeset in webkit [282871] by Antti Koivisto
  • 2 edits in trunk/Source/WebCore

[LFC][Integration] Remove ALLOW_ coverage defines
https://bugs.webkit.org/show_bug.cgi?id=230608

Reviewed by Alan Bujtas.

They are not useful anymore.

  • layout/integration/LayoutIntegrationCoverage.cpp:

(WebCore::LayoutIntegration::canUseForChild):

4:28 AM Changeset in webkit [282870] by Carlos Garcia Campos
  • 2 edits in trunk/Tools

REGRESSION(r282082): [GTK] Tests timeout when using xvfb after r282082
https://bugs.webkit.org/show_bug.cgi?id=230610

Reviewed by Philippe Normand.

r282082 changed the way xvfb is spawned by providing a PIPE for stdout and stderr instead of redirecting to
/dev/null. The problem is that stderr is only read in case of execution failure, so when nothing fails we end up
filling the buffer that is never read. We can try to find a better solution to show the stderr output in error
messages, but for now we can revert that part to redirect stderr to /dev/null to make the tests work again.

  • Scripts/webkitpy/port/xvfbdriver.py:

(XvfbDriver._xvfb_run):
(XvfbDriver._xvfb_check_if_ready):

2:11 AM Changeset in webkit [282869] by Carlos Garcia Campos
  • 1 copy in releases/WebKitGTK/webkit-2.34.0

WebKitGTK 2.34.0

2:10 AM Changeset in webkit [282868] by Carlos Garcia Campos
  • 4 edits in releases/WebKitGTK/webkit-2.34

Unreviewed. Update OptionsGTK.cmake and NEWS for 2.34.0 release

.:

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

Source/WebKit:

  • gtk/NEWS: Add release notes for 2.34.0.
1:24 AM Changeset in webkit [282867] by Fujii Hironori
  • 2 edits in trunk/Source/WebCore

[Win][MSVC] REGRESSION(r282860): ClipboardItemBindingsDataSource.cpp(147): error C2955: 'WTF::Ref': use of class template requires template argument list
https://bugs.webkit.org/show_bug.cgi?id=230599

Unreviewed build fix.

  • Modules/async-clipboard/ClipboardItemBindingsDataSource.cpp:

(WebCore::ClipboardItemBindingsDataSource::collectDataForWriting):
Conditioned out the ASSERT_UNUSED for MSVC.

12:55 AM Changeset in webkit [282866] by Cameron McCormack
  • 3 edits in trunk/LayoutTests

Tweak canvas test failure expectations to be more accurate
https://bugs.webkit.org/show_bug.cgi?id=230590

Unreviewed test gardening.

Sep 21, 2021:

11:25 PM Changeset in webkit [282865] by Jean-Yves Avenard
  • 26 edits in trunk/Source

Use SharedMemory for transferring appended buffers from SourceBuffer to the GPU process
https://bugs.webkit.org/show_bug.cgi?id=230329
rdar://problem/83291495

Source/WebCore:

Use SharedBuffer instead of Vector to pass data to the SourceBuffer's related
classes (SourceBuffer, SourceBufferPrivate and SourceBufferParser).
Modify SourceBufferParserWebM to never perform memory allocation and copy
of the original data content. Instead, we use CMBlockBuffer objects that retain the
backing SharedBuffer and use offsets inside this SharedBuffer to reference the data.
SourceBufferParserAVFObjC requires little modification as a NSData can wrap a SharedBuffer.

Reviewed by Jer Noble.

There should be no change from an observable standpoint other than the GPU memory usage
being drastically reduced (from 700MB when watching a 4K/60fps YouTube video to just over 200MB
on an iMac Pro (which only has software VP9 decoding), 25MB vs 360MB on an iPad)
Existing tests are fully exercising this new code.

  • Modules/mediasource/SourceBuffer.cpp: Simplify logic around m_pendingAppendData member.

Only one appendBuffer operation can be pending at any given time otherwise appendBuffer
will throw an exception; as such, there's no need to append the data to a vector: "there can
be only one".
(WebCore::SourceBuffer::abortIfUpdating):
(WebCore::SourceBuffer::appendBufferInternal):
(WebCore::SourceBuffer::appendBufferTimerFired):
(WebCore::SourceBuffer::reportExtraMemoryAllocated):

  • Modules/mediasource/SourceBuffer.h:
  • platform/SharedBuffer.cpp:

(WebCore::SharedBuffer::SharedBuffer):
(WebCore::SharedBuffer::create):
(WebCore::SharedBuffer::copyTo const):
(WebCore::SharedBuffer::DataSegment::data const):
(WebCore::SharedBuffer::DataSegment::size const):

  • platform/SharedBuffer.h: Add new DataSegment type that takes a Provider in constructor.

A Provider provides two Function members data and size.

  • platform/audio/cocoa/AudioFileReaderCocoa.cpp: The AudioFileReaderCocoa required

the CMBlockBuffer containing the compressed content to be contiguous. This is no
longer guaranteed so ensure that the CMBlockBuffer is contiguous.
(WebCore::AudioFileReader::demuxWebMData const):
(WebCore::AudioFileReader::decodeWebMData const):

  • platform/graphics/SourceBufferPrivate.h:

(WebCore::SourceBufferPrivate::append):

  • platform/graphics/avfoundation/objc/SourceBufferParserAVFObjC.mm:

(WebCore::SourceBufferParserAVFObjC::appendData):

  • platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.h:
  • platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:

(WebCore::SourceBufferPrivateAVFObjC::append):

  • platform/graphics/cocoa/SourceBufferParser.cpp:

(WebCore::SourceBufferParser::Segment::Segment):
(WebCore::SourceBufferParser::Segment::size const):
(WebCore::SourceBufferParser::Segment::read const):
(WebCore::SourceBufferParser::Segment::takeSharedBuffer):
(WebCore::SourceBufferParser::Segment::getSharedBuffer const):

  • platform/graphics/cocoa/SourceBufferParser.h:
  • platform/graphics/cocoa/SourceBufferParserWebM.cpp:

(WebCore::SourceBufferParserWebM::SourceBufferParserWebM):
(WebCore::SourceBufferParserWebM::TrackData::contiguousCompleteBlockBuffer const):
(WebCore::SourceBufferParserWebM::TrackData::readFrameData):
(WebCore::SourceBufferParserWebM::VideoTrackData::consumeFrameData):
(WebCore::SourceBufferParserWebM::VideoTrackData::createSampleBuffer):
(WebCore::SourceBufferParserWebM::AudioTrackData::resetCompleted):
(WebCore::SourceBufferParserWebM::AudioTrackData::consumeFrameData):
(WebCore::SourceBufferParserWebM::AudioTrackData::createSampleBuffer):
(WebCore::SourceBufferParserWebM::flushPendingAudioBuffers):

  • platform/graphics/cocoa/SourceBufferParserWebM.h:

(WebCore::SourceBufferParserWebM::TrackData::resetCompleted):
(WebCore::SourceBufferParserWebM::TrackData::reset):

Source/WebCore/PAL:

Reviewed by Jer Noble.

  • pal/cf/CoreMediaSoftLink.cpp:
  • pal/cf/CoreMediaSoftLink.h: Add required CoreMedia methods.

Source/WebKit:

Use SharedMemory to pass SourceBuffer content to RemoteSourceBufferProxy in GPU process.
This is done by wrapping a SharedMemory into a SharedBuffer.

Reviewed by Jer Noble.

  • GPUProcess/media/RemoteSourceBufferProxy.cpp:

(WebKit::RemoteSourceBufferProxy::append):

  • GPUProcess/media/RemoteSourceBufferProxy.h:
  • GPUProcess/media/RemoteSourceBufferProxy.messages.in:
  • Platform/SharedMemory.cpp:

(WebKit::SharedMemory::createSharedBuffer const):

  • Platform/SharedMemory.h:
  • WebProcess/GPU/media/SourceBufferPrivateRemote.cpp:

(WebKit::SourceBufferPrivateRemote::append):

  • WebProcess/GPU/media/SourceBufferPrivateRemote.h:
9:55 PM Changeset in webkit [282864] by Alexey Shvayka
  • 97 edits in trunk/Source

[WebIDL] DOM constructors should extend InternalFunction
https://bugs.webkit.org/show_bug.cgi?id=228763

Reviewed by Sam Weinig.

Source/JavaScriptCore:

Introduce finishCreation(VM&) overload to preserve the current property order of
WebIDL constructors, and to defer a large code change needed for passing through
length / name parameters (bug #230584).

  • runtime/InternalFunction.cpp:

(JSC::InternalFunction::InternalFunction):
(JSC::InternalFunction::finishCreation):

  • runtime/InternalFunction.h:

Source/WebCore:

This patch makes JSDOMConstructorBase a subclass of InternalFunction, aligning
DOM constructors with their ECMA-262 counterparts, which renders a few benefits.

  1. InternalFunction is way faster to call than a class with custom getCallData(): JIT inlines InternalFunction::getCallData(), emitting a direct call into m_functionForConstruct. Speeds up invoking Event constructor by ~18% (1M calls).
  2. Since InternalFunction disallows its subclasses to override getCallData(), the presence of Call? method can be inferred by JSType only. In the future, this invariant will allow to speed up a few bytecodes: is_callable, typeof*.
  3. InternalFunction::finishCreation() takes care of "length" / "name" properties, which can leveraged (in a follow-up) to align property order of WebIDL constructors with JSC built-ins, and also clean up bindings generator a bit (bug #230584).
  4. Using InternalFunctionType is essential to keep the instanceof update (bug #151348) performance-neutral for DOM constructors.

No new tests, no behavior change.

  • bindings/js/JSDOMBuiltinConstructor.h:

(WebCore::JSDOMBuiltinConstructor<JSClass>::create):
(WebCore::JSDOMBuiltinConstructor<JSClass>::createStructure):
(WebCore::JSDOMBuiltinConstructor<JSClass>::getConstructData): Deleted.

  • bindings/js/JSDOMBuiltinConstructorBase.h:

(WebCore::JSDOMBuiltinConstructorBase::JSDOMBuiltinConstructorBase):

  • bindings/js/JSDOMConstructor.h:

(WebCore::JSDOMConstructor<JSClass>::create):
(WebCore::JSDOMConstructor<JSClass>::createStructure):
(WebCore::JSDOMConstructor<JSClass>::getConstructData): Deleted.

  • bindings/js/JSDOMConstructorBase.cpp:

(WebCore::JSC_DEFINE_HOST_FUNCTION):
(WebCore::JSDOMConstructorBase::getCallData): Deleted.

  • bindings/js/JSDOMConstructorBase.h:

(WebCore::JSDOMConstructorBase::globalObject const):
(WebCore::JSDOMConstructorBase::scriptExecutionContext const):
(WebCore::JSDOMConstructorBase::JSDOMConstructorBase):
(WebCore::JSDOMConstructorBase::createStructure): Deleted.

  • bindings/js/JSDOMConstructorNotCallable.h:

(WebCore::JSDOMConstructorNotCallable::subspaceFor):

  • bindings/js/JSDOMConstructorNotConstructable.h:

(WebCore::JSDOMConstructorNotConstructable<JSClass>::create):
(WebCore::JSDOMConstructorNotConstructable<JSClass>::createStructure):

  • bindings/js/JSDOMConstructorWithDocument.h:

(WebCore::JSDOMConstructorWithDocument::JSDOMConstructorWithDocument):

  • bindings/js/JSDOMLegacyFactoryFunction.h:

(WebCore::JSDOMLegacyFactoryFunction<JSClass>::create):
(WebCore::JSDOMLegacyFactoryFunction<JSClass>::createStructure):
(WebCore::JSDOMLegacyFactoryFunction<JSClass>::getConstructData): Deleted.

  • bindings/js/WebCoreJSClientData.cpp:

(WebCore::JSVMClientData::JSVMClientData):

  • bindings/js/WebCoreJSClientData.h:

(WebCore::JSVMClientData::domNamespaceObjectSpace):
Move JSDOMConstructorNotCallable to separate IsoSubspace since it no longer shares
a common parent class with callable constructors.

  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateConstructorHelperMethods):
Introduce InternalFunction::finishCreation(VM&) overload and set m_originalName
directly to preserve the current property order of WebIDL constructors, and to defer
a large code change needed for passing through length / name parameters (bug #230584).

  • bindings/scripts/test/JS/*: Updated.
9:06 PM Changeset in webkit [282863] by mmaxfield@apple.com
  • 30 edits
    1 add in trunk/Source/WebCore

Add FontCreationContext
https://bugs.webkit.org/show_bug.cgi?id=230592

Reviewed by Alan Bujtas.

We have this pattern where we pass around "const FontFeatureSettings&, const FontSelectionSpecifiedCapabilities&"
through all the various font creation routines. When I add support for font palettes and font-feature-values,
this would need to grow to 4 arguments being passed around instead of 2. Rather than passing all these arguments
around, a better idea is to encapsulate these arguments in a "context" object. This is because most places that
take these arguments don't actually inspect them, but instead just forward them on to other routines.

No new tests because there is no behavior change.

  • Headers.cmake:
  • WebCore.xcodeproj/project.pbxproj:
  • css/CSSFontFace.cpp:

(WebCore::CSSFontFace::font):

  • css/CSSFontFaceSource.cpp:

(WebCore::CSSFontFaceSource::load):
(WebCore::CSSFontFaceSource::font):

  • css/CSSFontFaceSource.h:
  • css/CSSFontSelector.cpp:

(WebCore::CSSFontSelector::fontRangesForFamily):

  • loader/FontLoadRequest.h:
  • loader/cache/CachedFont.cpp:

(WebCore::CachedFont::createFont):
(WebCore::CachedFont::platformDataFromCustomData):

  • loader/cache/CachedFont.h:
  • loader/cache/CachedFontLoadRequest.h:
  • loader/cache/CachedSVGFont.cpp:

(WebCore::CachedSVGFont::createFont):
(WebCore::CachedSVGFont::platformDataFromCustomData):

  • loader/cache/CachedSVGFont.h:
  • platform/graphics/Font.cpp:

(WebCore::Font::create):

  • platform/graphics/FontCache.cpp:

(WebCore::operator==):
(WebCore::FontPlatformDataCacheKeyHash::hash):
(WebCore::FontCache::cachedFontPlatformData):
(WebCore::FontCache::fontForFamily):

  • platform/graphics/FontCache.h:

(WebCore::FontCache::fontForFamily):
(WebCore::FontCache::cachedFontPlatformData):
(WebCore::FontCache::createFontPlatformDataForTesting):

  • platform/graphics/FontCreationContext.h: Added.

(WebCore::FontCreationContext::operator== const):
(WebCore::FontCreationContext::operator!= const):
(WebCore::add):

  • platform/graphics/cairo/FontCustomPlatformData.h:
  • platform/graphics/cocoa/FontCacheCoreText.cpp:

(WebCore::preparePlatformFont):
(WebCore::fontWithFamily):
(WebCore::FontCache::createFontPlatformData):
(WebCore::FontCache::systemFallbackForCharacters):

  • platform/graphics/cocoa/FontCacheCoreText.h:
  • platform/graphics/cocoa/FontFamilySpecificationCoreText.cpp:

(WebCore::FontFamilySpecificationCoreText::fontRanges const):

  • platform/graphics/freetype/FontCacheFreeType.cpp:

(WebCore::FontCache::createFontPlatformData):

  • platform/graphics/freetype/FontCustomPlatformDataFreeType.cpp:

(WebCore::FontCustomPlatformData::fontPlatformData):

  • platform/graphics/mac/FontCustomPlatformData.cpp:

(WebCore::FontCustomPlatformData::fontPlatformData):

  • platform/graphics/mac/FontCustomPlatformData.h:
  • platform/graphics/win/FontCacheWin.cpp:

(WebCore::FontCache::createFontPlatformData):

  • platform/graphics/win/FontCustomPlatformData.cpp:

(WebCore::FontCustomPlatformData::fontPlatformData):

  • platform/graphics/win/FontCustomPlatformData.h:
  • platform/graphics/win/FontCustomPlatformDataCairo.cpp:

(WebCore::FontCustomPlatformData::fontPlatformData):

  • workers/WorkerFontLoadRequest.cpp:

(WebCore::WorkerFontLoadRequest::createFont):

  • workers/WorkerFontLoadRequest.h:
8:40 PM Changeset in webkit [282862] by Simon Fraser
  • 25 edits in trunk/Source

Change from ENABLE(RUBBER_BANDING) to HAVE(RUBBER_BANDING)
https://bugs.webkit.org/show_bug.cgi?id=230583

Reviewed by Tim Horton.

RUBBER_BANDING is not a feature we'll ever turn off on macOS, and it was only ever enabled
for that platform. However, it's also used in some cross-platform code, so
HAVE(RUBBER_BANDING) makes more sense for that use.

Also remove ENABLE(RUBBER_BANDING) #ifdefs from inside PLATFORM(MAC) code.

Source/WebCore:

  • page/FrameView.cpp:

(WebCore::FrameView::FrameView):
(WebCore::FrameView::isScrollable):
(WebCore::FrameView::handleWheelEventForScrolling):

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

(WebCore::Page::setUnderPageBackgroundColorOverride):

  • page/scrolling/ScrollingCoordinator.cpp:

(WebCore::ScrollingCoordinator::headerLayerForFrameView):
(WebCore::ScrollingCoordinator::footerLayerForFrameView):
(WebCore::ScrollingCoordinator::contentShadowLayerForFrameView):

  • page/scrolling/mac/ScrollingTreeScrollingNodeDelegateMac.mm:

(WebCore::ScrollingTreeScrollingNodeDelegateMac::scrollPositionIsNotRubberbandingEdge const):

  • platform/ScrollView.cpp:

(WebCore::ScrollView::paint):

  • platform/ScrollableArea.h:
  • platform/ScrollbarTheme.h:
  • platform/ScrollingEffectsController.h:
  • platform/graphics/ca/cocoa/PlatformCALayerCocoa.mm:

(WebCore::PlatformCALayerCocoa::updateCustomAppearance):

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

(WebCore::rubberBandingEnabledForSystem):
(WebCore::ScrollAnimatorMac::isRubberBandInProgress const):
(WebCore::ScrollAnimatorMac::immediateScrollBy):

  • platform/mac/ScrollbarThemeMac.h:
  • platform/mac/ScrollbarThemeMac.mm:
  • platform/mac/ScrollingEffectsController.mm:

(WebCore::ScrollingEffectsController::updateRubberBandAnimatingState):
(WebCore::ScrollingEffectsController::scrollPositionChanged):
(WebCore::ScrollingEffectsController::isRubberBandInProgress const):
(WebCore::ScrollingEffectsController::stopRubberbanding):

  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::~RenderLayerCompositor):
(WebCore::RenderLayerCompositor::updateBacking):
(WebCore::RenderLayerCompositor::frameViewDidChangeSize):
(WebCore::RenderLayerCompositor::updateRootLayerPosition):
(WebCore::RenderLayerCompositor::rootBackgroundColorOrTransparencyChanged):
(WebCore::RenderLayerCompositor::updateOverflowControlsLayers):
(WebCore::RenderLayerCompositor::destroyRootLayer):

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

(WebCore::RenderLayerScrollableArea::isRubberBandInProgress const):
(WebCore::RenderLayerScrollableArea::overhangAmount const):
(WebCore::RenderLayerScrollableArea::setHasHorizontalScrollbar):
(WebCore::RenderLayerScrollableArea::setHasVerticalScrollbar):

Source/WebKit:

  • Shared/RemoteLayerTree/RemoteLayerTreePropertyApplier.mm:

(WebKit::updateCustomAppearance):

  • WebProcess/WebCoreSupport/WebChromeClient.cpp:

(WebKit::WebChromeClient::didAddHeaderLayer):
(WebKit::WebChromeClient::didAddFooterLayer):

Source/WTF:

  • Scripts/Preferences/WebPreferences.yaml:
  • wtf/PlatformHave.h:
7:58 PM Changeset in webkit [282861] by mmaxfield@apple.com
  • 2 edits in trunk/Source/WebCore

Delete dead code in FontPaletteValues
https://bugs.webkit.org/show_bug.cgi?id=230586

Reviewed by Alex Christensen.

No new tests because there is no behavior change.

  • platform/graphics/FontPaletteValues.h:

(WebCore::FontPaletteValues::setBasePalette): Deleted.
(WebCore::FontPaletteValues::appendOverrideColor): Deleted.
(WebCore::FontPaletteValues::clearOverrideColor): Deleted.
(WebCore::FontPaletteValues::remove): Deleted.

7:55 PM Changeset in webkit [282860] by Chris Dumez
  • 135 edits in trunk/Source

Reduce use of makeRef() and use Ref { } instead
https://bugs.webkit.org/show_bug.cgi?id=230585

Reviewed by Alex Christensen.

Source/JavaScriptCore:

  • debugger/Debugger.cpp:

(JSC::Debugger::setBreakpoint):
(JSC::Debugger::schedulePauseForSpecialBreakpoint):

  • llint/LLIntEntrypoint.cpp:

(JSC::LLInt::setFunctionEntrypoint):
(JSC::LLInt::setEvalEntrypoint):
(JSC::LLInt::setProgramEntrypoint):
(JSC::LLInt::setModuleProgramEntrypoint):

  • runtime/JSString.cpp:

(JSC::JSRopeString::resolveRopeToExistingAtomString const):

  • runtime/VM.cpp:

(JSC::jitCodeForCallTrampoline):
(JSC::jitCodeForConstructTrampoline):

  • wasm/WasmCodeBlock.cpp:

(JSC::Wasm::CodeBlock::CodeBlock):

  • wasm/WasmOMGForOSREntryPlan.cpp:

(JSC::Wasm::OMGForOSREntryPlan::OMGForOSREntryPlan):

  • wasm/WasmOMGPlan.cpp:

(JSC::Wasm::OMGPlan::OMGPlan):

  • wasm/WasmSignature.cpp:

(JSC::Wasm::SignatureInformation::signatureFor):

  • wasm/WasmSignatureInlines.h:

(JSC::Wasm::SignatureInformation::get):

  • wasm/WasmSlowPaths.cpp:

(JSC::LLInt::jitCompileAndSetHeuristics):

  • wasm/js/JSWebAssemblyInstance.h:

Source/WebCore:

  • Modules/async-clipboard/ClipboardItemBindingsDataSource.cpp:

(WebCore::ClipboardItemBindingsDataSource::collectDataForWriting):

  • Modules/cache/DOMCache.cpp:

(WebCore::DOMCache::addAll):

  • Modules/cache/WorkerCacheStorageConnection.cpp:

(WebCore::WorkerCacheStorageConnection::create):
(WebCore::WorkerCacheStorageConnection::open):
(WebCore::WorkerCacheStorageConnection::remove):
(WebCore::WorkerCacheStorageConnection::retrieveCaches):
(WebCore::WorkerCacheStorageConnection::retrieveRecords):
(WebCore::WorkerCacheStorageConnection::batchDeleteOperation):
(WebCore::WorkerCacheStorageConnection::batchPutOperation):

  • Modules/entriesapi/DOMFileSystem.cpp:

(WebCore::DOMFileSystem::listDirectory):
(WebCore::DOMFileSystem::getParent):
(WebCore::DOMFileSystem::getEntry):
(WebCore::DOMFileSystem::getFile):

  • Modules/entriesapi/FileSystemDirectoryReader.cpp:

(WebCore::FileSystemDirectoryReader::readEntries):

  • Modules/fetch/FetchBody.cpp:

(WebCore::FetchBody::bodyAsFormData const):

  • Modules/indexeddb/IDBTransaction.cpp:

(WebCore::IDBTransaction::objectStore):
(WebCore::IDBTransaction::iterateCursor):
(WebCore::IDBTransaction::requestPutOrAdd):

  • Modules/mediasession/MediaSessionCoordinator.cpp:

(WebCore::MediaSessionCoordinator::MediaSessionCoordinator):

  • Modules/mediastream/PeerConnectionBackend.cpp:

(WebCore::PeerConnectionBackend::newDataChannel):

  • Modules/mediastream/RTCRtpSFrameTransform.cpp:

(WebCore::RTCRtpSFrameTransform::initializeTransformer):

  • Modules/mediastream/RTCRtpScriptTransform.cpp:

(WebCore::RTCRtpScriptTransform::create):
(WebCore::RTCRtpScriptTransform::initializeTransformer):

  • Modules/mediastream/RTCRtpScriptTransformer.cpp:

(WebCore::RTCRtpScriptTransformer::writable):
(WebCore::RTCRtpScriptTransformer::start):

  • Modules/mediastream/libwebrtc/LibWebRTCDataChannelHandler.cpp:

(WebCore::LibWebRTCDataChannelHandler::checkState):
(WebCore::LibWebRTCDataChannelHandler::OnMessage):
(WebCore::LibWebRTCDataChannelHandler::OnBufferedAmountChange):

  • Modules/mediastream/libwebrtc/LibWebRTCDtlsTransportBackend.cpp:

(WebCore::LibWebRTCDtlsTransportBackendObserver::start):
(WebCore::LibWebRTCDtlsTransportBackendObserver::stop):
(WebCore::LibWebRTCDtlsTransportBackendObserver::OnStateChange):
(WebCore::LibWebRTCDtlsTransportBackendObserver::OnError):

  • Modules/mediastream/libwebrtc/LibWebRTCIceTransportBackend.cpp:

(WebCore::LibWebRTCIceTransportBackendObserver::start):
(WebCore::LibWebRTCIceTransportBackendObserver::stop):
(WebCore::LibWebRTCIceTransportBackendObserver::onIceTransportStateChanged):
(WebCore::LibWebRTCIceTransportBackendObserver::onGatheringStateChanged):

  • Modules/mediastream/libwebrtc/LibWebRTCMediaEndpoint.cpp:

(WebCore::LibWebRTCMediaEndpoint::addPendingTrackEvent):
(WebCore::LibWebRTCMediaEndpoint::newTransceiver):

  • Modules/mediastream/libwebrtc/LibWebRTCPeerConnectionBackend.cpp:

(WebCore::findExistingSender):
(WebCore::LibWebRTCPeerConnectionBackend::addTrack):

  • Modules/mediastream/libwebrtc/LibWebRTCSctpTransportBackend.cpp:

(WebCore::LibWebRTCSctpTransportBackendObserver::start):
(WebCore::LibWebRTCSctpTransportBackendObserver::stop):
(WebCore::LibWebRTCSctpTransportBackendObserver::OnStateChange):

  • Modules/notifications/Notification.cpp:

(WebCore::Notification::requestPermission):

  • Modules/speech/SpeechRecognitionResultList.cpp:

(WebCore::SpeechRecognitionResultList::add):

  • Modules/webaudio/AsyncAudioDecoder.cpp:

(WebCore::AsyncAudioDecoder::DecodingTask::notifyComplete):

  • Modules/webaudio/AudioNode.cpp:

(WebCore::AudioNode::toWeakOrStrongContext):

  • Modules/webaudio/AudioWorklet.cpp:

(WebCore::AudioWorklet::createProcessor):

  • Modules/webaudio/DefaultAudioDestinationNode.cpp:

(WebCore::Function<void):

  • Modules/webdatabase/Database.cpp:

(WebCore::Database::runTransaction):

  • Modules/webxr/WebXRInputSourceArray.cpp:

(WebCore::WebXRInputSourceArray::update):

  • Modules/webxr/WebXRSystem.cpp:

(WebCore::WebXRSystem::requestSession):

  • accessibility/AXObjectCache.cpp:

(WebCore::AXObjectCache::getOrCreate):

  • animation/DocumentTimelinesController.cpp:

(WebCore::DocumentTimelinesController::updateAnimationsAndSendEvents):

  • bindings/js/JSEventListener.h:

(WebCore::JSEventListener::ensureJSFunction const):

  • bindings/js/SerializedScriptValue.cpp:

(WebCore::CloneSerializer::dumpIfTerminal):

  • crypto/SubtleCrypto.cpp:

(WebCore::SubtleCrypto::wrapKey):

  • css/CSSFontFaceSet.cpp:

(WebCore::CSSFontFaceSet::remove):

  • css/CSSFontSelector.cpp:

(WebCore::CSSFontSelector::CSSFontSelector):

  • css/DOMCSSPaintWorklet.cpp:

(WebCore::PaintWorklet::addModule):

  • css/typedom/CSSNumericValue.cpp:

(WebCore::CSSNumericValue::add):
(WebCore::CSSNumericValue::sub):
(WebCore::CSSNumericValue::mul):
(WebCore::CSSNumericValue::div):
(WebCore::CSSNumericValue::min):
(WebCore::CSSNumericValue::max):

  • css/typedom/CSSStyleValueFactory.cpp:

(WebCore::CSSStyleValueFactory::reifyValue):

  • css/typedom/StylePropertyMapReadOnly.cpp:

(WebCore::StylePropertyMapReadOnly::reifyValue):

  • dom/ActiveDOMObject.cpp:

(WebCore::ActiveDOMObject::queueTaskToDispatchEventInternal):
(WebCore::ActiveDOMObject::queueCancellableTaskToDispatchEventInternal):

  • dom/ActiveDOMObject.h:
  • dom/DeviceOrientationAndMotionAccessController.cpp:

(WebCore::DeviceOrientationAndMotionAccessController::shouldAllowAccess):

  • dom/Document.cpp:

(WebCore::Document::forEachMediaElement):
(WebCore::command):

  • dom/Element.cpp:

(WebCore::Element::focus):

  • dom/IdleCallbackController.cpp:

(WebCore::IdleCallbackController::queueTaskToStartIdlePeriod):
(WebCore::IdleCallbackController::queueTaskToInvokeIdleCallbacks):

  • dom/Microtasks.cpp:

(WebCore::MicrotaskQueue::MicrotaskQueue):

  • dom/MutationObserver.cpp:

(WebCore::MutationObserver::enqueueMutationRecord):
(WebCore::MutationObserver::enqueueSlotChangeEvent):
(WebCore::MutationObserver::setHasTransientRegistration):

  • dom/ScriptElement.cpp:

(WebCore::ScriptElement::requestModuleScript):

  • editing/AlternativeTextController.cpp:

(WebCore::AlternativeTextController::applyAlternativeTextToRange):

  • editing/DeleteSelectionCommand.cpp:

(WebCore::DeleteSelectionCommand::makeStylingElementsDirectChildrenOfEditableRootToPreventStyleLoss):

  • editing/Editor.cpp:

(WebCore::Editor::appliedEditing):
(WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges):
(WebCore::correctSpellcheckingPreservingTextCheckingParagraph):
(WebCore::scanForTelephoneNumbers):

  • editing/ReplaceSelectionCommand.cpp:

(WebCore::ReplacementFragment::removeContentsWithSideEffects):
(WebCore::ReplacementFragment::insertFragmentForTestRendering):
(WebCore::ReplaceSelectionCommand::mergeTextNodesAroundPosition):
(WebCore::ReplaceSelectionCommand::performTrivialReplace):

  • editing/TextIterator.cpp:

(WebCore::plainText):

  • editing/VisibleSelection.cpp:

(WebCore::VisibleSelection::adjustSelectionToAvoidCrossingShadowBoundaries):

  • editing/cocoa/WebContentReaderCocoa.mm:

(WebCore::attachmentForFilePath):
(WebCore::attachmentForData):
(WebCore::WebContentReader::readURL):

  • editing/markup.cpp:

(WebCore::createFragmentForMarkup):

  • history/CachedFrame.cpp:

(WebCore::CachedFrameBase::restore):

  • html/HTMLBodyElement.cpp:

(WebCore::HTMLBodyElement::didFinishInsertingNode):

  • html/HTMLElement.cpp:

(WebCore::HTMLElement::updateWithTextRecognitionResult):

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::forgetResourceSpecificTracks):

  • html/OffscreenCanvas.cpp:

(WebCore::OffscreenCanvas::create):
(WebCore::OffscreenCanvas::pushBufferToPlaceholder):

  • html/ValidationMessage.cpp:

(WebCore::ValidationMessage::buildBubbleTree):

  • html/canvas/WebGLRenderingContextBase.cpp:

(WebCore::WebGLRenderingContextBase::makeXRCompatible):

  • html/track/VTTCue.cpp:

(WebCore::VTTCueBox::applyCSSProperties):

  • inspector/InspectorFrontendAPIDispatcher.cpp:

(WebCore::InspectorFrontendAPIDispatcher::evaluateOrQueueExpression):

  • loader/DocumentLoader.cpp:

(WebCore::DocumentLoader::willSendRequest):
(WebCore::computeResponseOriginAndCOOP):

  • loader/DocumentWriter.cpp:

(WebCore::DocumentWriter::begin):

  • loader/FrameLoadRequest.cpp:

(WebCore::FrameLoadRequest::FrameLoadRequest):

  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::receivedFirstData):
(WebCore::FrameLoader::loadFrameRequest):
(WebCore::FrameLoader::loadURL):
(WebCore::FrameLoader::loadWithDocumentLoader):
(WebCore::FrameLoader::open):
(WebCore::FrameLoader::loadPostRequest):
(WebCore::FrameLoader::continueLoadAfterNavigationPolicy):

  • loader/NavigationScheduler.cpp:

(WebCore::ScheduledURLNavigation::ScheduledURLNavigation):

  • loader/PingLoader.cpp:

(WebCore::PingLoader::startPingLoad):

  • loader/PolicyChecker.cpp:

(WebCore::FrameLoader::PolicyChecker::checkNewWindowPolicy):

  • loader/SubframeLoader.cpp:

(WebCore::FrameLoader::SubframeLoader::requestFrame):
(WebCore::FrameLoader::SubframeLoader::loadSubframe):

  • loader/WorkerThreadableLoader.cpp:

(WebCore::WorkerThreadableLoader::MainThreadBridge::notifyIsDone):
(WebCore::WorkerThreadableLoader::MainThreadBridge::didSendData):
(WebCore::WorkerThreadableLoader::MainThreadBridge::didReceiveResponse):
(WebCore::WorkerThreadableLoader::MainThreadBridge::didReceiveData):
(WebCore::WorkerThreadableLoader::MainThreadBridge::didFinishLoading):
(WebCore::WorkerThreadableLoader::MainThreadBridge::didFail):
(WebCore::WorkerThreadableLoader::MainThreadBridge::didFinishTiming):

  • loader/cache/CachedResource.cpp:

(WebCore::CachedResource::load):

  • loader/ios/LegacyPreviewLoader.mm:

(WebCore::LegacyPreviewLoader::previewConverterDidStartConverting):

  • page/DOMWindowExtension.cpp:

(WebCore::DOMWindowExtension::suspendForBackForwardCache):

  • page/EventHandler.cpp:

(WebCore::EventHandler::defaultWheelEventHandler):

  • page/Frame.cpp:

(WebCore::Frame::addUserScriptAwaitingNotification):

  • page/FrameView.cpp:

(WebCore::FrameView::didLayout):

  • page/Page.cpp:

(WebCore::Page::didFinishLoadingImageForElement):

  • page/PrintContext.cpp:

(WebCore::PrintContext::begin):

  • page/ios/EventHandlerIOS.mm:

(WebCore::EventHandler::mouseMoved):

  • page/mac/ImageOverlayControllerMac.mm:

(WebCore::ImageOverlayController::updateDataDetectorHighlights):
(WebCore::ImageOverlayController::elementUnderMouseDidChange):

  • page/scrolling/mac/ScrollingTreeScrollingNodeDelegateMac.mm:

(WebCore::ScrollingTreeScrollingNodeDelegateMac::createTimer):

  • page/scrolling/nicosia/ScrollingCoordinatorNicosia.cpp:

(WebCore::ScrollingCoordinatorNicosia::handleWheelEventForScrolling):

  • platform/graphics/BitmapImage.cpp:

(WebCore::BitmapImage::framesNativeImages):

  • platform/graphics/FontCascadeFonts.cpp:

(WebCore::FontCascadeFonts::FontCascadeFonts):

  • platform/graphics/ImageSource.cpp:

(WebCore::ImageSource::startAsyncDecodingQueue):

  • platform/graphics/avfoundation/objc/LocalSampleBufferDisplayLayer.mm:

(WebCore::LocalSampleBufferDisplayLayer::enqueueSample):

  • platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:

(WebCore::SourceBufferPrivateAVFObjC::didParseInitializationData):

  • platform/graphics/cg/GraphicsContextGLCG.cpp:

(WebCore::GraphicsContextGLOpenGL::paintToCanvas):

  • platform/graphics/cg/ImageBufferCGBackend.cpp:

(WebCore::ImageBufferCGBackend::copyCGImageForEncoding const):

  • platform/graphics/displaylists/DisplayList.h:

(WebCore::DisplayList::DisplayList::cacheImageBuffer):
(WebCore::DisplayList::DisplayList::cacheNativeImage):
(WebCore::DisplayList::DisplayList::cacheFont):

  • platform/graphics/displaylists/DisplayListItems.cpp:

(WebCore::DisplayList::SetState::apply):

  • platform/graphics/gstreamer/mse/MediaSourceTrackGStreamer.cpp:

(WebCore::MediaSourceTrackGStreamer::create):

  • platform/graphics/gstreamer/mse/WebKitMediaSourceGStreamer.cpp:

(webKitMediaSrcEmitStreams):

  • platform/graphics/mac/ImageMac.mm:

(WebCore::BitmapImage::snapshotNSImage):

  • platform/graphics/nicosia/NicosiaSceneIntegration.cpp:

(Nicosia::SceneIntegration::SceneIntegration):

  • platform/mac/DataDetectorHighlight.mm:

(WebCore::DataDetectorHighlight::fadeOut):

  • platform/mediastream/libwebrtc/gstreamer/RealtimeIncomingVideoSourceLibWebRTC.cpp:

(WebCore::RealtimeIncomingVideoSourceLibWebRTC::OnFrame):

  • platform/mediastream/libwebrtc/gstreamer/RealtimeOutgoingAudioSourceLibWebRTC.cpp:

(WebCore::RealtimeOutgoingAudioSourceLibWebRTC::audioSamplesAvailable):

  • platform/network/SocketStreamHandle.cpp:

(WebCore::SocketStreamHandle::disconnect):

  • platform/network/curl/CurlRequest.cpp:

(WebCore::CurlRequest::callClient):

  • platform/network/curl/CurlResourceHandleDelegate.cpp:

(WebCore::CurlResourceHandleDelegate::curlDidReceiveResponse):

  • style/StyleBuilder.cpp:

(WebCore::Style::Builder::applyCustomProperty):

  • style/StyleBuilderCustom.h:

(WebCore::Style::BuilderCustom::applyValueCustomProperty):

  • style/StyleBuilderState.cpp:

(WebCore::Style::BuilderState::resolveImageStyles):

  • style/StyleScope.cpp:

(WebCore::Style::Scope::createOrFindSharedShadowTreeResolver):
(WebCore::Style::Scope::collectResolverScopes):

  • svg/SVGElement.cpp:

(WebCore::SVGElement::removedFromAncestor):

  • testing/Internals.cpp:

(WebCore:: const):
(WebCore::Internals::queueMicroTask):
(WebCore::Internals::queueTaskToQueueMicrotask):

  • testing/ServiceWorkerInternals.cpp:

(WebCore::ServiceWorkerInternals::waitForFetchEventToFinish):

  • workers/Worker.cpp:

(WebCore::Worker::createRTCRtpScriptTransformer):

  • workers/WorkerGlobalScope.cpp:

(WebCore::WorkerGlobalScope::createRTCDataChannelRemoteHandlerConnection):

  • workers/WorkerOrWorkletScriptController.cpp:

(WebCore::WorkerOrWorkletScriptController::loadModuleSynchronously):
(WebCore::WorkerOrWorkletScriptController::loadAndEvaluateModule):

  • workers/service/FetchEvent.cpp:

(WebCore::FetchEvent::promiseIsSettled):

  • workers/service/ServiceWorkerGlobalScope.cpp:

(WebCore::ServiceWorkerGlobalScope::skipWaiting):

  • workers/service/context/SWContextManager.cpp:

(WebCore::SWContextManager::stopWorker):

  • workers/service/context/ServiceWorkerThread.cpp:

(WebCore::ServiceWorkerThread::queueTaskToFireFetchEvent):
(WebCore::ServiceWorkerThread::queueTaskToPostMessage):
(WebCore::ServiceWorkerThread::queueTaskToFireInstallEvent):
(WebCore::ServiceWorkerThread::queueTaskToFireActivateEvent):

  • workers/service/context/ServiceWorkerThreadProxy.cpp:

(WebCore::ServiceWorkerThreadProxy::notifyNetworkStateChange):
(WebCore::ServiceWorkerThreadProxy::continueDidReceiveFetchResponse):

  • xml/XMLHttpRequestProgressEventThrottle.cpp:

(WebCore::XMLHttpRequestProgressEventThrottle::dispatchEventWhenPossible):

Source/WTF:

  • wtf/WeakPtr.h:

(WTF::WeakPtrFactory::createWeakPtr const):

7:37 PM Changeset in webkit [282859] by Ross Kirsling
  • 2 edits in trunk/Source/WebKit

[PlayStation] Unreviewed build fix (second attempt).

  • UIProcess/API/C/playstation/WKPagePrivatePlayStation.cpp:
6:45 PM Changeset in webkit [282858] by Ross Kirsling
  • 2 edits in trunk/Source/WebKit

[PlayStation] Unreviewed build fix.

  • UIProcess/API/C/playstation/WKPagePrivatePlayStation.cpp:
6:14 PM Changeset in webkit [282857] by ysuzuki@apple.com
  • 4 edits
    1 add in trunk

[JSC] CompareStrictEq is omitting String check incorrectly
https://bugs.webkit.org/show_bug.cgi?id=230582
rdar://83237121

Reviewed by Mark Lam.

JSTests:

  • stress/compare-strict-eq-string-check.js: Added.

(foo):
(bar):

Source/JavaScriptCore:

  1. Add left and right prefixes to neitherDoubleNorHeapBigIntChild and notDoubleChild edges since registers are named with left and right. Without this prefix, it is hard to follow in the code.
  2. Remove leftGPR and rightGPR and use leftRegs.payloadGPR() and rightRegs.payloadGPR() to avoid having different variables pointing to the same registers.
  3. DFG needsTypeCheck is done with wrong type filters. As a result, necessary checks are omitted. This patch fixes that. FTL does not have the same problem.
  • dfg/DFGSpeculativeJIT64.cpp:

(JSC::DFG::SpeculativeJIT::compileNeitherDoubleNorHeapBigIntToNotDoubleStrictEquality):

  • ftl/FTLLowerDFGToB3.cpp:

(JSC::FTL::DFG::LowerDFGToB3::compileCompareStrictEq):

5:34 PM Changeset in webkit [282856] by commit-queue@webkit.org
  • 50 edits
    1 delete in trunk/Source/WebKit

Remove GenericCallback
https://bugs.webkit.org/show_bug.cgi?id=229366

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

It has been replaced by sendWithAsyncReply.

This last use can't really be replaced by sendWithAsyncReply because the CallbackIDs are sent, then further encoded
in RemoteLayerTreeTransaction::encode/decode which you can't really do with a CompletionHandler. But we can replace
GenericCallback with WTF::Function.

  • Shared/CallbackID.h:
  • Shared/RemoteLayerTree/RemoteLayerTreeTransaction.h:
  • UIProcess/API/APIAttachment.h:
  • UIProcess/API/APIIconLoadingClient.h:
  • UIProcess/API/APIInspectorExtension.cpp:
  • UIProcess/API/APIUIClient.h:
  • UIProcess/API/C/WKPage.cpp:

(WKPageCallAfterNextPresentationUpdate):

  • UIProcess/API/Cocoa/WKBrowsingContextController.mm:
  • UIProcess/API/Cocoa/WKErrorInternal.h:
  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView takeSnapshotWithConfiguration:completionHandler:]):
(-[WKWebView _internalDoAfterNextPresentationUpdate:withoutWaitingForPainting:withoutWaitingForAnimatedResize:]):

  • UIProcess/API/Cocoa/_WKInspectorExtension.mm:
  • UIProcess/API/mac/WKView.mm:

(-[WKView _doAfterNextPresentationUpdate:]):

  • UIProcess/Automation/WebAutomationSession.cpp:

(WebKit::WebAutomationSession::takeScreenshot):

  • UIProcess/Automation/mac/WebAutomationSessionMac.mm:
  • UIProcess/Cocoa/WebProcessProxyCocoa.mm:
  • UIProcess/Cocoa/WebViewImpl.mm:
  • UIProcess/DrawingAreaProxy.h:

(WebKit::DrawingAreaProxy::dispatchAfterEnsuringDrawing):

  • UIProcess/GenericCallback.h: Removed.
  • UIProcess/Inspector/WebInspectorUIExtensionControllerProxy.cpp:
  • UIProcess/Inspector/mac/WKInspectorViewController.mm:
  • UIProcess/Notifications/WebNotificationManagerProxy.cpp:
  • UIProcess/RemoteLayerTree/RemoteLayerTreeDrawingAreaProxy.h:
  • UIProcess/RemoteLayerTree/RemoteLayerTreeDrawingAreaProxy.mm:

(WebKit::RemoteLayerTreeDrawingAreaProxy::~RemoteLayerTreeDrawingAreaProxy):
(WebKit::RemoteLayerTreeDrawingAreaProxy::commitLayerTree):
(WebKit::RemoteLayerTreeDrawingAreaProxy::dispatchAfterEnsuringDrawing):

  • UIProcess/WebContextClient.cpp:
  • UIProcess/WebCookieManagerProxy.h:
  • UIProcess/WebFrameProxy.h:
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::forceRepaint):
(WebKit::WebPageProxy::callAfterNextPresentationUpdate):

  • UIProcess/WebPageProxy.h:
  • UIProcess/WebProcessPool.cpp:
  • UIProcess/WebProcessPool.h:
  • UIProcess/ios/ViewGestureControllerIOS.mm:

(WebKit::ViewGestureController::endSwipeGesture):

  • UIProcess/ios/WKContentViewInteraction.mm:

(-[WKContentView willFinishIgnoringCalloutBarFadeAfterPerformingAction]):
(-[WKContentView dragInteraction:item:willAnimateCancelWithAnimator:]):

  • UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.h:
  • UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.mm:

(WebKit::TiledCoreAnimationDrawingAreaProxy::~TiledCoreAnimationDrawingAreaProxy):
(WebKit::TiledCoreAnimationDrawingAreaProxy::dispatchAfterEnsuringDrawing):
(WebKit::TiledCoreAnimationDrawingAreaProxy::dispatchPresentationCallbacksAfterFlushingLayers):

  • UIProcess/mac/WKFullScreenWindowController.h:
  • UIProcess/mac/WKTextFinderClient.mm:
  • WebKit.xcodeproj/project.pbxproj:
  • WebProcess/WebPage/RemoteLayerTree/RemoteLayerTreeContext.mm:
5:32 PM Changeset in webkit [282855] by Eric Hutchison
  • 2 edits in trunk/LayoutTests

[ BigSur wk2 Debug] imported/w3c/web-platform-tests/html/rendering/replaced-elements/svg-embedded-sizing/svg-in-iframe-fixed.html.
https://bugs.webkit.org/show_bug.cgi?id=230588.

Unreviewed test gardening.

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

Launch the new process a bit earlier when doing a COOP process-swap
https://bugs.webkit.org/show_bug.cgi?id=230555

Reviewed by Alex Christensen.

Launch the new process a bit earlier when doing a COOP process-swap for better performance.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::decidePolicyForResponseShared):

5:27 PM Changeset in webkit [282853] by commit-queue@webkit.org
  • 24 edits
    1 add in trunk/Source

Reduce sizeof(NetworkLoadMetrics)
https://bugs.webkit.org/show_bug.cgi?id=226982

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

Source/WebCore:

No change in behavior. Just greatly reducing the size of a common structure.

We take all the members that aren't used without the inspector and move them to a new struct,
AdditionalNetworkLoadMetricsForWebInspector. We also remove some equality comparison that
was unnecessary because it was only used for AuthenticationChallenge equality comparisons in
ResourceHandleMac. We also use emptyMetrics() to remove a few unnecessary and hard to see
copy constructor calls.

  • Sources.txt:
  • WebCore.xcodeproj/project.pbxproj:
  • inspector/agents/InspectorNetworkAgent.cpp:

(WebCore::InspectorNetworkAgent::buildObjectForMetrics):
(WebCore::InspectorNetworkAgent::buildObjectForResourceResponse):

  • loader/DocumentThreadableLoader.cpp:

(WebCore::DocumentThreadableLoader::loadRequest):

  • loader/SubresourceLoader.cpp:

(WebCore::SubresourceLoader::didReceiveResponse):
(WebCore::SubresourceLoader::didFinishLoading):

  • loader/cache/CachedResourceLoader.cpp:

(WebCore::CachedResourceLoader::requestResource):

  • platform/network/AuthenticationChallengeBase.cpp:

(WebCore::AuthenticationChallengeBase::equalForWebKitLegacyChallengeComparison):
(WebCore::AuthenticationChallengeBase::compare): Deleted.

  • platform/network/AuthenticationChallengeBase.h:

(WebCore::operator==): Deleted.
(WebCore::operator!=): Deleted.

  • platform/network/NetworkLoadMetrics.cpp: Added.

(WebCore::NetworkLoadMetrics::NetworkLoadMetrics):
(WebCore::NetworkLoadMetrics::emptyMetrics):
(WebCore::AdditionalNetworkLoadMetricsForWebInspector::isolatedCopy):
(WebCore::NetworkLoadMetrics::isolatedCopy const):

  • platform/network/NetworkLoadMetrics.h:

(WebCore::NetworkLoadMetrics::encode const):
(WebCore::NetworkLoadMetrics::decode):
(WebCore::AdditionalNetworkLoadMetricsForWebInspector::encode const):
(WebCore::AdditionalNetworkLoadMetricsForWebInspector::decode):
(WebCore::NetworkLoadMetricsWithoutNonTimingData::isComplete const): Deleted.
(WebCore::NetworkLoadMetricsWithoutNonTimingData::markComplete): Deleted.
(WebCore::NetworkLoadMetrics::NetworkLoadMetrics): Deleted.
(WebCore::NetworkLoadMetrics::isolatedCopy const): Deleted.
(WebCore::NetworkLoadMetrics::operator== const): Deleted.
(WebCore::NetworkLoadMetrics::operator!= const): Deleted.

  • platform/network/ResourceResponseBase.cpp:

(WebCore::ResourceResponseBase::equalForWebKitLegacyChallengeComparison):
(WebCore::ResourceResponseBase::compare): Deleted.

  • platform/network/ResourceResponseBase.h:

(WebCore::operator==): Deleted.
(WebCore::operator!=): Deleted.

  • platform/network/curl/CurlContext.cpp:

(WebCore::CurlHandle::addExtraNetworkLoadMetrics):

  • platform/network/curl/CurlRequest.cpp:

(WebCore::CurlRequest::networkLoadMetrics):

  • platform/network/curl/ResourceHandleCurl.cpp:

(WebCore::ResourceHandle::receivedCredential):
(WebCore::ResourceHandle::receivedRequestToContinueWithoutCredential):
(WebCore::ResourceHandle::receivedCancellation):

  • platform/network/mac/ResourceHandleMac.mm:

(WebCore::ResourceHandle::receivedCredential):
(WebCore::ResourceHandle::receivedRequestToContinueWithoutCredential):
(WebCore::ResourceHandle::receivedCancellation):
(WebCore::ResourceHandle::receivedRequestToPerformDefaultHandling):
(WebCore::ResourceHandle::receivedChallengeRejection):

Source/WebKit:

  • NetworkProcess/NetworkResourceLoader.cpp:

(WebKit::NetworkResourceLoader::sendResultForCacheEntry):

  • NetworkProcess/cocoa/NetworkSessionCocoa.mm:

(-[WKNetworkSessionDelegate URLSession:task:didFinishCollectingMetrics:]):

  • NetworkProcess/soup/NetworkDataTaskSoup.cpp:

(WebKit::NetworkDataTaskSoup::additionalNetworkLoadMetricsForWebInspector):
(WebKit::NetworkDataTaskSoup::didGetHeaders):
(WebKit::NetworkDataTaskSoup::wroteHeadersCallback):
(WebKit::NetworkDataTaskSoup::wroteBodyCallback):
(WebKit::NetworkDataTaskSoup::networkEvent):
(WebKit::NetworkDataTaskSoup::didRestart):

  • Shared/WebCoreArgumentCoders.h:
5:11 PM Changeset in webkit [282852] by ysuzuki@apple.com
  • 2 edits in trunk/Source/WTF

[WTF] Use Int128 in MediaTime
https://bugs.webkit.org/show_bug.cgi?id=230575

Reviewed by Eric Carlson.

Previously, int128_t exists only in 64bit clang and GCC environments. But now
we always have Int128. Int128 is
int128_t in 64bit clang and GCC, and Int128 library
implementation in the other environments. So we always use Int128 code in MediaTime.

  • wtf/MediaTime.cpp:

(WTF::MediaTime::setTimeScale):

5:04 PM Changeset in webkit [282851] by mmaxfield@apple.com
  • 22 edits
    7 adds in trunk

Parsing support for font-palette
https://bugs.webkit.org/show_bug.cgi?id=230394

Reviewed by Simon Fraser.

LayoutTests/imported/w3c:

This is being upstreamed at https://github.com/web-platform-tests/wpt/pull/30845.

  • web-platform-tests/css/css-cascade/all-prop-initial-xml-expected.txt:
  • web-platform-tests/css/css-fonts/parsing/font-palette-computed-expected.txt: Added.
  • web-platform-tests/css/css-fonts/parsing/font-palette-computed.html: Added.
  • web-platform-tests/css/css-fonts/parsing/font-palette-invalid-expected.txt: Added.
  • web-platform-tests/css/css-fonts/parsing/font-palette-invalid.html: Added.
  • web-platform-tests/css/css-fonts/parsing/font-palette-valid-expected.txt: Added.
  • web-platform-tests/css/css-fonts/parsing/font-palette-valid.html: Added.
  • web-platform-tests/css/cssom/cssstyledeclaration-csstext-expected.txt:
  • web-platform-tests/css/cssom/getComputedStyle-detached-subtree-expected.txt:

Source/WebCore:

This is a pretty straightforward parsing patch. The grammar is just
font-palette: none | normal | light | dark | <palette-identifier>.
A <palette-identifier> is a <custom-ident>.

There is a choice to make about how to represent the parsed data:
Option 1:
class None {}; class Normal {}; class Light {}; class Dark {};
class Custom { String value; };
using FontPalette = Variant<None, Normal, Light, Dark, Custom>;

or,
Option 2:
struct FontPalette {

enum class Type { None, Normal, Light, Dark, Custom } type;
String value;

};

Upon advice from a trusted colleague, I chose option 2.

I'm implementing parsing support for @font-palette-values in
https://bugs.webkit.org/show_bug.cgi?id=230337.

Tests: imported/w3c/web-platform-tests/css/css-fonts/parsing/font-palette-computed.html

imported/w3c/web-platform-tests/css/css-fonts/parsing/font-palette-invalid.html
imported/w3c/web-platform-tests/css/css-fonts/parsing/font-palette-valid.html

  • Headers.cmake:
  • WebCore.xcodeproj/project.pbxproj:
  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::fontPaletteFromStyle):
(WebCore::ComputedStyleExtractor::valueForPropertyInStyle):

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

(WebCore::consumeFontPalette):
(WebCore::CSSPropertyParser::parseSingleValue):

  • platform/graphics/FontCache.h:

(WebCore::FontDescriptionKeyRareData::create):
(WebCore::FontDescriptionKeyRareData::featureSettings const):
(WebCore::FontDescriptionKeyRareData::variationSettings const):
(WebCore::FontDescriptionKeyRareData::fontPalette const):
(WebCore::FontDescriptionKeyRareData::operator== const):
(WebCore::FontDescriptionKeyRareData::FontDescriptionKeyRareData):
(WebCore::add):
(WebCore::FontDescriptionKey::FontDescriptionKey):
(WebCore::FontDescriptionKey::operator== const):

  • platform/graphics/FontCascadeDescription.cpp:
  • platform/graphics/FontCascadeDescription.h:

(WebCore::FontCascadeDescription::initialFontPalette):

  • platform/graphics/FontDescription.cpp:

(WebCore::FontDescription::FontDescription):

  • platform/graphics/FontDescription.h:

(WebCore::FontDescription::fontPalette const):
(WebCore::FontDescription::setFontPalette):
(WebCore::FontDescription::operator== const):
(WebCore::FontDescription::encode const):
(WebCore::FontDescription::decode):

  • platform/graphics/FontPalette.h: Added.

(WebCore::FontPaletteNone::operator== const):
(WebCore::FontPaletteNone::operator!= const):
(WebCore::add):
(WebCore::FontPaletteNormal::operator== const):
(WebCore::FontPaletteNormal::operator!= const):
(WebCore::FontPaletteLight::operator== const):
(WebCore::FontPaletteLight::operator!= const):
(WebCore::FontPaletteDark::operator== const):
(WebCore::FontPaletteDark::operator!= const):
(WebCore::FontPaletteCustom::operator== const):
(WebCore::FontPaletteCustom::operator!= const):

  • style/StyleBuilderConverter.h:

(WebCore::Style::BuilderConverter::convertFontPalette):

LayoutTests:

  • platform/ios-wk2/imported/w3c/web-platform-tests/css/cssom/cssstyledeclaration-csstext-expected.txt:
  • platform/ios-wk2/imported/w3c/web-platform-tests/css/cssom/getComputedStyle-detached-subtree-expected.txt:
  • platform/ios/fast/css/getComputedStyle/computed-style-font-family-expected.txt:
  • platform/mac/fast/css/getComputedStyle/computed-style-font-family-expected.txt:
5:00 PM Changeset in webkit [282850] by basuke.suzuki@sony.com
  • 3 edits in trunk/Source/bmalloc

[bmalloc] freeableMemory and footprint of Heap are completely broken
https://bugs.webkit.org/show_bug.cgi?id=230245

Reviewed by Geoffrey Garen.

This introduced in r279922. The physical size of the newly allocated range was changed from zero
to the size of the range on that commit and that causes the numbers wrong. That change itself is
correct fix because the range has physical pages attached. That simply activated the bug which was
there for a long time.

I've added the correction to adjust both numbers with newly allocated region. Also added assertion
to check the overflow of those values and the option to log those value change to the console.

Fortunately those numbers are used for debugging purpose. Scavenger will dump out those to stderr
with its verbose mode. There's no practical cases affected by this bug.

Here is the example of footprint logging before fixing the bug:

footprint: 18446744073709535232 (-16384) scavenge

footprint: 18446744073709518848 (-16384) scavenge
footprint: 18446744073709502464 (-16384) scavenge
footprint: 18446744073709486080 (-16384) scavenge
footprint: 18446744073709469696 (-16384) scavenge
footprint: 18446744073709453312 (-16384) scavenge
...

It just began with negative number which overflows on unsigned. And following is the one with fix:

footprint: 1048576 (1048576) allocateLarge
footprint: 2097152 (1048576) allocateLarge
footprint: 3145728 (1048576) allocateLarge
footprint: 4194304 (1048576) allocateLarge
footprint: 5242880 (1048576) allocateLarge
footprint: 6291456 (1048576) allocateLarge

footprint: 6275072 (-16384) scavenge

footprint: 6258688 (-16384) scavenge
footprint: 6242304 (-16384) scavenge
footprint: 6225920 (-16384) scavenge
footprint: 6209536 (-16384) scavenge
footprint: 6193152 (-16384) scavenge
...

  • bmalloc/Heap.cpp:

(bmalloc::Heap::adjustStat):
(bmalloc::Heap::logStat):
(bmalloc::Heap::adjustFreeableMemory):
(bmalloc::Heap::adjustFootprint):
(bmalloc::Heap::decommitLargeRange):
(bmalloc::Heap::scavenge):
(bmalloc::Heap::allocateSmallChunk):
(bmalloc::Heap::allocateSmallPage):
(bmalloc::Heap::deallocateSmallLine):
(bmalloc::Heap::splitAndAllocate):
(bmalloc::Heap::allocateLarge):
(bmalloc::Heap::deallocateLarge):
(bmalloc::Heap::externalCommit):
(bmalloc::Heap::externalDecommit):

  • bmalloc/Heap.h:
4:35 PM Changeset in webkit [282849] by ddkilzer@apple.com
  • 2 edits in trunk/Source/WebKit

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

Reviewed by Tim Horton.

  • UIProcess/Cocoa/WebProcessPoolCocoa.mm:

(WebKit::WebProcessPool::registerNotificationObservers):

  • Set m_weakObserver for all platforms at the beginning of the method. Previously it was only set for macOS.
4:03 PM Changeset in webkit [282848] by Chris Dumez
  • 43 edits in trunk

Drop makeRefPtr() and use RefPtr { } directly instead
https://bugs.webkit.org/show_bug.cgi?id=230564

Reviewed by Alex Christensen.

Source/WebKit:

  • GPUProcess/graphics/RemoteRenderingBackend.cpp:

(WebKit::RemoteRenderingBackend::nextDestinationImageBufferAfterApplyingDisplayLists):
(WebKit::RemoteRenderingBackend::wakeUpAndApplyDisplayList):

  • NetworkProcess/IndexedDB/WebIDBServer.cpp:

(WebKit::WebIDBServer::addConnection):

  • NetworkProcess/cocoa/NetworkSessionCocoa.mm:

(-[WKNetworkSessionDelegate URLSession:task:didReceiveChallenge:completionHandler:]):

  • Platform/IPC/Connection.cpp:

(IPC::Connection::MessagesThrottler::scheduleMessagesDispatch):

  • Shared/WebHitTestResultData.cpp:

(WebKit::WebHitTestResultData::WebHitTestResultData):

  • Shared/mac/MediaFormatReader/MediaFormatReader.cpp:

(WebKit::MediaFormatReader::parseByteSource):

  • UIProcess/API/glib/WebKitWebView.cpp:

(webkitWebViewCreateNewPage):

  • UIProcess/Automation/WebAutomationSession.cpp:

(WebKit::WebAutomationSession::setWindowFrameOfBrowsingContext):
(WebKit::WebAutomationSession::maximizeWindowOfBrowsingContext):
(WebKit::WebAutomationSession::hideWindowOfBrowsingContext):

  • UIProcess/Cocoa/UIDelegate.mm:

(WebKit::UIDelegate::UIClient::runOpenPanel):
(WebKit::UIDelegate::UIClient::requestPointerLock):

  • UIProcess/Cocoa/WebPageProxyCocoa.mm:

(WebKit::WebPageProxy::scheduleActivityStateUpdate):

  • UIProcess/Cocoa/WebProcessPoolCocoa.mm:

(-[WKProcessPoolWeakObserver pool]):

  • UIProcess/Network/NetworkProcessProxy.cpp:

(WebKit::NetworkProcessProxy::terminateUnresponsiveServiceWorkerProcesses):

  • UIProcess/WebContextMenuProxy.cpp:

(WebKit::WebContextMenuProxy::useContextMenuItems):

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::handlePreventableTouchEvent):
(WebKit::WebPageProxy::didStartProvisionalLoadForFrameShared):
(WebKit::WebPageProxy::decidePolicyForNavigationAction):
(WebKit::WebPageProxy::runModalJavaScriptDialog):
(WebKit::WebPageProxy::runJavaScriptAlert):
(WebKit::WebPageProxy::runJavaScriptConfirm):
(WebKit::WebPageProxy::runJavaScriptPrompt):

  • UIProcess/WebProcessPool.cpp:

(WebKit::WebProcessPool::processForNavigation):

  • UIProcess/ios/ViewGestureControllerIOS.mm:

(WebKit::ViewGestureController::beginSwipeGesture):

  • UIProcess/mac/WebContextMenuProxyMac.mm:

(WebKit::WebContextMenuProxyMac::getContextMenuFromItems):
(WebKit::WebContextMenuProxyMac::insertOrUpdateQuickLookImageItem):

  • WebProcess/GPU/graphics/RemoteRenderingBackendProxy.cpp:

(WebKit::RemoteRenderingBackendProxy::waitForDidCreateImageBufferBackend):
(WebKit::RemoteRenderingBackendProxy::waitForDidFlush):
(WebKit::RemoteRenderingBackendProxy::findReusableDisplayListHandle):

  • WebProcess/GPU/media/MediaPlayerPrivateRemote.cpp:

(WebKit::MediaPlayerPrivateRemote::prepareForPlayback):
(WebKit::MediaPlayerPrivateRemote::load):
(WebKit::MediaPlayerPrivateRemote::networkStateChanged):
(WebKit::MediaPlayerPrivateRemote::setReadyState):
(WebKit::MediaPlayerPrivateRemote::readyStateChanged):
(WebKit::MediaPlayerPrivateRemote::volumeChanged):
(WebKit::MediaPlayerPrivateRemote::muteChanged):
(WebKit::MediaPlayerPrivateRemote::timeChanged):
(WebKit::MediaPlayerPrivateRemote::durationChanged):
(WebKit::MediaPlayerPrivateRemote::rateChanged):
(WebKit::MediaPlayerPrivateRemote::playbackStateChanged):
(WebKit::MediaPlayerPrivateRemote::engineFailedToLoad):
(WebKit::MediaPlayerPrivateRemote::characteristicChanged):
(WebKit::MediaPlayerPrivateRemote::sizeChanged):
(WebKit::MediaPlayerPrivateRemote::firstVideoFrameAvailable):
(WebKit::MediaPlayerPrivateRemote::renderingModeChanged):
(WebKit::MediaPlayerPrivateRemote::acceleratedRenderingStateChanged):
(WebKit::MediaPlayerPrivateRemote::addRemoteAudioTrack):
(WebKit::MediaPlayerPrivateRemote::removeRemoteAudioTrack):
(WebKit::MediaPlayerPrivateRemote::addRemoteTextTrack):
(WebKit::MediaPlayerPrivateRemote::removeRemoteTextTrack):
(WebKit::MediaPlayerPrivateRemote::addRemoteVideoTrack):
(WebKit::MediaPlayerPrivateRemote::removeRemoteVideoTrack):
(WebKit::MediaPlayerPrivateRemote::currentPlaybackTargetIsWirelessChanged):
(WebKit::MediaPlayerPrivateRemote::mediaPlayerKeyNeeded):
(WebKit::MediaPlayerPrivateRemote::waitingForKeyChanged):
(WebKit::MediaPlayerPrivateRemote::initializationDataEncountered):
(WebKit::MediaPlayerPrivateRemote::resourceNotSupported):
(WebKit::MediaPlayerPrivateRemote::activeSourceBuffersChanged):
(WebKit::MediaPlayerPrivateRemote::getRawCookies const):

  • WebProcess/GPU/webrtc/MediaRecorderPrivate.cpp:

(WebKit::MediaRecorderPrivate::startRecording):

  • WebProcess/InjectedBundle/DOM/InjectedBundleRangeHandle.cpp:

(WebKit::InjectedBundleRangeHandle::renderedImage):

  • WebProcess/Network/WebLoaderStrategy.cpp:

(WebKit::WebLoaderStrategy::scheduleLoad):
(WebKit::WebLoaderStrategy::scheduleLoadFromNetworkProcess):

  • WebProcess/Notifications/WebNotificationManager.cpp:

(WebKit::WebNotificationManager::didDestroyNotification):

  • WebProcess/WebCoreSupport/mac/WebDragClientMac.mm:

(WebKit::WebDragClient::declareAndWriteDragImage):

  • WebProcess/WebPage/FindController.cpp:

(WebKit::FindController::findStringMatches):

  • WebProcess/WebPage/IPCTestingAPI.cpp:

(WebKit::IPCTestingAPI::JSIPCSemaphore::signal):
(WebKit::IPCTestingAPI::JSIPCSemaphore::waitFor):
(WebKit::IPCTestingAPI::JSSharedMemory::readBytes):
(WebKit::IPCTestingAPI::JSSharedMemory::writeBytes):
(WebKit::IPCTestingAPI::JSIPC::addMessageListener):
(WebKit::IPCTestingAPI::encodeRemoteRenderingBackendCreationParameters):
(WebKit::IPCTestingAPI::encodeSharedMemory):
(WebKit::IPCTestingAPI::encodeSemaphore):
(WebKit::IPCTestingAPI::encodeArgument):
(WebKit::IPCTestingAPI::JSIPC::sendMessage):
(WebKit::IPCTestingAPI::JSIPC::sendSyncMessage):
(WebKit::IPCTestingAPI::JSIPC::vmPageSize):

  • WebProcess/WebPage/RemoteLayerTree/RemoteLayerTreeDrawingArea.mm:

(WebKit::RemoteLayerTreeDrawingArea::addCommitHandlers):

  • WebProcess/WebPage/ViewGestureGeometryCollector.cpp:

(WebKit::ViewGestureGeometryCollector::computeTextLegibilityScales):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::runJavaScriptInFrameInScriptWorld):
(WebKit::WebPage::getContentsAsString):
(WebKit::WebPage::removeDataDetectedLinks):
(WebKit::WebPage::detectDataInAllFrames):
(WebKit::WebPage::startTextManipulations):
(WebKit::WebPage::completeTextManipulation):
(WebKit::WebPage::requestTextRecognition):
(WebKit::WebPage::updateWithTextRecognitionResult):
(WebKit::WebPage::createAppHighlightInSelectedRange):
(WebKit::WebPage::setAppHighlightsVisibility):

  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::getPlatformEditorState const):
(WebKit::insideImageOverlay):
(WebKit::expandForImageOverlay):
(WebKit::rangeForPointInRootViewCoordinates):
(WebKit::WebPage::rootViewBounds):
(WebKit::WebPage::absoluteInteractionBounds):
(WebKit::WebPage::rootViewInteractionBounds):
(WebKit::WebPage::requestEvasionRectsAboveSelection):
(WebKit::dataDetectorImageOverlayPositionInformation):
(WebKit::selectionPositionInformation):
(WebKit::populateCaretContext):
(WebKit::WebPage::positionInformation):
(WebKit::WebPage::performActionOnElement):
(WebKit::WebPage::shrinkToFitContent):
(WebKit::WebPage::updateVisibleContentRects):
(WebKit::WebPage::updateSelectionWithDelta):
(WebKit::WebPage::requestDocumentEditingContext):
(WebKit::WebPage::animationDidFinishForElement):

  • WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:

(WebKit::TiledCoreAnimationDrawingArea::addCommitHandlers):

  • WebProcess/WebPage/mac/WebPageMac.mm:

(WebKit::WebPage::performImmediateActionHitTestAtLocation):

Source/WebKitLegacy/mac:

  • DOM/DOM.mm:

(-[DOMRange renderedImageForcingBlackText:renderedImageForcingBlackText:]):

  • WebCoreSupport/WebContextMenuClient.mm:

(WebContextMenuClient::imageForCurrentSharingServicePickerItem):

  • WebCoreSupport/WebDragClient.mm:

(WebDragClient::declareAndWriteDragImage):

  • WebView/WebHTMLRepresentation.mm:

(-[WebHTMLRepresentation elementWithName:inForm:]):
(-[WebHTMLRepresentation controlsInForm:]):

  • WebView/WebView.mm:

(-[WebView updateTextTouchBar]):

Source/WTF:

  • wtf/RefPtr.h:

Tools:

  • TestWebKitAPI/Tests/WTF/RunLoop.cpp:

(TestWebKitAPI::TEST):

4:02 PM Changeset in webkit [282847] by Brent Fulgham
  • 13 edits
    7 deletes in trunk

Remove XSS Auditor: Part 2 (Remove engine support)
https://bugs.webkit.org/show_bug.cgi?id=230499
<rdar://problem/83318883>

Reviewed by Yusuke Suzuki.

This patch removes the implementation of the XSS Auditor from the engine, but leave the API in place so that
client software doesn't see any change in interface.

Source/WebCore:

  • Sources.txt:
  • WebCore.xcodeproj/project.pbxproj:
  • html/parser/HTMLDocumentParser.cpp:

(WebCore::HTMLDocumentParser::HTMLDocumentParser):
(WebCore::HTMLDocumentParser::pumpTokenizerLoop):
(WebCore::HTMLDocumentParser::pumpTokenizer):

  • html/parser/HTMLDocumentParser.h:
  • html/parser/HTMLToken.h:

(WebCore::HTMLToken::attributes const):
(WebCore::HTMLToken::eraseValueOfAttribute): Deleted.

  • html/parser/XSSAuditor.cpp: Removed.
  • html/parser/XSSAuditor.h: Removed.
  • html/parser/XSSAuditorDelegate.cpp: Removed.
  • html/parser/XSSAuditorDelegate.h: Removed.
  • loader/PingLoader.cpp:

(WebCore::PingLoader::sendViolationReport):

  • loader/PingLoader.h:

LayoutTests:

  • fast/frames/xss-auditor-handles-file-urls-expected.txt: Removed.
  • fast/frames/xss-auditor-handles-file-urls.html: Removed.
  • http/tests/security/xssAuditor/anchor-url-dom-write-location-expected.txt: Removed.
  • http/tests/security/xssAuditor/anchor-url-dom-write-location-inline-event-expected.txt: Removed.
  • http/tests/security/xssAuditor/anchor-url-dom-write-location-inline-event-null-char-expected.txt: Removed.
  • http/tests/security/xssAuditor/anchor-url-dom-write-location-inline-event-null-char.html: Removed.
  • http/tests/security/xssAuditor/anchor-url-dom-write-location-inline-event.html: Removed.
  • http/tests/security/xssAuditor/anchor-url-dom-write-location-javascript-URL-expected.txt: Removed.
  • http/tests/security/xssAuditor/anchor-url-dom-write-location-javascript-URL.html: Removed.
  • http/tests/security/xssAuditor/anchor-url-dom-write-location.html: Removed.
  • http/tests/security/xssAuditor/anchor-url-dom-write-location2-expected.txt: Removed.
  • http/tests/security/xssAuditor/anchor-url-dom-write-location2.html: Removed.
  • http/tests/security/xssAuditor/base-href-control-char-expected.txt: Removed.
  • http/tests/security/xssAuditor/base-href-control-char.html: Removed.
  • http/tests/security/xssAuditor/base-href-direct-expected.txt: Removed.
  • http/tests/security/xssAuditor/base-href-direct.html: Removed.
  • http/tests/security/xssAuditor/base-href-expected.txt: Removed.
  • http/tests/security/xssAuditor/base-href-null-char-expected.txt: Removed.
  • http/tests/security/xssAuditor/base-href-null-char.html: Removed.
  • http/tests/security/xssAuditor/base-href-safe-expected.txt: Removed.
  • http/tests/security/xssAuditor/base-href-safe.html: Removed.
  • http/tests/security/xssAuditor/base-href-safe2-expected.txt: Removed.
  • http/tests/security/xssAuditor/base-href-safe2.html: Removed.
  • http/tests/security/xssAuditor/base-href-safe3-expected.txt: Removed.
  • http/tests/security/xssAuditor/base-href-safe3.html: Removed.
  • http/tests/security/xssAuditor/base-href-scheme-relative-expected.txt: Removed.
  • http/tests/security/xssAuditor/base-href-scheme-relative.html: Removed.
  • http/tests/security/xssAuditor/base-href.html: Removed.
  • http/tests/security/xssAuditor/block-does-not-leak-location-expected.txt: Removed.
  • http/tests/security/xssAuditor/block-does-not-leak-location.html: Removed.
  • http/tests/security/xssAuditor/block-does-not-leak-referrer-expected.txt: Removed.
  • http/tests/security/xssAuditor/block-does-not-leak-referrer.html: Removed.
  • http/tests/security/xssAuditor/block-does-not-leak-that-page-was-blocked-using-empty-data-url-expected.txt: Removed.
  • http/tests/security/xssAuditor/block-does-not-leak-that-page-was-blocked-using-empty-data-url.html: Removed.
  • http/tests/security/xssAuditor/cached-frame-expected.txt: Removed.
  • http/tests/security/xssAuditor/cached-frame.html: Removed.
  • http/tests/security/xssAuditor/cookie-injection-expected.txt: Removed.
  • http/tests/security/xssAuditor/cookie-injection.html: Removed.
  • http/tests/security/xssAuditor/crash-while-loading-tag-with-pause-expected.txt: Removed.
  • http/tests/security/xssAuditor/crash-while-loading-tag-with-pause.html: Removed.
  • http/tests/security/xssAuditor/data-urls-work-expected.txt: Removed.
  • http/tests/security/xssAuditor/data-urls-work.html: Removed.
  • http/tests/security/xssAuditor/dom-write-URL-expected.txt: Removed.
  • http/tests/security/xssAuditor/dom-write-URL.html: Removed.
  • http/tests/security/xssAuditor/dom-write-innerHTML-expected.txt: Removed.
  • http/tests/security/xssAuditor/dom-write-innerHTML.html: Removed.
  • http/tests/security/xssAuditor/dom-write-location-dom-write-open-img-onerror-expected.txt: Removed.
  • http/tests/security/xssAuditor/dom-write-location-dom-write-open-img-onerror.html: Removed.
  • http/tests/security/xssAuditor/dom-write-location-expected.txt: Removed.
  • http/tests/security/xssAuditor/dom-write-location-inline-event-expected.txt: Removed.
  • http/tests/security/xssAuditor/dom-write-location-inline-event.html: Removed.
  • http/tests/security/xssAuditor/dom-write-location-javascript-URL-expected.txt: Removed.
  • http/tests/security/xssAuditor/dom-write-location-javascript-URL.html: Removed.
  • http/tests/security/xssAuditor/dom-write-location-open-img-onerror-expected.txt: Removed.
  • http/tests/security/xssAuditor/dom-write-location-open-img-onerror.html: Removed.
  • http/tests/security/xssAuditor/dom-write-location.html: Removed.
  • http/tests/security/xssAuditor/embed-tag-code-attribute-2-expected.txt: Removed.
  • http/tests/security/xssAuditor/embed-tag-code-attribute-2.html: Removed.
  • http/tests/security/xssAuditor/embed-tag-code-attribute-expected.txt: Removed.
  • http/tests/security/xssAuditor/embed-tag-code-attribute.html: Removed.
  • http/tests/security/xssAuditor/embed-tag-control-char-expected.txt: Removed.
  • http/tests/security/xssAuditor/embed-tag-control-char.html: Removed.
  • http/tests/security/xssAuditor/embed-tag-expected.txt: Removed.
  • http/tests/security/xssAuditor/embed-tag-in-path-unterminated-expected.txt: Removed.
  • http/tests/security/xssAuditor/embed-tag-in-path-unterminated.html: Removed.
  • http/tests/security/xssAuditor/embed-tag-javascript-url-expected.txt: Removed.
  • http/tests/security/xssAuditor/embed-tag-javascript-url.html: Removed.
  • http/tests/security/xssAuditor/embed-tag-null-char-expected.txt: Removed.
  • http/tests/security/xssAuditor/embed-tag-null-char.html: Removed.
  • http/tests/security/xssAuditor/embed-tag.html: Removed.
  • http/tests/security/xssAuditor/faux-script1-expected.txt: Removed.
  • http/tests/security/xssAuditor/faux-script1.html: Removed.
  • http/tests/security/xssAuditor/faux-script2-expected.txt: Removed.
  • http/tests/security/xssAuditor/faux-script2.html: Removed.
  • http/tests/security/xssAuditor/faux-script3-expected.txt: Removed.
  • http/tests/security/xssAuditor/faux-script3.html: Removed.
  • http/tests/security/xssAuditor/form-action-expected.txt: Removed.
  • http/tests/security/xssAuditor/form-action.html: Removed.
  • http/tests/security/xssAuditor/formaction-on-button-expected.txt: Removed.
  • http/tests/security/xssAuditor/formaction-on-button.html: Removed.
  • http/tests/security/xssAuditor/formaction-on-input-expected.txt: Removed.
  • http/tests/security/xssAuditor/formaction-on-input.html: Removed.
  • http/tests/security/xssAuditor/frameset-injection-expected.txt: Removed.
  • http/tests/security/xssAuditor/frameset-injection.html: Removed.
  • http/tests/security/xssAuditor/full-block-base-href-expected.txt: Removed.
  • http/tests/security/xssAuditor/full-block-base-href.html: Removed.
  • http/tests/security/xssAuditor/full-block-get-from-iframe-expected.txt: Removed.
  • http/tests/security/xssAuditor/full-block-get-from-iframe.html: Removed.
  • http/tests/security/xssAuditor/full-block-iframe-javascript-url-expected.txt: Removed.
  • http/tests/security/xssAuditor/full-block-iframe-javascript-url.html: Removed.
  • http/tests/security/xssAuditor/full-block-iframe-no-inherit-expected.txt: Removed.
  • http/tests/security/xssAuditor/full-block-iframe-no-inherit.py: Removed.
  • http/tests/security/xssAuditor/full-block-javascript-link-expected.txt: Removed.
  • http/tests/security/xssAuditor/full-block-javascript-link.html: Removed.
  • http/tests/security/xssAuditor/full-block-link-onclick-expected.txt: Removed.
  • http/tests/security/xssAuditor/full-block-link-onclick.html: Removed.
  • http/tests/security/xssAuditor/full-block-object-tag-expected.txt: Removed.
  • http/tests/security/xssAuditor/full-block-object-tag.html: Removed.
  • http/tests/security/xssAuditor/full-block-post-from-iframe-expected.txt: Removed.
  • http/tests/security/xssAuditor/full-block-post-from-iframe.html: Removed.
  • http/tests/security/xssAuditor/full-block-script-tag-cross-domain-expected.txt: Removed.
  • http/tests/security/xssAuditor/full-block-script-tag-cross-domain.html: Removed.
  • http/tests/security/xssAuditor/full-block-script-tag-expected.txt: Removed.
  • http/tests/security/xssAuditor/full-block-script-tag-with-source-expected.txt: Removed.
  • http/tests/security/xssAuditor/full-block-script-tag-with-source.html: Removed.
  • http/tests/security/xssAuditor/full-block-script-tag.html: Removed.
  • http/tests/security/xssAuditor/get-from-iframe-expected.txt: Removed.
  • http/tests/security/xssAuditor/get-from-iframe.html: Removed.
  • http/tests/security/xssAuditor/iframe-injection-allowed-2-expected.txt: Removed.
  • http/tests/security/xssAuditor/iframe-injection-allowed-2.html: Removed.
  • http/tests/security/xssAuditor/iframe-injection-allowed-3-expected.txt: Removed.
  • http/tests/security/xssAuditor/iframe-injection-allowed-3.html: Removed.
  • http/tests/security/xssAuditor/iframe-injection-allowed-expected.txt: Removed.
  • http/tests/security/xssAuditor/iframe-injection-allowed.html: Removed.
  • http/tests/security/xssAuditor/iframe-injection-expected.txt: Removed.
  • http/tests/security/xssAuditor/iframe-injection.html: Removed.
  • http/tests/security/xssAuditor/iframe-javascript-url-expected.txt: Removed.
  • http/tests/security/xssAuditor/iframe-javascript-url-more-encoding-expected.txt: Removed.
  • http/tests/security/xssAuditor/iframe-javascript-url-more-encoding.html: Removed.
  • http/tests/security/xssAuditor/iframe-javascript-url-twice-url-encode-expected.txt: Removed.
  • http/tests/security/xssAuditor/iframe-javascript-url-twice-url-encode.html: Removed.
  • http/tests/security/xssAuditor/iframe-javascript-url-twice-url-encode2-expected.txt: Removed.
  • http/tests/security/xssAuditor/iframe-javascript-url-twice-url-encode2.html: Removed.
  • http/tests/security/xssAuditor/iframe-javascript-url-twice-url-encode3-expected.txt: Removed.
  • http/tests/security/xssAuditor/iframe-javascript-url-twice-url-encode3.html: Removed.
  • http/tests/security/xssAuditor/iframe-javascript-url-url-encoded-expected.txt: Removed.
  • http/tests/security/xssAuditor/iframe-javascript-url-url-encoded.html: Removed.
  • http/tests/security/xssAuditor/iframe-javascript-url.html: Removed.
  • http/tests/security/xssAuditor/iframe-onload-GBK-char-expected.txt: Removed.
  • http/tests/security/xssAuditor/iframe-onload-GBK-char.html: Removed.
  • http/tests/security/xssAuditor/iframe-onload-in-svg-tag-expected.txt: Removed.
  • http/tests/security/xssAuditor/iframe-onload-in-svg-tag.html: Removed.
  • http/tests/security/xssAuditor/iframe-srcdoc-expected.txt: Removed.
  • http/tests/security/xssAuditor/iframe-srcdoc-property-blocked-expected.txt: Removed.
  • http/tests/security/xssAuditor/iframe-srcdoc-property-blocked.html: Removed.
  • http/tests/security/xssAuditor/iframe-srcdoc.html: Removed.
  • http/tests/security/xssAuditor/img-onerror-GBK-char-expected.txt: Removed.
  • http/tests/security/xssAuditor/img-onerror-GBK-char.html: Removed.
  • http/tests/security/xssAuditor/img-onerror-accented-char-expected.txt: Removed.
  • http/tests/security/xssAuditor/img-onerror-accented-char.html: Removed.
  • http/tests/security/xssAuditor/img-onerror-non-ASCII-char-default-encoding-expected.txt: Removed.
  • http/tests/security/xssAuditor/img-onerror-non-ASCII-char-default-encoding.html: Removed.
  • http/tests/security/xssAuditor/img-onerror-non-ASCII-char-expected.txt: Removed.
  • http/tests/security/xssAuditor/img-onerror-non-ASCII-char.html: Removed.
  • http/tests/security/xssAuditor/img-onerror-non-ASCII-char2-default-encoding-expected.txt: Removed.
  • http/tests/security/xssAuditor/img-onerror-non-ASCII-char2-default-encoding.html: Removed.
  • http/tests/security/xssAuditor/img-onerror-non-ASCII-char2-expected.txt: Removed.
  • http/tests/security/xssAuditor/img-onerror-non-ASCII-char2.html: Removed.
  • http/tests/security/xssAuditor/img-onerror-tricky-expected.txt: Removed.
  • http/tests/security/xssAuditor/img-onerror-tricky.html: Removed.
  • http/tests/security/xssAuditor/img-tag-with-comma-expected.txt: Removed.
  • http/tests/security/xssAuditor/img-tag-with-comma.html: Removed.
  • http/tests/security/xssAuditor/inline-event-HTML-entities-expected.txt: Removed.
  • http/tests/security/xssAuditor/inline-event-HTML-entities.html: Removed.
  • http/tests/security/xssAuditor/intercept/.htaccess: Removed.
  • http/tests/security/xssAuditor/javascript-link-HTML-entities-control-char-expected.txt: Removed.
  • http/tests/security/xssAuditor/javascript-link-HTML-entities-control-char.html: Removed.
  • http/tests/security/xssAuditor/javascript-link-HTML-entities-expected.txt: Removed.
  • http/tests/security/xssAuditor/javascript-link-HTML-entities-named-expected.txt: Removed.
  • http/tests/security/xssAuditor/javascript-link-HTML-entities-named.html: Removed.
  • http/tests/security/xssAuditor/javascript-link-HTML-entities-null-char-expected.txt: Removed.
  • http/tests/security/xssAuditor/javascript-link-HTML-entities-null-char.html: Removed.
  • http/tests/security/xssAuditor/javascript-link-HTML-entities.html: Removed.
  • http/tests/security/xssAuditor/javascript-link-ampersand-expected.txt: Removed.
  • http/tests/security/xssAuditor/javascript-link-ampersand.html: Removed.
  • http/tests/security/xssAuditor/javascript-link-control-char-expected.txt: Removed.
  • http/tests/security/xssAuditor/javascript-link-control-char.html: Removed.
  • http/tests/security/xssAuditor/javascript-link-control-char2-expected.txt: Removed.
  • http/tests/security/xssAuditor/javascript-link-control-char2.html: Removed.
  • http/tests/security/xssAuditor/javascript-link-expected.txt: Removed.
  • http/tests/security/xssAuditor/javascript-link-null-char-expected.txt: Removed.
  • http/tests/security/xssAuditor/javascript-link-null-char.html: Removed.
  • http/tests/security/xssAuditor/javascript-link-one-plus-one-expected.txt: Removed.
  • http/tests/security/xssAuditor/javascript-link-one-plus-one.html: Removed.
  • http/tests/security/xssAuditor/javascript-link-safe-expected.txt: Removed.
  • http/tests/security/xssAuditor/javascript-link-safe.html: Removed.
  • http/tests/security/xssAuditor/javascript-link-url-encoded-expected.txt: Removed.
  • http/tests/security/xssAuditor/javascript-link-url-encoded.html: Removed.
  • http/tests/security/xssAuditor/javascript-link.html: Removed.
  • http/tests/security/xssAuditor/link-onclick-ampersand-expected.txt: Removed.
  • http/tests/security/xssAuditor/link-onclick-ampersand.html: Removed.
  • http/tests/security/xssAuditor/link-onclick-control-char-expected.txt: Removed.
  • http/tests/security/xssAuditor/link-onclick-control-char.html: Removed.
  • http/tests/security/xssAuditor/link-onclick-entities-expected.txt: Removed.
  • http/tests/security/xssAuditor/link-onclick-entities.html: Removed.
  • http/tests/security/xssAuditor/link-onclick-expected.txt: Removed.
  • http/tests/security/xssAuditor/link-onclick-null-char-expected.txt: Removed.
  • http/tests/security/xssAuditor/link-onclick-null-char.html: Removed.
  • http/tests/security/xssAuditor/link-onclick.html: Removed.
  • http/tests/security/xssAuditor/link-opens-new-window-expected.txt: Removed.
  • http/tests/security/xssAuditor/link-opens-new-window.html: Removed.
  • http/tests/security/xssAuditor/malformed-HTML-expected.txt: Removed.
  • http/tests/security/xssAuditor/malformed-HTML.html: Removed.
  • http/tests/security/xssAuditor/malformed-xss-protection-header-1-expected.txt: Removed.
  • http/tests/security/xssAuditor/malformed-xss-protection-header-1.html: Removed.
  • http/tests/security/xssAuditor/malformed-xss-protection-header-2-expected.txt: Removed.
  • http/tests/security/xssAuditor/malformed-xss-protection-header-2.html: Removed.
  • http/tests/security/xssAuditor/malformed-xss-protection-header-3-expected.txt: Removed.
  • http/tests/security/xssAuditor/malformed-xss-protection-header-3.html: Removed.
  • http/tests/security/xssAuditor/malformed-xss-protection-header-4-expected.txt: Removed.
  • http/tests/security/xssAuditor/malformed-xss-protection-header-4.html: Removed.
  • http/tests/security/xssAuditor/malformed-xss-protection-header-5-expected.txt: Removed.
  • http/tests/security/xssAuditor/malformed-xss-protection-header-5.html: Removed.
  • http/tests/security/xssAuditor/malformed-xss-protection-header-6-expected.txt: Removed.
  • http/tests/security/xssAuditor/malformed-xss-protection-header-6.html: Removed.
  • http/tests/security/xssAuditor/malformed-xss-protection-header-7-expected.txt: Removed.
  • http/tests/security/xssAuditor/malformed-xss-protection-header-7.html: Removed.
  • http/tests/security/xssAuditor/malformed-xss-protection-header-8-expected.txt: Removed.
  • http/tests/security/xssAuditor/malformed-xss-protection-header-8.html: Removed.
  • http/tests/security/xssAuditor/malformed-xss-protection-header-9-expected.txt: Removed.
  • http/tests/security/xssAuditor/malformed-xss-protection-header-9.html: Removed.
  • http/tests/security/xssAuditor/meta-tag-http-refresh-javascript-url-expected.txt: Removed.
  • http/tests/security/xssAuditor/meta-tag-http-refresh-javascript-url.html: Removed.
  • http/tests/security/xssAuditor/meta-tag-http-refresh-x-frame-options-ignored-expected.txt: Removed.
  • http/tests/security/xssAuditor/meta-tag-http-refresh-x-frame-options-ignored.html: Removed.
  • http/tests/security/xssAuditor/nested-dom-write-location-open-img-onerror-expected.txt: Removed.
  • http/tests/security/xssAuditor/nested-dom-write-location-open-img-onerror.html: Removed.
  • http/tests/security/xssAuditor/no-protection-script-tag-expected.txt: Removed.
  • http/tests/security/xssAuditor/no-protection-script-tag.html: Removed.
  • http/tests/security/xssAuditor/non-block-javascript-url-frame-expected.txt: Removed.
  • http/tests/security/xssAuditor/non-block-javascript-url-frame.html: Removed.
  • http/tests/security/xssAuditor/object-embed-tag-control-char-expected.txt: Removed.
  • http/tests/security/xssAuditor/object-embed-tag-control-char.html: Removed.
  • http/tests/security/xssAuditor/object-embed-tag-expected.txt: Removed.
  • http/tests/security/xssAuditor/object-embed-tag-null-char-expected.txt: Removed.
  • http/tests/security/xssAuditor/object-embed-tag-null-char.html: Removed.
  • http/tests/security/xssAuditor/object-embed-tag.html: Removed.
  • http/tests/security/xssAuditor/object-src-inject-expected.txt: Removed.
  • http/tests/security/xssAuditor/object-src-inject.html: Removed.
  • http/tests/security/xssAuditor/object-tag-expected.txt: Removed.
  • http/tests/security/xssAuditor/object-tag-javascript-url-expected.txt: Removed.
  • http/tests/security/xssAuditor/object-tag-javascript-url.html: Removed.
  • http/tests/security/xssAuditor/object-tag.html: Removed.
  • http/tests/security/xssAuditor/open-attribute-body-expected.txt: Removed.
  • http/tests/security/xssAuditor/open-attribute-body.html: Removed.
  • http/tests/security/xssAuditor/open-event-handler-iframe-expected.txt: Removed.
  • http/tests/security/xssAuditor/open-event-handler-iframe.html: Removed.
  • http/tests/security/xssAuditor/open-iframe-src-01-expected.txt: Removed.
  • http/tests/security/xssAuditor/open-iframe-src-01.html: Removed.
  • http/tests/security/xssAuditor/open-iframe-src-02-expected.txt: Removed.
  • http/tests/security/xssAuditor/open-iframe-src-02.html: Removed.
  • http/tests/security/xssAuditor/open-iframe-src-03-expected.txt: Removed.
  • http/tests/security/xssAuditor/open-iframe-src-03.html: Removed.
  • http/tests/security/xssAuditor/open-script-src-01-expected.txt: Removed.
  • http/tests/security/xssAuditor/open-script-src-01.html: Removed.
  • http/tests/security/xssAuditor/open-script-src-02-expected.txt: Removed.
  • http/tests/security/xssAuditor/open-script-src-02.html: Removed.
  • http/tests/security/xssAuditor/open-script-src-03-expected.txt: Removed.
  • http/tests/security/xssAuditor/open-script-src-03.html: Removed.
  • http/tests/security/xssAuditor/open-script-src-04-expected.txt: Removed.
  • http/tests/security/xssAuditor/open-script-src-04.html: Removed.
  • http/tests/security/xssAuditor/post-from-iframe-expected.txt: Removed.
  • http/tests/security/xssAuditor/post-from-iframe.html: Removed.
  • http/tests/security/xssAuditor/property-escape-comment-01-expected.txt: Removed.
  • http/tests/security/xssAuditor/property-escape-comment-01.html: Removed.
  • http/tests/security/xssAuditor/property-escape-comment-02-expected.txt: Removed.
  • http/tests/security/xssAuditor/property-escape-comment-02.html: Removed.
  • http/tests/security/xssAuditor/property-escape-comment-03-expected.txt: Removed.
  • http/tests/security/xssAuditor/property-escape-comment-03.html: Removed.
  • http/tests/security/xssAuditor/property-escape-entity-01-expected.txt: Removed.
  • http/tests/security/xssAuditor/property-escape-entity-01.html: Removed.
  • http/tests/security/xssAuditor/property-escape-entity-02-expected.txt: Removed.
  • http/tests/security/xssAuditor/property-escape-entity-02.html: Removed.
  • http/tests/security/xssAuditor/property-escape-entity-03-expected.txt: Removed.
  • http/tests/security/xssAuditor/property-escape-entity-03.html: Removed.
  • http/tests/security/xssAuditor/property-escape-expected.txt: Removed.
  • http/tests/security/xssAuditor/property-escape-long-expected.txt: Removed.
  • http/tests/security/xssAuditor/property-escape-long.html: Removed.
  • http/tests/security/xssAuditor/property-escape-noquotes-expected.txt: Removed.
  • http/tests/security/xssAuditor/property-escape-noquotes-tab-slash-chars-expected.txt: Removed.
  • http/tests/security/xssAuditor/property-escape-noquotes-tab-slash-chars.html: Removed.
  • http/tests/security/xssAuditor/property-escape-noquotes.html: Removed.
  • http/tests/security/xssAuditor/property-escape-quote-01-expected.txt: Removed.
  • http/tests/security/xssAuditor/property-escape-quote-01.html: Removed.
  • http/tests/security/xssAuditor/property-escape-quote-02-expected.txt: Removed.
  • http/tests/security/xssAuditor/property-escape-quote-02.html: Removed.
  • http/tests/security/xssAuditor/property-escape-quote-03-expected.txt: Removed.
  • http/tests/security/xssAuditor/property-escape-quote-03.html: Removed.
  • http/tests/security/xssAuditor/property-escape.html: Removed.
  • http/tests/security/xssAuditor/property-inject-expected.txt: Removed.
  • http/tests/security/xssAuditor/property-inject.html: Removed.
  • http/tests/security/xssAuditor/reflection-in-path-expected.txt: Removed.
  • http/tests/security/xssAuditor/reflection-in-path.html: Removed.
  • http/tests/security/xssAuditor/regress-167121-expected.txt: Removed.
  • http/tests/security/xssAuditor/regress-167121.html: Removed.
  • http/tests/security/xssAuditor/report-script-tag-and-do-not-follow-redirect-when-sending-report-expected.txt: Removed.
  • http/tests/security/xssAuditor/report-script-tag-and-do-not-follow-redirect-when-sending-report.html: Removed.
  • http/tests/security/xssAuditor/report-script-tag-expected.txt: Removed.
  • http/tests/security/xssAuditor/report-script-tag-full-block-and-do-not-follow-redirect-when-sending-report-expected.txt: Removed.
  • http/tests/security/xssAuditor/report-script-tag-full-block-and-do-not-follow-redirect-when-sending-report.html: Removed.
  • http/tests/security/xssAuditor/report-script-tag-full-block-expected.txt: Removed.
  • http/tests/security/xssAuditor/report-script-tag-full-block.html: Removed.
  • http/tests/security/xssAuditor/report-script-tag-replace-state-expected.txt: Removed.
  • http/tests/security/xssAuditor/report-script-tag-replace-state.html: Removed.
  • http/tests/security/xssAuditor/report-script-tag.html: Removed.
  • http/tests/security/xssAuditor/resources/anchor-url-dom-write-location-click.html: Removed.
  • http/tests/security/xssAuditor/resources/base-href/base-href-safe2.html: Removed.
  • http/tests/security/xssAuditor/resources/base-href/base-href-safe3.html: Removed.
  • http/tests/security/xssAuditor/resources/base-href/really-safe-script.js: Removed.
  • http/tests/security/xssAuditor/resources/base-href/safe-script.js: Removed.
  • http/tests/security/xssAuditor/resources/echo-dom-write-URL.html: Removed.
  • http/tests/security/xssAuditor/resources/echo-dom-write-innerHTML.html: Removed.
  • http/tests/security/xssAuditor/resources/echo-dom-write-location.html: Removed.
  • http/tests/security/xssAuditor/resources/echo-dom-write-unescaped-location.html: Removed.
  • http/tests/security/xssAuditor/resources/echo-form-action.pl: Removed.
  • http/tests/security/xssAuditor/resources/echo-frame-src.pl: Removed.
  • http/tests/security/xssAuditor/resources/echo-head-base-href-direct.pl: Removed.
  • http/tests/security/xssAuditor/resources/echo-head-base-href.pl: Removed.
  • http/tests/security/xssAuditor/resources/echo-head.pl: Removed.
  • http/tests/security/xssAuditor/resources/echo-inner-tag.pl: Removed.
  • http/tests/security/xssAuditor/resources/echo-inspan.pl: Removed.
  • http/tests/security/xssAuditor/resources/echo-intertag-addslashes.pl: Removed.
  • http/tests/security/xssAuditor/resources/echo-intertag-click-and-notify.pl: Removed.
  • http/tests/security/xssAuditor/resources/echo-intertag-decode-16bit-unicode.pl: Removed.
  • http/tests/security/xssAuditor/resources/echo-intertag-default-encode.pl: Removed.
  • http/tests/security/xssAuditor/resources/echo-intertag.pl: Removed.
  • http/tests/security/xssAuditor/resources/echo-nested-dom-write-location.html: Removed.
  • http/tests/security/xssAuditor/resources/echo-object-src.pl: Removed.
  • http/tests/security/xssAuditor/resources/echo-property-noquotes.pl: Removed.
  • http/tests/security/xssAuditor/resources/echo-property.pl: Removed.
  • http/tests/security/xssAuditor/resources/echo-script-src.pl: Removed.
  • http/tests/security/xssAuditor/resources/javascript-link-safe.html: Removed.
  • http/tests/security/xssAuditor/resources/nph-cached.pl: Removed.
  • http/tests/security/xssAuditor/resources/safe-script-noquotes.js: Removed.
  • http/tests/security/xssAuditor/resources/safe-script.js: Removed.
  • http/tests/security/xssAuditor/resources/script-tag-safe2.html: Removed.
  • http/tests/security/xssAuditor/resources/script-tag-safe3.html: Removed.
  • http/tests/security/xssAuditor/resources/script-tag-safe4-frame.html: Removed.
  • http/tests/security/xssAuditor/resources/tag-with-pause.py: Removed.
  • http/tests/security/xssAuditor/resources/utilities.js: Removed.
  • http/tests/security/xssAuditor/resources/xss-filter-bypass-long-string-reply.html: Removed.
  • http/tests/security/xssAuditor/resources/xss.js: Removed.
  • http/tests/security/xssAuditor/script-tag-Big5-char-expected.txt: Removed.
  • http/tests/security/xssAuditor/script-tag-Big5-char-twice-url-encode-16bit-unicode-expected.txt: Removed.
  • http/tests/security/xssAuditor/script-tag-Big5-char-twice-url-encode-16bit-unicode.html: Removed.
  • http/tests/security/xssAuditor/script-tag-Big5-char-twice-url-encode-expected.txt: Removed.
  • http/tests/security/xssAuditor/script-tag-Big5-char-twice-url-encode.html: Removed.
  • http/tests/security/xssAuditor/script-tag-Big5-char.html: Removed.
  • http/tests/security/xssAuditor/script-tag-Big5-char2-expected.txt: Removed.
  • http/tests/security/xssAuditor/script-tag-Big5-char2.html: Removed.
  • http/tests/security/xssAuditor/script-tag-addslashes-backslash-expected.txt: Removed.
  • http/tests/security/xssAuditor/script-tag-addslashes-backslash.html: Removed.
  • http/tests/security/xssAuditor/script-tag-addslashes-double-quote-expected.txt: Removed.
  • http/tests/security/xssAuditor/script-tag-addslashes-double-quote.html: Removed.
  • http/tests/security/xssAuditor/script-tag-addslashes-null-char-expected.txt: Removed.
  • http/tests/security/xssAuditor/script-tag-addslashes-null-char.html: Removed.
  • http/tests/security/xssAuditor/script-tag-addslashes-single-quote-expected.txt: Removed.
  • http/tests/security/xssAuditor/script-tag-addslashes-single-quote.html: Removed.
  • http/tests/security/xssAuditor/script-tag-control-char-expected.txt: Removed.
  • http/tests/security/xssAuditor/script-tag-control-char.html: Removed.
  • http/tests/security/xssAuditor/script-tag-convoluted-expected.txt: Removed.
  • http/tests/security/xssAuditor/script-tag-convoluted.html: Removed.
  • http/tests/security/xssAuditor/script-tag-entities-expected.txt: Removed.
  • http/tests/security/xssAuditor/script-tag-entities.html: Removed.
  • http/tests/security/xssAuditor/script-tag-expected.txt: Removed.
  • http/tests/security/xssAuditor/script-tag-expression-follows-expected.txt: Removed.
  • http/tests/security/xssAuditor/script-tag-expression-follows.html: Removed.
  • http/tests/security/xssAuditor/script-tag-inside-svg-tag-expected.txt: Removed.
  • http/tests/security/xssAuditor/script-tag-inside-svg-tag.html: Removed.
  • http/tests/security/xssAuditor/script-tag-inside-svg-tag2-expected.txt: Removed.
  • http/tests/security/xssAuditor/script-tag-inside-svg-tag2.html: Removed.
  • http/tests/security/xssAuditor/script-tag-inside-svg-tag3-expected.txt: Removed.
  • http/tests/security/xssAuditor/script-tag-inside-svg-tag3.html: Removed.
  • http/tests/security/xssAuditor/script-tag-near-start-expected.txt: Removed.
  • http/tests/security/xssAuditor/script-tag-near-start.html: Removed.
  • http/tests/security/xssAuditor/script-tag-null-char-expected.txt: Removed.
  • http/tests/security/xssAuditor/script-tag-null-char.html: Removed.
  • http/tests/security/xssAuditor/script-tag-open-redirect-expected.txt: Removed.
  • http/tests/security/xssAuditor/script-tag-open-redirect.html: Removed.
  • http/tests/security/xssAuditor/script-tag-post-control-char-expected.txt: Removed.
  • http/tests/security/xssAuditor/script-tag-post-control-char.html: Removed.
  • http/tests/security/xssAuditor/script-tag-post-expected.txt: Removed.
  • http/tests/security/xssAuditor/script-tag-post-null-char-expected.txt: Removed.
  • http/tests/security/xssAuditor/script-tag-post-null-char.html: Removed.
  • http/tests/security/xssAuditor/script-tag-post.html: Removed.
  • http/tests/security/xssAuditor/script-tag-redirect-expected.txt: Removed.
  • http/tests/security/xssAuditor/script-tag-redirect.html: Removed.
  • http/tests/security/xssAuditor/script-tag-safe-expected.txt: Removed.
  • http/tests/security/xssAuditor/script-tag-safe.html: Removed.
  • http/tests/security/xssAuditor/script-tag-safe2-expected.txt: Removed.
  • http/tests/security/xssAuditor/script-tag-safe2.html: Removed.
  • http/tests/security/xssAuditor/script-tag-safe3-expected.txt: Removed.
  • http/tests/security/xssAuditor/script-tag-safe3.html: Removed.
  • http/tests/security/xssAuditor/script-tag-safe4-expected.txt: Removed.
  • http/tests/security/xssAuditor/script-tag-safe4.html: Removed.
  • http/tests/security/xssAuditor/script-tag-src-redirect-safe-expected.txt: Removed.
  • http/tests/security/xssAuditor/script-tag-src-redirect-safe.html: Removed.
  • http/tests/security/xssAuditor/script-tag-with-16bit-unicode-expected.txt: Removed.
  • http/tests/security/xssAuditor/script-tag-with-16bit-unicode-surrogate-pair-expected.txt: Removed.
  • http/tests/security/xssAuditor/script-tag-with-16bit-unicode-surrogate-pair.html: Removed.
  • http/tests/security/xssAuditor/script-tag-with-16bit-unicode.html: Removed.
  • http/tests/security/xssAuditor/script-tag-with-16bit-unicode2-expected.txt: Removed.
  • http/tests/security/xssAuditor/script-tag-with-16bit-unicode2.html: Removed.
  • http/tests/security/xssAuditor/script-tag-with-16bit-unicode3-expected.txt: Removed.
  • http/tests/security/xssAuditor/script-tag-with-16bit-unicode3.html: Removed.
  • http/tests/security/xssAuditor/script-tag-with-16bit-unicode4-expected.txt: Removed.
  • http/tests/security/xssAuditor/script-tag-with-16bit-unicode4.html: Removed.
  • http/tests/security/xssAuditor/script-tag-with-16bit-unicode5-expected.txt: Removed.
  • http/tests/security/xssAuditor/script-tag-with-16bit-unicode5.html: Removed.
  • http/tests/security/xssAuditor/script-tag-with-actual-comma-expected.txt: Removed.
  • http/tests/security/xssAuditor/script-tag-with-actual-comma.html: Removed.
  • http/tests/security/xssAuditor/script-tag-with-callbacks-expected.txt: Removed.
  • http/tests/security/xssAuditor/script-tag-with-callbacks.html: Removed.
  • http/tests/security/xssAuditor/script-tag-with-comma-01-expected.txt: Removed.
  • http/tests/security/xssAuditor/script-tag-with-comma-01.html: Removed.
  • http/tests/security/xssAuditor/script-tag-with-comma-02-expected.txt: Removed.
  • http/tests/security/xssAuditor/script-tag-with-comma-02.html: Removed.
  • http/tests/security/xssAuditor/script-tag-with-fancy-unicode-expected.txt: Removed.
  • http/tests/security/xssAuditor/script-tag-with-fancy-unicode.html: Removed.
  • http/tests/security/xssAuditor/script-tag-with-injected-comment-expected.txt: Removed.
  • http/tests/security/xssAuditor/script-tag-with-injected-comment.html: Removed.
  • http/tests/security/xssAuditor/script-tag-with-invalid-closing-tag-expected.txt: Removed.
  • http/tests/security/xssAuditor/script-tag-with-invalid-closing-tag.html: Removed.
  • http/tests/security/xssAuditor/script-tag-with-invalid-url-encoding-expected.txt: Removed.
  • http/tests/security/xssAuditor/script-tag-with-invalid-url-encoding.html: Removed.
  • http/tests/security/xssAuditor/script-tag-with-source-control-char-expected.txt: Removed.
  • http/tests/security/xssAuditor/script-tag-with-source-control-char.html: Removed.
  • http/tests/security/xssAuditor/script-tag-with-source-data-url-expected.txt: Removed.
  • http/tests/security/xssAuditor/script-tag-with-source-data-url.html: Removed.
  • http/tests/security/xssAuditor/script-tag-with-source-data-url2-expected.txt: Removed.
  • http/tests/security/xssAuditor/script-tag-with-source-data-url2.html: Removed.
  • http/tests/security/xssAuditor/script-tag-with-source-data-url3-expected.txt: Removed.
  • http/tests/security/xssAuditor/script-tag-with-source-data-url3.html: Removed.
  • http/tests/security/xssAuditor/script-tag-with-source-data-url4-expected.txt: Removed.
  • http/tests/security/xssAuditor/script-tag-with-source-data-url4.html: Removed.
  • http/tests/security/xssAuditor/script-tag-with-source-data-url5-expected.txt: Removed.
  • http/tests/security/xssAuditor/script-tag-with-source-data-url5.html: Removed.
  • http/tests/security/xssAuditor/script-tag-with-source-double-quote-expected.txt: Removed.
  • http/tests/security/xssAuditor/script-tag-with-source-double-quote.html: Removed.
  • http/tests/security/xssAuditor/script-tag-with-source-entities-expected.txt: Removed.
  • http/tests/security/xssAuditor/script-tag-with-source-entities.html: Removed.
  • http/tests/security/xssAuditor/script-tag-with-source-expected.txt: Removed.
  • http/tests/security/xssAuditor/script-tag-with-source-no-quote-expected.txt: Removed.
  • http/tests/security/xssAuditor/script-tag-with-source-no-quote.html: Removed.
  • http/tests/security/xssAuditor/script-tag-with-source-null-char-expected.txt: Removed.
  • http/tests/security/xssAuditor/script-tag-with-source-null-char.html: Removed.
  • http/tests/security/xssAuditor/script-tag-with-source-relative-scheme-expected.txt: Removed.
  • http/tests/security/xssAuditor/script-tag-with-source-relative-scheme.html: Removed.
  • http/tests/security/xssAuditor/script-tag-with-source-same-host-expected.txt: Removed.
  • http/tests/security/xssAuditor/script-tag-with-source-same-host-with-query-expected.txt: Removed.
  • http/tests/security/xssAuditor/script-tag-with-source-same-host-with-query.html: Removed.
  • http/tests/security/xssAuditor/script-tag-with-source-same-host.html: Removed.
  • http/tests/security/xssAuditor/script-tag-with-source-unterminated-01-expected.txt: Removed.
  • http/tests/security/xssAuditor/script-tag-with-source-unterminated-01.html: Removed.
  • http/tests/security/xssAuditor/script-tag-with-source-unterminated-02-expected.txt: Removed.
  • http/tests/security/xssAuditor/script-tag-with-source-unterminated-02.html: Removed.
  • http/tests/security/xssAuditor/script-tag-with-source-unterminated-03-expected.txt: Removed.
  • http/tests/security/xssAuditor/script-tag-with-source-unterminated-03.html: Removed.
  • http/tests/security/xssAuditor/script-tag-with-source.html: Removed.
  • http/tests/security/xssAuditor/script-tag-with-three-times-url-encoded-16bit-unicode-expected.txt: Removed.
  • http/tests/security/xssAuditor/script-tag-with-three-times-url-encoded-16bit-unicode.html: Removed.
  • http/tests/security/xssAuditor/script-tag-with-trailing-comment-U2028-expected.txt: Removed.
  • http/tests/security/xssAuditor/script-tag-with-trailing-comment-U2028.html: Removed.
  • http/tests/security/xssAuditor/script-tag-with-trailing-comment-expected.txt: Removed.
  • http/tests/security/xssAuditor/script-tag-with-trailing-comment.html: Removed.
  • http/tests/security/xssAuditor/script-tag-with-trailing-comment2-expected.txt: Removed.
  • http/tests/security/xssAuditor/script-tag-with-trailing-comment2.html: Removed.
  • http/tests/security/xssAuditor/script-tag-with-trailing-comment3-expected.txt: Removed.
  • http/tests/security/xssAuditor/script-tag-with-trailing-comment3.html: Removed.
  • http/tests/security/xssAuditor/script-tag-with-trailing-comment4-expected.txt: Removed.
  • http/tests/security/xssAuditor/script-tag-with-trailing-comment4.html: Removed.
  • http/tests/security/xssAuditor/script-tag-with-trailing-comment5-expected.txt: Removed.
  • http/tests/security/xssAuditor/script-tag-with-trailing-comment5.html: Removed.
  • http/tests/security/xssAuditor/script-tag-with-trailing-script-and-urlencode-expected.txt: Removed.
  • http/tests/security/xssAuditor/script-tag-with-trailing-script-and-urlencode.html: Removed.
  • http/tests/security/xssAuditor/script-tag.html: Removed.
  • http/tests/security/xssAuditor/svg-animate-expected.txt: Removed.
  • http/tests/security/xssAuditor/svg-animate.html: Removed.
  • http/tests/security/xssAuditor/svg-script-tag-expected.txt: Removed.
  • http/tests/security/xssAuditor/svg-script-tag.html: Removed.
  • http/tests/security/xssAuditor/window-open-without-url-should-not-assert-expected.txt: Removed.
  • http/tests/security/xssAuditor/window-open-without-url-should-not-assert.html: Removed.
  • http/tests/security/xssAuditor/xss-filter-bypass-big5-expected.txt: Removed.
  • http/tests/security/xssAuditor/xss-filter-bypass-big5.html: Removed.
  • http/tests/security/xssAuditor/xss-filter-bypass-long-string-expected.txt: Removed.
  • http/tests/security/xssAuditor/xss-filter-bypass-long-string.html: Removed.
  • http/tests/security/xssAuditor/xss-filter-bypass-sjis-expected.txt: Removed.
  • http/tests/security/xssAuditor/xss-filter-bypass-sjis.html: Removed.
  • http/tests/security/xssAuditor/xss-protection-parsing-01-expected.txt: Removed.
  • http/tests/security/xssAuditor/xss-protection-parsing-01.html: Removed.
  • http/tests/security/xssAuditor/xss-protection-parsing-02-expected.txt: Removed.
  • http/tests/security/xssAuditor/xss-protection-parsing-02.html: Removed.
  • http/tests/security/xssAuditor/xss-protection-parsing-03-expected.txt: Removed.
  • http/tests/security/xssAuditor/xss-protection-parsing-03.html: Removed.
  • http/tests/security/xssAuditor/xss-protection-parsing-04-expected.txt: Removed.
  • http/tests/security/xssAuditor/xss-protection-parsing-04.html: Removed.
  • platform/gtk/TestExpectations:
  • platform/ios-simulator-wk2/TestExpectations:
  • platform/ios-wk1/TestExpectations:
  • platform/win/TestExpectations:
3:45 PM Changeset in webkit [282846] by commit-queue@webkit.org
  • 3 edits in trunk/LayoutTests

[GLIB] Update test expectations for newly passing tests.
https://bugs.webkit.org/show_bug.cgi?id=230577

Unreviewed test gardening.

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

  • platform/glib/TestExpectations:
  • platform/gtk/TestExpectations:
3:43 PM Changeset in webkit [282845] by Megan Gardner
  • 2 edits in trunk/Source/WebKit

Remove unused selection parameter.
https://bugs.webkit.org/show_bug.cgi?id=230519

Reviewed by Wenson Hsieh.

The direction of movement of the selection is not actually used to determine which direction to extend to a
word boundary, so do not pass it in. In preparation of being able to condense these enums into one.

  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::rangeAtWordBoundaryForPosition):
(WebKit::WebPage::updateSelectionWithTouches):

3:13 PM Changeset in webkit [282844] by ddkilzer@apple.com
  • 26 edits
    2 moves in trunk

Rename {checked,dynamic}_ns_cast<> to {checked,dynamic}_objc_cast<>
<https://webkit.org/b/230508>
<rdar://problem/83323145>

Reviewed by Brent Fulgham.

Source/WebCore:

  • Modules/applepay/PaymentInstallmentConfiguration.mm:
  • Modules/applepay/cocoa/PaymentMerchantSessionCocoa.mm:
  • Also fix *SoftLink.h header order.
  • platform/graphics/cocoa/WebCoreCALayerExtras.mm:
  • platform/mac/BlocklistUpdater.mm:
  • rendering/RenderThemeIOS.mm:
  • Import <wtf/cocoa/TypeCastsCocoa.h> for future move of WTF::dynamic_objc_cast<> from RetainPtr.h to that header.

Source/WebKit:

  • UIProcess/Cocoa/WebProcessPoolCocoa.mm:

(WebKit::extractWebProcessPool):

  • Update for rename.
  • Shared/Cocoa/ArgumentCodersCocoa.mm:
  • Shared/mac/ObjCObjectGraph.mm:
  • UIProcess/API/Cocoa/NSAttributedString.mm:
  • UIProcess/Cocoa/MediaPermissionUtilities.mm:
  • Also fix *SoftLink.h header order.
  • UIProcess/Cocoa/WebProcessProxyCocoa.mm:
  • UIProcess/ios/WKContentViewInteraction.mm:
  • WebProcess/cocoa/WebProcessCocoa.mm:
  • Import <wtf/cocoa/TypeCastsCocoa.h> for future move of WTF::dynamic_objc_cast<> from RetainPtr.h to that header.

Source/WebKitLegacy/mac:

  • WebCoreSupport/WebDragClient.mm:
  • WebView/WebHTMLView.mm:
  • Import <wtf/cocoa/TypeCastsCocoa.h> for future move of WTF::dynamic_objc_cast<> from RetainPtr.h to that header.

Source/WTF:

  • WTF.xcodeproj/project.pbxproj:
  • wtf/PlatformMac.cmake:
  • Update for rename of TypeCastsNS.h to TypeCastsCocoa.h.
  • wtf/RetainPtr.h:

(WTF::dynamic_objc_cast):

  • Move dynamic_ns_cast<> from TypeCastsNS.h to here.
  • Remove using statements to limit Objective-C types without asterisks to match RetainPtr<>.
  • wtf/cocoa/TypeCastsCocoa.h: Rename from TypeCastsNS.h.

(WTF::checked_objc_cast):
(WTF::dynamic_objc_cast):

  • Do the rename.
  • Remove "using WTF::dynamic_ns_cast;" instead of renaming it since this is already in RetainPtr.h.

Tools:

  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • Update for rename of TypeCastsNS.h to TypeCastsCocoa.h.
  • TestWebKitAPI/Tests/WTF/cocoa/TypeCastsCocoa.mm: Rename from TypeCastsNS.mm.

(TestWebKitAPI::TEST):

  • Update for rename.
  • TestWebKitAPI/Tests/WebKitCocoa/WKWebViewGetContents.mm:
  • WebKitTestRunner/ios/UIScriptControllerIOS.mm:
  • Import <wtf/cocoa/TypeCastsCocoa.h> for future move of WTF::dynamic_objc_cast<> from RetainPtr.h to that header.
2:43 PM Changeset in webkit [282843] by commit-queue@webkit.org
  • 5 edits in trunk/Source/WebKit

REGRESSION(241918@main): [WPE][GTK] New test is timing out on bots
https://bugs.webkit.org/show_bug.cgi?id=230556

Patch by Michael Catanzaro <Michael Catanzaro> on 2021-09-21
Reviewed by Alex Christensen.

Switch WebKitWebContext to use both ResourceLoaderIdentifier and WebPageProxyIdentifier as
the key for tracking outstanding tasks, since the ResourceLoaderIdentifier is not unique.

Rename WebURLSchemeTask::identifier to WebURLSchemeTask::resourceLoaderID because this is
really only one component of the ID for the WebURLSchemeTask, and cannot be used on its own
to identify the WebURLSchemeTask. It must always be paired with the WebPageProxyIdentifier.

This fixes WPE/GTK TestWebKitWebContext /webkit/WebKitWebContext/uri-scheme

  • UIProcess/API/glib/WebKitWebContext.cpp:
  • UIProcess/WebURLSchemeHandler.cpp:

(WebKit::WebURLSchemeHandler::taskCompleted):

  • UIProcess/WebURLSchemeTask.cpp:

(WebKit::WebURLSchemeTask::WebURLSchemeTask):
(WebKit::WebURLSchemeTask::willPerformRedirection):
(WebKit::WebURLSchemeTask::didPerformRedirection):
(WebKit::WebURLSchemeTask::didReceiveResponse):
(WebKit::WebURLSchemeTask::didReceiveData):
(WebKit::WebURLSchemeTask::didComplete):

  • UIProcess/WebURLSchemeTask.h:

(WebKit::WebURLSchemeTask::resourceLoaderID const):
(WebKit::WebURLSchemeTask::identifier const): Deleted.

2:29 PM Changeset in webkit [282842] by pvollan@apple.com
  • 2 edits in trunk/Source/WebCore/PAL

[Mac Catalyst] Fix build issue
https://bugs.webkit.org/show_bug.cgi?id=230567
<rdar://83314629>

Unreviewed follow-up fix after <https://commits.webkit.org/241966@main>.

Fix an incorrect define check.

  • pal/spi/cocoa/LaunchServicesSPI.h:
2:09 PM Changeset in webkit [282841] by pvollan@apple.com
  • 3 edits in trunk/Source/WebKit

Remove preference write access to AX media domain
https://bugs.webkit.org/show_bug.cgi?id=230574
<rdar://58899152>

Reviewed by Brent Fulgham.

This has been brokered to the UI process, so there should no longer be any need to write to the AX media domain in WebKit processes.

  • Resources/SandboxProfiles/ios/com.apple.WebKit.GPU.sb:
  • Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb.in:
2:09 PM Changeset in webkit [282840] by yoshiaki.jitsukawa@sony.com
  • 2 edits in trunk/Tools

[PlayStation][MiniBrowser] Remove WebKit private header include
https://bugs.webkit.org/show_bug.cgi?id=230183

Reviewed by Ross Kirsling.

  • MiniBrowser/playstation/main.cpp:

Remove config.h and wtf/Platform.h include directive.
PlayStation MiniBrowser is expected to be independent of WebKit
private headers (i.e. it should depend only on WK API.) in order to
ensure that we can make a WebBrowser without those headers.

1:42 PM Changeset in webkit [282839] by Simon Fraser
  • 5 edits in trunk/Source/WebCore

Modernize ENABLE_IOSURFACE_POOL_STATISTICS logging
https://bugs.webkit.org/show_bug.cgi?id=230570

Reviewed by Tim Horton.

Fix thread safety warnings when ENABLE_IOSURFACE_POOL_STATISTICS is defined.
Use TextStream for logging.

This could be a log channel.

  • platform/graphics/cg/IOSurfacePool.cpp:

(WebCore::IOSurfacePool::takeSurface):
(WebCore::IOSurfacePool::addSurface):
(WebCore::IOSurfacePool::evict):
(WebCore::IOSurfacePool::collectionTimerFired):
(WebCore::IOSurfacePool::poolStatistics const):
(WebCore::IOSurfacePool::showPoolStatistics): Deleted.

  • platform/graphics/cg/IOSurfacePool.h:
  • platform/graphics/cocoa/IOSurface.h:
  • platform/graphics/cocoa/IOSurface.mm:

(WebCore::operator<<):

1:17 PM Changeset in webkit [282838] by mmaxfield@apple.com
  • 4 edits in trunk/Source/WebCore

Push font-palette-values data into CSSFontSelector
https://bugs.webkit.org/show_bug.cgi?id=230447

Reviewed by Antti Koivisto.

In https://bugs.webkit.org/show_bug.cgi?id=230337 I added parsing support for font-palette-values.
This patch pushes the parsed data down into CSSFontSelector, so it can be passed into the font
creation routines. The data is retained, so it's always possible to query the CSSFontSelector for
the state of the world regarding font palettes.

No new tests because there is no behavior change. This querying functionality will be hooked up
in https://bugs.webkit.org/show_bug.cgi?id=230449.

  • css/CSSFontSelector.cpp:

(WebCore::CSSFontSelector::buildStarted):
(WebCore::CSSFontSelector::addFontPaletteValuesRule):
(WebCore::CSSFontSelector::fontRangesForFamily):

  • css/CSSFontSelector.h:
  • style/RuleSet.cpp:

(WebCore::Style::RuleSet::Builder::addChildRules):

1:15 PM Changeset in webkit [282837] by Alan Bujtas
  • 2 edits in trunk/Source/WebCore

[LFC][IFC] Implement fallbackFontsForRun for IFC
https://bugs.webkit.org/show_bug.cgi?id=230561

Reviewed by Antti Koivisto.

fallbackFontsForRun collects all the non-primary fonts used by a text run. It also takes soft hyphens into account but only when they are actually
part of the rendered content.
This function is called while we construct the final runs for a line and parent inline boxes (parent of the text runs)
need to know their enclosing layout bounds (glyphs from fallback font may stretch the parent inline box).

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

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

1:06 PM Changeset in webkit [282836] by Fujii Hironori
  • 3 edits in trunk/Source/WebKit

[WinCairo] jquery/offset.html is randomly failing an assertion in DrawingAreaCoordinatedGraphics::layerHostDidFlushLayers
https://bugs.webkit.org/show_bug.cgi?id=230531

Reviewed by Don Olmstead.

DrawingAreaCoordinatedGraphics::layerHostDidFlushLayers shouldn't
be called while LayerTreeHost is paused by pauseRendering().

  • WebProcess/WebPage/CoordinatedGraphics/LayerTreeHostTextureMapper.cpp:

(WebKit::LayerTreeHost::layerFlushTimerFired):
(WebKit::LayerTreeHost::pauseRendering):
(WebKit::LayerTreeHost::resumeRendering):

  • WebProcess/WebPage/CoordinatedGraphics/LayerTreeHostTextureMapper.h: Added m_isSuspended.
12:32 PM Changeset in webkit [282835] by pvollan@apple.com
  • 2 edits in trunk/Source/WebCore/PAL

[Mac Catalyst] Fix build issue
https://bugs.webkit.org/show_bug.cgi?id=230567
<rdar://83314629>

Reviewed by Brent Fulgham.

The identifier kLSDefaultSessionID is undeclared. Declare it for the internal build on Catalyst.

  • pal/spi/cocoa/LaunchServicesSPI.h:
11:54 AM Changeset in webkit [282834] by Ayumi Kojima
  • 2 edits in trunk/LayoutTests

[ macOS wk2 Release ] imported/w3c/web-platform-tests/page-visibility/unload-bubbles.html is a flaky failure.
https://bugs.webkit.org/show_bug.cgi?id=230571

Unreviewed test gardening.

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

[ Monterey GuardMalloc ] accessibility/* tests are timing out.
<rdar://82147955>

Unreviewed test gardening.

  • platform/mac-wk2/TestExpectations: Removed expectations
11:43 AM Changeset in webkit [282832] by mark.lam@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

Replace a few ASSERTs with static_asserts in the ARM64 MacroAssemblers.
https://bugs.webkit.org/show_bug.cgi?id=230569

Reviewed by Yusuke Suzuki.

  • assembler/ARM64Assembler.h:
  • assembler/ARM64EAssembler.h:
11:30 AM Changeset in webkit [282831] by youenn@apple.com
  • 9 edits
    1 move in trunk/Source

NetworkRTCUDPSocketCocoaConnections should handle NAT64 IP addresses correctly
https://bugs.webkit.org/show_bug.cgi?id=230552
<rdar://83297256>

Reviewed by Alex Christensen.

Source/ThirdParty/libwebrtc:

  • Configurations/libwebrtc.iOS.exp:
  • Configurations/libwebrtc.iOSsim.exp:
  • Configurations/libwebrtc.mac.exp:

Source/WebKit:

When opening a UDP socket, check whether it is a NAT64 IPv4 address.
In that case, we cannot bind it like we used to do with the sockets API.
Instead use "0.0.0.0".
Manually tested.

  • NetworkProcess/webrtc/NetworkRTCTCPSocketCocoa.mm:
  • NetworkProcess/webrtc/NetworkRTCUDPSocketCocoa.mm:

(WebKit::isNat64IPAddress):
(WebKit::computeHostAddress):
(WebKit::NetworkRTCUDPSocketCocoaConnections::NetworkRTCUDPSocketCocoaConnections):

  • NetworkProcess/webrtc/NetworkRTCUtilitiesCocoa.h:
  • Platform/spi/Cocoa/NWSPI.h: Renamed from Source/WebKit/Platform/spi/Cocoa/NWParametersSPI.h.
  • WebKit.xcodeproj/project.pbxproj:
11:27 AM Changeset in webkit [282830] by commit-queue@webkit.org
  • 5 edits in trunk

Fix the behavior that 3d translation's second value is serialized to 0px regardless of its specified unit if it is zero value.
https://bugs.webkit.org/show_bug.cgi?id=230534

Patch by Joonghun Park <pjh0718@gmail.com> on 2021-09-21
Reviewed by Simon Fraser.

When being serialized, the css value's unit should be preserved.

LayoutTests/imported/w3c:

  • web-platform-tests/css/css-transforms/parsing/translate-parsing-valid-expected.txt:
  • web-platform-tests/css/css-transforms/parsing/translate-parsing-valid.html: updated from wpt repository.

Source/WebCore:

  • css/parser/CSSPropertyParser.cpp:

(WebCore::consumeTranslate):

11:26 AM Changeset in webkit [282829] by jer.noble@apple.com
  • 7 edits in trunk/Source

[iOS] Enable MSE in WKWebViews by default on iPad
https://bugs.webkit.org/show_bug.cgi?id=230426

Reviewed by Tim Horton.

Source/WebKit:

Add a default value getter for the MediaSourceEnabled preference.

  • Shared/WebPreferencesDefaultValues.cpp:

(WebKit::defaultMediaSourceEnabled):

  • Shared/WebPreferencesDefaultValues.h:
  • Shared/ios/WebPreferencesDefaultValuesIOS.mm:

(WebKit::defaultMediaSourceEnabled):

Source/WTF:

Give a default value getter for the MediaSourceEnabled preference.

  • Scripts/Preferences/WebPreferences.yaml:
11:04 AM Changeset in webkit [282828] by commit-queue@webkit.org
  • 6 edits
    6 adds in trunk

Add LLVM/FLang's int128_t implementation to WTF
https://bugs.webkit.org/show_bug.cgi?id=230437

Source/WTF:

Added int128_t implementation from LLVM, and its dependency
LeadingZeroBitCount.h. Both reformatted according to WebKit style.

Patch by Philip Chimento <philip.chimento@gmail.com> on 2021-09-21
Reviewed by Yusuke Suzuki.

  • LICENSE-LLVM.txt: Added.
  • WTF.xcodeproj/project.pbxproj:
  • wtf/CMakeLists.txt:
  • wtf/Int128.h: Added.

(WTF::Int128Impl::Int128Impl):
(WTF::Int128Impl::operator+ const):
(WTF::Int128Impl::operator~ const):
(WTF::Int128Impl::operator- const):
(WTF::Int128Impl::operator! const):
(WTF::Int128Impl::operator bool const):
(WTF::Int128Impl::operator std::uint64_t const):
(WTF::Int128Impl::operator std::int64_t const):
(WTF::Int128Impl::operator int const):
(WTF::Int128Impl::high const):
(WTF::Int128Impl::low const):
(WTF::Int128Impl::operator++):
(WTF::Int128Impl::operator--):
(WTF::Int128Impl::operator& const):
(WTF::Int128Impl::operator | const):
(WTF::Int128Impl::operator const):
(WTF::Int128Impl::operator<< const):
(WTF::Int128Impl::operator>> const):
(WTF::Int128Impl::operator* const):
(WTF::Int128Impl::operator/ const):
(WTF::Int128Impl::operator% const):
(WTF::Int128Impl::operator< const):
(WTF::Int128Impl::operator<= const):
(WTF::Int128Impl::operator== const):
(WTF::Int128Impl::operator!= const):
(WTF::Int128Impl::operator>= const):
(WTF::Int128Impl::operator> const):
(WTF::Int128Impl::operator&=):
(WTF::Int128Impl::operator|=):
(WTF::Int128Impl::operator
=):
(WTF::Int128Impl::operator<<=):
(WTF::Int128Impl::operator>>=):
(WTF::Int128Impl::operator+=):
(WTF::Int128Impl::operator-=):
(WTF::Int128Impl::operator*=):
(WTF::Int128Impl::operator/=):
(WTF::Int128Impl::operator%=):
(WTF::Int128Impl::leadingZeroes const):

  • wtf/LeadingZeroBitCount.cpp: Added.
  • wtf/LeadingZeroBitCount.h: Added.

(WTF::leadingZeroBitCount):
(WTF::bitsNeededFor):

Tools:

Added tests for Int128 and LeadingZeroBitCount copied from LLVM's tests,
reformatted according to WebKit style.

Patch by Philip Chimento <pchimento@igalia.com> on 2021-09-21
Reviewed by Yusuke Suzuki.

  • TestWebKitAPI/CMakeLists.txt:
  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/Tests/WTF/Int128.cpp: Added.

(TestWebKitAPI::TestUnary):
(TestWebKitAPI::TestBinary):
(TestWebKitAPI::TEST):
(TestWebKitAPI::ToNative):
(TestWebKitAPI::FromNative):
(TestWebKitAPI::TestVsNative):

  • TestWebKitAPI/Tests/WTF/LeadingZeroBitCount.cpp: Added.

(countWithTwoShiftedBits):
(TEST):

10:49 AM Changeset in webkit [282827] by Alan Bujtas
  • 3 edits in trunk/Source/WebCore

[IFC][Integration] Removed unused AvoidanceReason::FlowTextHasSurrogatePair
https://bugs.webkit.org/show_bug.cgi?id=230559

Reviewed by Antti Koivisto.

  • layout/integration/LayoutIntegrationCoverage.cpp:

(WebCore::LayoutIntegration::printReason):

  • layout/integration/LayoutIntegrationCoverage.h:
10:25 AM Changeset in webkit [282826] by Eric Hutchison
  • 22 edits
    2 deletes in trunk

Unreviewed, reverting r282768.

Slowdown on Mac EWS builders as a constant failure.

Reverted changeset:

"box-shadow and text-shadow do not yield float values while
interpolating"
https://bugs.webkit.org/show_bug.cgi?id=230347
https://commits.webkit.org/r282768

10:05 AM Changeset in webkit [282825] by youenn@apple.com
  • 10 edits in trunk

imported/w3c/web-platform-tests/webrtc/RTCDataChannel-close.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=230399

Reviewed by Eric Carlson.

LayoutTests/imported/w3c:

  • web-platform-tests/webrtc/RTCDataChannel-close-expected.txt:
  • web-platform-tests/webrtc/RTCDataChannel-close.html:

Source/WebCore:

We fix a number of flaky issues:

  • RTCDataChannel::didChangeReadyState should queue a task and inside the task update the state + dispatch event. Previously, we were updating the state, then queueing a task to dispatch the event.
  • We were creating the data channel at the time we were creating the data channel handler. In that case, we might have missed some state changes. We now create the data channel handler as soon as possible, then queue a task where we create the data channel and fire the channel event.
  • We check the backend data channel state as soon as creating the data channel handler, instead of when creating the data channel for the same reason.
  • When we buffer states, we need to store whether an error occurs to properly fire the error event as needed.
  • Similarly to readyState, we need to queue a task to update bufferedAmount and, if needed, synchronously fire the bufferedAmountLow event.

Covered by updated RTCDataChannel-close.html.

  • Modules/mediastream/PeerConnectionBackend.cpp:

(WebCore::PeerConnectionBackend::newDataChannel):

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

(WebCore::RTCDataChannel::didChangeReadyState):
(WebCore::RTCDataChannel::bufferedAmountIsDecreasing):

  • Modules/mediastream/libwebrtc/LibWebRTCDataChannelHandler.cpp:

(WebCore::LibWebRTCDataChannelHandler::LibWebRTCDataChannelHandler):
(WebCore::LibWebRTCDataChannelHandler::dataChannelInit const):
(WebCore::LibWebRTCDataChannelHandler::label const):
(WebCore::LibWebRTCDataChannelHandler::setClient):
(WebCore::LibWebRTCDataChannelHandler::checkState):

  • Modules/mediastream/libwebrtc/LibWebRTCDataChannelHandler.h:
  • Modules/mediastream/libwebrtc/LibWebRTCMediaEndpoint.cpp:

(WebCore::LibWebRTCMediaEndpoint::OnDataChannel):

9:47 AM Changeset in webkit [282824] by youenn@apple.com
  • 2 edits in trunk/LayoutTests/imported/w3c

RTCPeerConnection perfect negotiation tests are flaky
https://bugs.webkit.org/show_bug.cgi?id=230344

Reviewed by Alex Christensen.

Helper function checks that adding candidates only fails for candidates related to ignored descriptions.
But the flag that sets whther descriptions are ignored is set synchronously while it should be set once the description is applied.
Otherwise, errors related to the candidates that are in the operation queue related to the previously ignored description will not be ignored.

  • web-platform-tests/webrtc/RTCPeerConnection-perfect-negotiation-helper.js:

(try.async try):
(string_appeared_here.peer):

  • web-platform-tests/webrtc/RTCPeerConnection-perfect-negotiation.https-expected.txt:
9:39 AM Changeset in webkit [282823] by Alan Bujtas
  • 3 edits in trunk/Source/WebCore

[LFC][IFC] Ceil the descent value when adjusting the layout bounds for an inline box
https://bugs.webkit.org/show_bug.cgi?id=230557

Reviewed by Antti Koivisto.

Use ceil instead of floor to match legacy line layout positioning.

  • layout/formattingContexts/inline/InlineDisplayContentBuilder.cpp: use ceilf everywhere

(WebCore::Layout::InlineDisplayContentBuilder::createRunsAndUpdateGeometryForLineContent):

  • layout/formattingContexts/inline/InlineLineBoxBuilder.cpp:

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

9:37 AM Changeset in webkit [282822] by youenn@apple.com
  • 2 edits in trunk/Source/WebCore

[iOS] Disable default system gesture on extended gamepad
https://bugs.webkit.org/show_bug.cgi?id=230297
<rdar://65610651>

Reviewed by Brady Eidson.

Prevent default system behavior for some game pad gestures.
Not testable on bots.

  • platform/gamepad/cocoa/GameControllerGamepad.mm:

(WebCore::GameControllerGamepad::setupAsExtendedGamepad):

9:06 AM Changeset in webkit [282821] by Justin Michaud
  • 5 edits
    1 add in trunk

Differential testing: live statement don't execute
https://bugs.webkit.org/show_bug.cgi?id=229939

Reviewed by Saam Barati.

JSTests:

  • stress/in-by-val-should-throw.js: Added.

(doesThrow):
(noInline.doesThrow.noFTL.doesThrow.blackbox):
(noInline.blackbox.doesNotThrow):
(noInline.doesNotThrow.noFTL.doesNotThrow.main):

Source/JavaScriptCore:

In statements are supposed to throw if they are applied to a non-object. We incorrectly converted
InByVals into HasIndexedProperty any time they were a cell, so we silently converted non-objects. Before converting
an InByVal, we first speculate that the base is an object now.

We do not always require an object edge for HasIndexedProperty because enumerator next() does not
throw if it encounters a cell that requires conversion during the call to toObject (for example, a
string literal). That is, we should silently convert the string during enumeration, but not for an
In statement, and so HasIndexedProperty is prepared to handle both cases.

  • dfg/DFGFixupPhase.cpp:

(JSC::DFG::FixupPhase::fixupNode):
(JSC::DFG::FixupPhase::convertToHasIndexedProperty):

8:55 AM Changeset in webkit [282820] by eric.carlson@apple.com
  • 5 edits
    2 deletes in trunk/Source/WebCore

Remove unused CGWindowCaptureSource
https://bugs.webkit.org/show_bug.cgi?id=230520
<rdar://problem/83329399>

Reviewed by David Kilzer.

Remove CGWindowCaptureSource as it can't be used.

No new tests, no functional change.

  • SourcesCocoa.txt:
  • WebCore.xcodeproj/project.pbxproj:
  • platform/mediastream/mac/CGWindowCaptureSource.h: Removed.
  • platform/mediastream/mac/CGWindowCaptureSource.mm: Removed.
  • platform/mediastream/mac/DisplayCaptureManagerCocoa.cpp:

(WebCore::DisplayCaptureManagerCocoa::updateWindowCaptureDevices):
(WebCore::DisplayCaptureManagerCocoa::windowCaptureDeviceWithPersistentID):

  • platform/mediastream/mac/DisplayCaptureSourceMac.cpp:

(WebCore::DisplayCaptureSourceMac::create):

8:38 AM Changeset in webkit [282819] by Chris Dumez
  • 46 edits
    16 adds
    1 delete in trunk/LayoutTests/imported/w3c

Resync web-platform-tests/tools from upstream
https://bugs.webkit.org/show_bug.cgi?id=230512

Reviewed by Youenn Fablet.

Resync web-platform-tests/tools from upstream 1b3385871f3621acc91c76b806.

  • web-platform-tests/tools/*: Updated.
8:24 AM Changeset in webkit [282818] by commit-queue@webkit.org
  • 16 edits in trunk/Source

Use typed identifier for WebSocketChannel identifiers
https://bugs.webkit.org/show_bug.cgi?id=230486

Patch by Alex Christensen <achristensen@webkit.org> on 2021-09-21
Reviewed by Youenn Fablet.

Source/WebCore:

This also allows us to have an identifier for WebSocketChannels used in workers.

  • Modules/websockets/ThreadableWebSocketChannel.h:
  • Modules/websockets/WebSocketChannel.cpp:

(WebCore::WebSocketChannel::WebSocketChannel):

  • Modules/websockets/WebSocketChannel.h:
  • Modules/websockets/WebSocketChannelInspector.cpp:

(WebCore::WebSocketChannelInspector::WebSocketChannelInspector):
(WebCore::WebSocketChannelInspector::progressIdentifier const):

  • Modules/websockets/WebSocketChannelInspector.h:
  • Modules/websockets/WorkerThreadableWebSocketChannel.cpp:

(WebCore::WorkerThreadableWebSocketChannel::WorkerThreadableWebSocketChannel):

  • Modules/websockets/WorkerThreadableWebSocketChannel.h:
  • inspector/InspectorInstrumentation.cpp:

(WebCore::InspectorInstrumentation::didCreateWebSocketImpl):
(WebCore::InspectorInstrumentation::willSendWebSocketHandshakeRequestImpl):
(WebCore::InspectorInstrumentation::didReceiveWebSocketHandshakeResponseImpl):
(WebCore::InspectorInstrumentation::didCloseWebSocketImpl):
(WebCore::InspectorInstrumentation::didReceiveWebSocketFrameImpl):
(WebCore::InspectorInstrumentation::didReceiveWebSocketFrameErrorImpl):
(WebCore::InspectorInstrumentation::didSendWebSocketFrameImpl):

  • inspector/InspectorInstrumentation.h:

(WebCore::InspectorInstrumentation::didCreateWebSocket):
(WebCore::InspectorInstrumentation::willSendWebSocketHandshakeRequest):
(WebCore::InspectorInstrumentation::didReceiveWebSocketHandshakeResponse):
(WebCore::InspectorInstrumentation::didCloseWebSocket):
(WebCore::InspectorInstrumentation::didReceiveWebSocketFrame):
(WebCore::InspectorInstrumentation::didReceiveWebSocketFrameError):
(WebCore::InspectorInstrumentation::didSendWebSocketFrame):

  • inspector/agents/InspectorNetworkAgent.cpp:

(WebCore::InspectorNetworkAgent::didCreateWebSocket):
(WebCore::InspectorNetworkAgent::willSendWebSocketHandshakeRequest):
(WebCore::InspectorNetworkAgent::didReceiveWebSocketHandshakeResponse):
(WebCore::InspectorNetworkAgent::didCloseWebSocket):
(WebCore::InspectorNetworkAgent::didReceiveWebSocketFrame):
(WebCore::InspectorNetworkAgent::didSendWebSocketFrame):
(WebCore::InspectorNetworkAgent::didReceiveWebSocketFrameError):
(WebCore::InspectorNetworkAgent::webSocketForRequestId):

  • inspector/agents/InspectorNetworkAgent.h:
  • loader/ProgressTracker.cpp:

(WebCore::ProgressTracker::createUniqueIdentifier): Deleted.

  • loader/ProgressTracker.h:

Source/WebKit:

  • WebProcess/Network/WebSocketChannel.h:
8:10 AM Changeset in webkit [282817] by youenn@apple.com
  • 2 edits in trunk/LayoutTests

[BigSur E Wk2 Release] imported/w3c/web-platform-tests/webrtc/RTCRtpSender-encode-same-track-twice.https.html in flaky failure
https://bugs.webkit.org/show_bug.cgi?id=226054
<rdar://problem/78284384>

Unreviewed.

  • platform/mac-wk2/TestExpectations:

Remove flaky expectation.

8:05 AM Changeset in webkit [282816] by Antti Koivisto
  • 4 edits
    2 adds in trunk

REGRESSION(r282129): Double clicking margin of a block inside a <span> may select a wrong block
https://bugs.webkit.org/show_bug.cgi?id=230535

Reviewed by Alan Bujtas.

Source/WebCore:

If the blocks are inside a <span> we fail to search through continuation chain
and end up always selecting the first block inside it.

Test: editing/selection/hit-test-continuation-margin.html

  • rendering/RenderInline.cpp:

(WebCore::RenderInline::positionForPoint):

The firstLineBox() test was really an "are inlines culled" test which stopped making sense
after inline culling was removed. Continuations need special handling but we would only
get to that code path if inlines were culled. After r282129 we would never get there.

Fix by removing the hasInlineBox test.

LayoutTests:

  • editing/selection/hit-test-continuation-margin-expected.html: Added.
  • editing/selection/hit-test-continuation-margin.html: Added.
7:54 AM Changeset in webkit [282815] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

Fix JSC test runner warnings and errors on linux
https://bugs.webkit.org/show_bug.cgi?id=230218

Patch by Phillip Mates <Phillip Mates> on 2021-09-21
Reviewed by Jonathan Bedard.

Fixed the following warning that arises in many scripts when they are
run on Linux:
`Can't exec "xcodebuild": No such file or directory at
/home/mates/igalia/WebKit/Tools/Scripts/webkitdirs.pm line 634.`

Fixed run-javascriptcore-tests on Linux, which was failing to invoke
builds before running the test suite with the error:
Unrecognized option --64-bit'`

  • Scripts/webkitdirs.pm:

(XcodeOptions):
(determineIsWin64):
(determineIsWin64FromArchitecture): Deleted.

7:54 AM Changeset in webkit [282814] by Simon Fraser
  • 5 edits in trunk/Source/WebCore

ScrollAnimationSmooth should only have one way to start an animation
https://bugs.webkit.org/show_bug.cgi?id=230529

Reviewed by Martin Robinson.

Remove the ScrollbarOrientation/ScrollGranularity/step/multiplier entry point on
ScrollAnimationSmooth; the caller can do the math to compute the end point.

  • page/scrolling/nicosia/ScrollingTreeScrollingNodeDelegateNicosia.cpp:

(WebCore::ScrollingTreeScrollingNodeDelegateNicosia::handleWheelEvent):

  • platform/ScrollAnimationSmooth.cpp:

(WebCore::ScrollAnimationSmooth::startAnimatedScroll): Deleted.

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

(WebCore::ScrollAnimator::scroll):

7:50 AM Changeset in webkit [282813] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

[webkitcorepy] Fail to parse python required version when there's a space between operator and version
https://bugs.webkit.org/show_bug.cgi?id=230549

Patch by Carlos Garcia Campos <cgarcia@igalia.com> on 2021-09-21
Reviewed by Jonathan Bedard.

Add optional space between operator and version expression in regular expression.

  • Scripts/libraries/webkitcorepy/webkitcorepy/version.py:

(Version):

7:11 AM Changeset in webkit [282812] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.34/Source/JavaScriptCore

Merge r282722 - 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):

6:46 AM Changeset in webkit [282811] by Antti Koivisto
  • 9 edits in trunk

[LFC][Integration] Enable markers and highlights
https://bugs.webkit.org/show_bug.cgi?id=230542

Reviewed by Alan Bujtas.

Source/WebCore:

Layout and paint highlights and markers without switching to legacy line layout.

  • Modules/highlight/Highlight.cpp:

(WebCore::repaintRange):

  • dom/DocumentMarkerController.cpp:

(WebCore::DocumentMarkerController::addMarker):

  • editing/Editor.cpp:

(WebCore::Editor::setComposition):

  • layout/integration/LayoutIntegrationCoverage.cpp:

(WebCore::LayoutIntegration::printReason):
(WebCore::LayoutIntegration::canUseForChild):
(WebCore::LayoutIntegration::canUseForLineLayoutWithReason):

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

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

LayoutTests:

  • platform/mac/editing/mac/spelling/delete-autocorrected-word-2-expected.txt:
4:00 AM Changeset in webkit [282810] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebCore

Unreviewed, reverting r282807.
https://bugs.webkit.org/show_bug.cgi?id=230546

This is causing imported/w3c/web-platform-tests/css/css-
fonts/parsing/font-palette-values-valid.html crash

Reverted changeset:

"Push font-palette-values data into CSSFontSelector"
https://bugs.webkit.org/show_bug.cgi?id=230447
https://commits.webkit.org/r282807

2:28 AM Changeset in webkit [282809] by Chris Lord
  • 2 edits in trunk/Source/WebCore

imported/w3c/web-platform-tests/css/css-font-loading/fontfaceset-load-var.html crashes
https://bugs.webkit.org/show_bug.cgi?id=229727
<rdar://problem/82834470>

Reviewed by Darin Adler.

Don't use CalcParser in raw CSS parsing functions that don't accept
a CSSValuePool parameter.

No new tests, covered by existing tests.

  • css/parser/CSSPropertyParserHelpers.cpp:

(WebCore::CSSPropertyParserHelpers::consumeCalcRawWithKnownTokenTypeFunction):
(WebCore::CSSPropertyParserHelpers::consumeIntegerTypeRawWithKnownTokenTypeFunction):
(WebCore::CSSPropertyParserHelpers::consumeNumberRawWithKnownTokenTypeFunction):
(WebCore::CSSPropertyParserHelpers::consumePercentRawWithKnownTokenTypeFunction):
(WebCore::CSSPropertyParserHelpers::consumeLengthRawWithKnownTokenTypeFunction):
(WebCore::CSSPropertyParserHelpers::consumeAngleRawWithKnownTokenTypeFunction):
(WebCore::CSSPropertyParserHelpers::consumeLengthOrPercentRaw):

2:22 AM Changeset in webkit [282808] by commit-queue@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

Prevent test from accessing FP registers if they are not available (e.g., arm softFP)
https://bugs.webkit.org/show_bug.cgi?id=230493

Unreviewed gardening.

The patch from https://bugs.webkit.org/show_bug.cgi?id=228543 introduced
explicity calls to FP registers, however, they are not available in archs
that emulate FPs. This patch adds an #ifdef to only enable the test if
the arch has FP registers.

Patch by Mikhail R. Gadelha <Mikhail R. Gadelha> on 2021-09-21

  • assembler/testmasm.cpp:

(JSC::testStoreBaseIndex):

2:21 AM Changeset in webkit [282807] by mmaxfield@apple.com
  • 4 edits in trunk/Source/WebCore

Push font-palette-values data into CSSFontSelector
https://bugs.webkit.org/show_bug.cgi?id=230447

Reviewed by Antti Koivisto.

In https://bugs.webkit.org/show_bug.cgi?id=230337 I added parsing support for font-palette-values.
This patch pushes the parsed data down into CSSFontSelector, so it can be passed into the font
creation routines. The data is retained, so it's always possible to query the CSSFontSelector for
the state of the world regarding font palettes.

No new tests because there is no behavior change. This querying functionality will be hooked up
in https://bugs.webkit.org/show_bug.cgi?id=230449.

  • css/CSSFontSelector.cpp:

(WebCore::CSSFontSelector::buildStarted):
(WebCore::CSSFontSelector::addFontPaletteValuesRule):
(WebCore::CSSFontSelector::fontRangesForFamily):

  • css/CSSFontSelector.h:
  • style/RuleSet.cpp:

(WebCore::Style::RuleSet::Builder::addChildRules):

1:24 AM Changeset in webkit [282806] by mmaxfield@apple.com
  • 28 edits
    3 copies
    7 adds in trunk

Parsing support for font-palette-values
https://bugs.webkit.org/show_bug.cgi?id=230337

Reviewed by Antti Koivisto.

LayoutTests/imported/w3c:

These are being upstreamed at https://github.com/web-platform-tests/wpt/pull/30840.

  • web-platform-tests/css/css-fonts/idlharness-expected.txt:
  • web-platform-tests/css/css-fonts/parsing/font-palette-values-invalid-expected.txt: Added.
  • web-platform-tests/css/css-fonts/parsing/font-palette-values-invalid.html: Added.
  • web-platform-tests/css/css-fonts/parsing/font-palette-values-valid-expected.txt: Added.
  • web-platform-tests/css/css-fonts/parsing/font-palette-values-valid.html: Added.

Source/WebCore:

There's nothing particularly interesting here - it's just support for another at-rule.
I've implemented what's in the spec right now:
https://drafts.csswg.org/css-fonts-4/#font-palette-values

There are 2 new descriptors: base-palette and override-color. I've added a new CSSValue subclass
for each of the items in the override-color list - these items are just tuples of two
CSSPrimitiveValues. I could have done this with a CSSValueList which always just happens to have
a length of 2, but I thought that was less elegant (and has an extra pointer indirection) than
making a class to hold the two CSSPrimitiveValues.

The only difference with what's in the spec is that I've given a different value to
FONT_PALETTE_VALUES_RULE, because its current value conflicts with VIEWPORT_RULE. This is being
tracked at https://github.com/w3c/csswg-drafts/issues/6623.

I created a new datatype and file in platform/graphics/FontPaletteValues.h because this data will
eventually be passed to preparePlatformFont(), which is in platform/, so this data needs to be
accessible from platform/ too.

Tests: imported/w3c/web-platform-tests/css/css-fonts/parsing/font-palette-values-invalid.html

imported/w3c/web-platform-tests/css/css-fonts/parsing/font-palette-values-valid.html

  • CMakeLists.txt:
  • DerivedSources-input.xcfilelist:
  • DerivedSources-output.xcfilelist:
  • DerivedSources.make:
  • Headers.cmake:
  • Sources.txt:
  • WebCore.xcodeproj/project.pbxproj:
  • bindings/js/JSCSSRuleCustom.cpp:

(WebCore::toJSNewlyCreated):

  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::ComputedStyleExtractor::valueForPropertyInStyle):

  • css/CSSFontPaletteValuesOverrideColorValue.cpp: Copied from Source/WebCore/css/StyleRuleType.h.

(WebCore::CSSFontPaletteValuesOverrideColorValue::customCSSText const):
(WebCore::CSSFontPaletteValuesOverrideColorValue::equals const):

  • css/CSSFontPaletteValuesOverrideColorValue.h: Copied from Source/WebCore/css/StyleRuleType.h.
  • css/CSSFontPaletteValuesRule.cpp: Added.

(WebCore::CSSFontPaletteValuesRule::CSSFontPaletteValuesRule):
(WebCore::CSSFontPaletteValuesRule::~CSSFontPaletteValuesRule):
(WebCore::parseString):
(WebCore::CSSFontPaletteValuesRule::fontFamily const):
(WebCore::CSSFontPaletteValuesRule::basePalette const):
(WebCore::CSSFontPaletteValuesRule::setFontFamily):
(WebCore::CSSFontPaletteValuesRule::setBasePalette):
(WebCore::CSSFontPaletteValuesRule::initializeMapLike):
(WebCore::CSSFontPaletteValuesRule::setFromMapLike):
(WebCore::CSSFontPaletteValuesRule::clear):
(WebCore::CSSFontPaletteValuesRule::remove):
(WebCore::CSSFontPaletteValuesRule::cssText const):
(WebCore::CSSFontPaletteValuesRule::reattach):

  • css/CSSFontPaletteValuesRule.h: Copied from Source/WebCore/css/StyleRuleType.h.
  • css/CSSFontPaletteValuesRule.idl: Added.
  • css/CSSProperties.json:
  • css/CSSRule.cpp:
  • css/CSSRule.h:
  • css/CSSRule.idl:
  • css/CSSValue.cpp:

(WebCore::CSSValue::equals const):
(WebCore::CSSValue::cssText const):
(WebCore::CSSValue::destroy):

  • css/CSSValue.h:

(WebCore::CSSValue::isFontPaletteValuesOverrideColorValue const):

  • css/StyleRule.cpp:

(WebCore::StyleRuleBase::destroy):
(WebCore::StyleRuleBase::copy const):
(WebCore::StyleRuleBase::createCSSOMWrapper const):
(WebCore::StyleRuleFontPaletteValues::StyleRuleFontPaletteValues):

  • css/StyleRule.h:

(WebCore::StyleRuleBase::isFontPaletteValuesRule const):
(isType):

  • css/StyleRuleType.h:
  • css/StyleSheetContents.cpp:

(WebCore::traverseRulesInVector):
(WebCore::StyleSheetContents::traverseSubresources const):

  • css/parser/CSSAtRuleID.cpp:

(WebCore::cssAtRuleID):

  • css/parser/CSSAtRuleID.h:
  • css/parser/CSSParserImpl.cpp:

(WebCore::CSSParserImpl::consumeAtRule):
(WebCore::CSSParserImpl::consumeFontPaletteValuesRule):
(WebCore::CSSParserImpl::consumeDeclaration):

  • css/parser/CSSParserImpl.h:
  • css/parser/CSSPropertyParser.cpp:

(WebCore::CSSPropertyParser::parseValue):
(WebCore::consumeBasePaletteDescriptor):
(WebCore::consumeOverrideColorDescriptor):
(WebCore::CSSPropertyParser::parseFontPaletteValuesDescriptor):

  • css/parser/CSSPropertyParser.h:
  • platform/graphics/FontPaletteValues.h: Added.

(WebCore::FontPaletteValues::FontPaletteValues):
(WebCore::FontPaletteValues::basePalette const):
(WebCore::FontPaletteValues::setBasePalette):
(WebCore::FontPaletteValues::overrideColor const):
(WebCore::FontPaletteValues::appendOverrideColor):
(WebCore::FontPaletteValues::clearOverrideColor):
(WebCore::FontPaletteValues::remove):

12:48 AM Changeset in webkit [282805] by mmaxfield@apple.com
  • 4 edits in trunk

Maplike infrastructure ASSERT()s if the first operation is a delete of a existing values
https://bugs.webkit.org/show_bug.cgi?id=230530

Reviewed by Youenn Fablet.

Source/WebCore:

The infrastructure deletes the value from the backing map before the JS map is initialized.
Then, when the infrastructure goes to delete it from the JS map, it isn't present. The
ASSERT() checks to see that it was deleted from the JS map iff it was deleted from the backing
map.

Test: js/dom/maplike.html

  • bindings/js/JSDOMMapLike.h:

(WebCore::forwardDeleteToMapLike):

LayoutTests:

  • js/dom/maplike.html:
12:26 AM Changeset in webkit [282804] by Ziran Sun
  • 7 edits in trunk

[css-grid] When the max is less than the min in minmax(), the max will be floored by the min
https://bugs.webkit.org/show_bug.cgi?id=230481

Reviewed by Sergio Villar Senin.

LayoutTests/imported/w3c:

Updated test expectation files as all the tests are passing.

  • web-platform-tests/css/css-grid/grid-definition/grid-auto-fill-columns-001-expected.txt:
  • web-platform-tests/css/css-grid/grid-definition/grid-auto-fill-rows-001-expected.txt:
  • web-platform-tests/css/css-grid/grid-definition/grid-auto-fit-columns-001-expected.txt:
  • web-platform-tests/css/css-grid/grid-definition/grid-auto-fit-rows-001-expected.txt:

Source/WebCore:

As per discussions in https://github.com/w3c/csswg-drafts/issues/4043, when the max is less than
the min in minmax()we need to floor the max track sizing function by the min track sizing function
when calculating the number of "auto-fit" or "auto-fill" repetitions. This change handles the
situations such as

  • If both the min and max track sizing functions are definite, use the maximum of them
  • If only one track sizing function is definite, use that one
  • rendering/RenderGrid.cpp:

(WebCore::RenderGrid::computeAutoRepeatTracksCount const):

12:18 AM Changeset in webkit [282803] by youenn@apple.com
  • 9 edits in trunk/Source/WebKit

Ensure that capture attribution works even for URLS without hostnames
https://bugs.webkit.org/show_bug.cgi?id=230479
<rdar://81832853>

Reviewed by Eric Carlson.

Some URLs allow to call getUserMedia but do not have origins, like custom scheme URLs.
In that case, the attribution status call was failing previously as we were not able to get a visible name to provide.
We mimick what we are doing for the default prompt by using the visible application name if the origin is not available.
Since we do the system attribution in GPUProcess, we now send the visible name to GPUProcess when creating it.

Manually tested.
We do not have system status attributon on MacOS or simulator so we cannot test it automatically.

  • GPUProcess/GPUProcess.cpp:

(WebKit::GPUProcess::initializeGPUProcess):

  • GPUProcess/GPUProcess.h:

(WebKit::GPUProcess::applicationVisibleName const):

  • GPUProcess/GPUProcessCreationParameters.cpp:

(WebKit::GPUProcessCreationParameters::encode const):
(WebKit::GPUProcessCreationParameters::decode):

  • GPUProcess/GPUProcessCreationParameters.h:
  • GPUProcess/cocoa/GPUConnectionToWebProcessCocoa.mm:

(WebKit::GPUConnectionToWebProcess::setCaptureAttributionString):

  • UIProcess/Cocoa/GPUProcessProxyCocoa.mm:

(WebKit::GPUProcessProxy::platformInitializeGPUProcessParameters):

  • UIProcess/Cocoa/MediaPermissionUtilities.mm:

(WebKit::applicationVisibleNameFromOrigin):
(WebKit::applicationVisibleName):
(WebKit::alertMessageText):

  • UIProcess/MediaPermissionUtilities.h:
12:14 AM Changeset in webkit [282802] by youenn@apple.com
  • 6 edits in trunk

Update list of WebRTC senders and receivers when updating local or remote descriptions
https://bugs.webkit.org/show_bug.cgi?id=230403

Reviewed by Eric Carlson.

LayoutTests/imported/w3c:

  • web-platform-tests/webrtc/no-media-call.html:

Check that transport is not null after setting the local description.

Source/WebCore:

Senders and receivers are only updated when updating descriptions, call collectTransceivers at those points.
We do this just before updating sender/receiver transports, which allows to fix a bug in case senders/receivers are not surfaced through track events.

Covered by updated tests.

  • Modules/mediastream/RTCPeerConnection.cpp:

(WebCore::RTCPeerConnection::getSenders const):
(WebCore::RTCPeerConnection::getReceivers const):
(WebCore::RTCPeerConnection::getTransceivers const):
(WebCore::RTCPeerConnection::updateTransceiversAfterSuccessfulLocalDescription):
(WebCore::RTCPeerConnection::updateTransceiversAfterSuccessfulRemoteDescription):

LayoutTests:

  • platform/mac-wk2/TestExpectations:
12:08 AM Changeset in webkit [282801] by Ziran Sun
  • 2 edits in trunk/Source/WebCore

[css-grid] FlexType is not applicable to min track sizing
https://bugs.webkit.org/show_bug.cgi?id=230405

Reviewed by Sergio Villar Senin.

For min track sizing, flexType is not applicable and shouldn't need a check.
This change is to remove the check that should not happen. No behaviour changes with
this change.

  • rendering/GridTrackSizingAlgorithm.cpp:

(WebCore::GridTrackSizingAlgorithm::spanningItemCrossesFlexibleSizedTracks const):

Sep 20, 2021:

10:27 PM Changeset in webkit [282800] by commit-queue@webkit.org
  • 3 edits
    8 adds in trunk

ANGLE Metal: single-component swizzles do not compile
https://bugs.webkit.org/show_bug.cgi?id=230472
<rdar://problem/83310780>

Patch by Kimmo Kinnunen <kkinnunen@apple.com> on 2021-09-20
Reviewed by Dean Jackson.

Source/ThirdParty/ANGLE:

Fix metal compiler compile errors when using
single value swizles (glslvariable.r) in position where lvalues would
be needed. Use the variable instead of single element array
(copy-paste typo).

  • src/compiler/translator/TranslatorMetalDirect/ProgramPrelude.cpp:

LayoutTests:

Add a test for testing the swizzles as lvalues.

  • webgl/pending/conformance/glsl/misc/swizzle-as-lvalue-expected.txt: Added.
  • webgl/pending/conformance/glsl/misc/swizzle-as-lvalue.html: Added.
  • webgl/pending/resources/webgl_test_files/conformance/glsl/misc/swizzle-as-lvalue.html: Added.
  • webgl/pending/resources/webgl_test_files/resources/glsl-feature-tests.css: Added.
10:15 PM Changeset in webkit [282799] by Chris Dumez
  • 106 edits in trunk/Source/WebCore

Drop remaining uses of makeRefPtr() in WebCore/
https://bugs.webkit.org/show_bug.cgi?id=230527

Reviewed by Alex Christensen.

  • html/CustomPaintImage.cpp:
  • html/DirectoryFileListCreator.cpp:

(WebCore::DirectoryFileListCreator::start):

  • html/FTPDirectoryDocument.cpp:

(WebCore::FTPDirectoryDocumentParser::loadDocumentTemplate):

  • html/FileInputType.cpp:

(WebCore::FileInputType::appendFormData const):
(WebCore::FileInputType::disabledStateChanged):
(WebCore::FileInputType::attributeChanged):
(WebCore::FileInputType::filesChosen):

  • html/HTMLDetailsElement.cpp:

(WebCore::HTMLDetailsElement::isActiveSummary const):
(WebCore::HTMLDetailsElement::parseAttribute):

  • html/HTMLDocument.cpp:

(WebCore::HTMLDocument::namedItem):

  • html/HTMLElement.cpp:

(WebCore::HTMLElement::editabilityFromContentEditableAttr):
(WebCore::imageOverlayHost):
(WebCore::HTMLElement::isInsideImageOverlay):
(WebCore::HTMLElement::updateWithTextRecognitionResult):

  • html/HTMLFormControlElement.cpp:

(WebCore::HTMLFormControlElement::didAttachRenderers):

  • html/HTMLFormControlsCollection.cpp:

(WebCore::findFormAssociatedElement):
(WebCore::HTMLFormControlsCollection::customElementAfter const):
(WebCore::HTMLFormControlsCollection::updateNamedElementCache const):

  • html/HTMLFormElement.cpp:

(WebCore::HTMLFormElement::~HTMLFormElement):
(WebCore::HTMLFormElement::length const):
(WebCore::HTMLFormElement::submitIfPossible):
(WebCore::HTMLFormElement::textFieldValues const):
(WebCore::HTMLFormElement::effectiveTarget const):
(WebCore::HTMLFormElement::elementFromPastNamesMap const):
(WebCore::HTMLFormElement::copyAssociatedElementsVector const):

  • html/HTMLFrameSetElement.cpp:

(WebCore::HTMLFrameSetElement::namedItem):

  • html/HTMLHtmlElement.cpp:

(WebCore::HTMLHtmlElement::insertedByParser):

  • html/HTMLImageElement.cpp:

(WebCore::HTMLImageElement::bestFitSourceFromPictureElement):
(WebCore::HTMLImageElement::evaluateDynamicMediaQueryDependencies):

  • html/HTMLInputElement.cpp:

(WebCore::HTMLInputElement::defaultEventHandler):

  • html/HTMLLabelElement.cpp:

(WebCore::firstElementWithIdIfLabelable):

  • html/HTMLLegendElement.cpp:

(WebCore::HTMLLegendElement::form const):

  • html/HTMLLinkElement.cpp:

(WebCore::HTMLLinkElement::setCSSStyleSheet):
(WebCore::HTMLLinkElement::addSubresourceAttributeURLs const):

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::loadResource):
(WebCore::HTMLMediaElement::updateActiveTextTrackCues):
(WebCore::HTMLMediaElement::removeTextTrack):
(WebCore::HTMLMediaElement::layoutSizeChanged):

  • html/HTMLObjectElement.cpp:

(WebCore::shouldBeExposed):
(WebCore::HTMLObjectElement::appendFormData):

  • html/HTMLOptGroupElement.cpp:

(WebCore::HTMLOptGroupElement::recalcSelectOptions):

  • html/HTMLPlugInElement.cpp:

(WebCore::HTMLPlugInElement::bindingsInstance):
(WebCore::HTMLPlugInElement::isReplacementObscured):

  • html/HTMLPlugInImageElement.cpp:

(WebCore::HTMLPlugInImageElement::isImageType):
(WebCore::HTMLPlugInImageElement::willDetachRenderers):

  • html/HTMLSlotElement.cpp:

(WebCore::HTMLSlotElement::attributeChanged):
(WebCore::HTMLSlotElement::assignedNodes const):

  • html/HTMLSourceElement.cpp:

(WebCore::HTMLSourceElement::parseAttribute):

  • html/HTMLStyleElement.cpp:

(WebCore::HTMLStyleElement::addSubresourceAttributeURLs const):

  • html/HTMLTableRowElement.cpp:

(WebCore::findRows):

  • html/HTMLTrackElement.cpp:

(WebCore::HTMLTrackElement::mediaElement const):

  • html/LinkIconCollector.cpp:

(WebCore::LinkIconCollector::iconsOfTypes):

  • html/MediaDocument.cpp:

(WebCore::MediaDocumentParser::createDocumentStructure):
(WebCore::MediaDocument::defaultEventHandler):
(WebCore::MediaDocument::replaceMediaElementTimerFired):

  • html/MediaElementSession.cpp:

(WebCore::isElementRectMostlyInMainFrame):
(WebCore::isElementLargeRelativeToMainFrame):

  • html/PluginDocument.cpp:

(WebCore::PluginDocumentParser::createDocumentStructure):
(WebCore::PluginDocumentParser::appendBytes):

  • html/SubmitInputType.cpp:

(WebCore::SubmitInputType::handleDOMActivateEvent):

  • html/canvas/CanvasRenderingContext.cpp:

(WebCore::CanvasRenderingContext::wouldTaintOrigin):

  • html/canvas/CanvasStyle.cpp:

(WebCore::CanvasStyle::CanvasStyle):

  • html/canvas/WebGL2RenderingContext.cpp:

(WebCore::WebGL2RenderingContext::beginQuery):
(WebCore::WebGL2RenderingContext::getIndexedParameter):
(WebCore::WebGL2RenderingContext::getFramebufferAttachmentParameter):
(WebCore::WebGL2RenderingContext::getParameter):

  • html/canvas/WebGLRenderingContext.cpp:

(WebCore::WebGLRenderingContext::getFramebufferAttachmentParameter):

  • html/canvas/WebGLRenderingContextBase.cpp:

(WebCore::WebGLRenderingContextBase::getParameter):

  • html/parser/HTMLConstructionSite.cpp:

(WebCore::executeReparentTask):
(WebCore::executeTakeAllChildrenAndReparentTask):
(WebCore::HTMLConstructionSite::dispatchDocumentElementAvailableIfNeeded):
(WebCore::HTMLConstructionSite::findFosterSite):

  • html/parser/HTMLPreloadScanner.cpp:

(WebCore::TokenPreloadScanner::StartTagScanner::processAttribute):

  • html/parser/XSSAuditorDelegate.cpp:

(WebCore::XSSAuditorDelegate::generateViolationReport):

  • html/shadow/TextControlInnerElements.cpp:

(WebCore::TextControlInnerTextElement::defaultEventHandler):
(WebCore::SearchFieldResultsButtonElement::resolveCustomStyle):
(WebCore::SearchFieldResultsButtonElement::defaultEventHandler):

  • html/shadow/TextPlaceholderElement.cpp:

(WebCore::TextPlaceholderElement::insertedIntoAncestor):
(WebCore::TextPlaceholderElement::removedFromAncestor):

  • html/track/InbandGenericTextTrack.cpp:

(WebCore::InbandGenericTextTrack::updateGenericCue):
(WebCore::InbandGenericTextTrack::removeGenericCue):

  • html/track/TextTrack.cpp:

(WebCore::TextTrack::addCue):
(WebCore::TextTrack::addRegion):

  • inspector/agents/InspectorPageAgent.cpp:

(WebCore::InspectorPageAgent::setEmulatedMedia):

  • loader/DocumentLoader.cpp:

(WebCore::DocumentLoader::notifyFinished):
(WebCore::DocumentLoader::tryLoadingRedirectRequestFromApplicationCache):

  • loader/FormSubmission.cpp:

(WebCore::FormSubmission::create):

  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::loadURL):
(WebCore::FrameLoader::commitProvisionalLoad):
(WebCore::FrameLoader::checkLoadCompleteForThisFrame):
(WebCore::FrameLoader::scrollToFragmentWithParentBoundary):

  • loader/HistoryController.cpp:

(WebCore::FrameLoader::HistoryController::restoreScrollPositionAndViewState):

  • loader/NavigationScheduler.cpp:
  • loader/SubframeLoader.cpp:

(WebCore::FrameLoader::SubframeLoader::loadOrRedirectSubframe):

  • loader/cache/CachedFont.cpp:

(WebCore::CachedFont::createCustomFontData):

  • page/ContextMenuController.cpp:

(WebCore::ContextMenuController::contextMenuItemSelected):
(WebCore::ContextMenuController::populate):

  • page/DOMWindow.cpp:

(WebCore::DOMWindow::innerWidth const):
(WebCore::DOMWindow::requestIdleCallback):
(WebCore::DOMWindow::cancelIdleCallback):
(WebCore::DOMWindow::languagesChanged):
(WebCore::DOMWindow::dispatchLoadEvent):

  • page/DragController.cpp:

(WebCore::DragController::tryToUpdateDroppedImagePlaceholders):
(WebCore::DragController::insertDroppedImagePlaceholdersAtCaret):
(WebCore::DragController::finalizeDroppedImagePlaceholder):

  • page/EventHandler.cpp:

(WebCore::nodeToSelectOnMouseDownForNode):
(WebCore::expandSelectionToRespectSelectOnMouseDown):
(WebCore::EventHandler::canMouseDownStartSelect):
(WebCore::EventHandler::hitTestResultAtPoint const):
(WebCore::EventHandler::scheduleScrollEvent):

  • page/FrameView.cpp:

(WebCore::FrameView::scrollToFragmentInternal):
(WebCore::FrameView::scrollToFocusedElementInternal):

  • page/ImageOverlayController.cpp:

(WebCore::ImageOverlayController::selectionQuadsDidChange):

  • page/Page.cpp:

(WebCore::replaceRanges):
(WebCore::Page::replaceRangesWithText):
(WebCore::Page::setEditableRegionEnabled):
(WebCore::Page::editableElementsInRect const):
(WebCore::Page::doAfterUpdateRendering):
(WebCore::Page::setUnderPageBackgroundColorOverride):
(WebCore::Page::didFinishLoadingImageForElement):
(WebCore::Page::updateElementsWithTextRecognitionResults):

  • page/PageColorSampler.cpp:

(WebCore::PageColorSampler::sampleTop):

  • page/PointerLockController.cpp:

(WebCore::PointerLockController::enqueueEvent):

  • page/TextIndicator.cpp:

(WebCore::TextIndicator::createWithRange):

  • page/UndoManager.cpp:

(WebCore::UndoManager::addItem):

  • page/ios/EventHandlerIOS.mm:

(WebCore::EventHandler::focusDocumentView):

  • page/ios/FrameIOS.mm:

(WebCore::nodeIsMouseFocusable):

  • page/mac/EventHandlerMac.mm:

(WebCore::EventHandler::focusDocumentView):

  • page/mac/ImageOverlayControllerMac.mm:

(WebCore::ImageOverlayController::updateDataDetectorHighlights):
(WebCore::ImageOverlayController::platformHandleMouseEvent):
(WebCore::ImageOverlayController::handleDataDetectorAction):

  • page/mac/ServicesOverlayController.mm:

(WebCore::ServicesOverlayController::buildSelectionHighlight):

  • platform/PasteboardCustomData.cpp:

(WebCore::PasteboardCustomData::readBuffer const):

  • platform/graphics/avfoundation/CDMFairPlayStreaming.cpp:

(WebCore::CDMPrivateFairPlayStreaming::setLogger):

  • platform/graphics/avfoundation/objc/CDMInstanceFairPlayStreamingAVFObjC.mm:

(WebCore::CDMInstanceFairPlayStreamingAVFObjC::setLogger):
(WebCore::CDMInstanceSessionFairPlayStreamingAVFObjC::setLogger):

  • platform/graphics/avfoundation/objc/SourceBufferParserAVFObjC.mm:

(WebCore::SourceBufferParserAVFObjC::setLogger):

  • platform/graphics/cairo/ImageBufferCairoSurfaceBackend.cpp:

(WebCore::ImageBufferCairoSurfaceBackend::copyNativeImage const):

  • platform/graphics/cocoa/SourceBufferParserWebM.cpp:

(WebCore::SourceBufferParserWebM::setLogger):

  • platform/graphics/gstreamer/mse/AppendPipeline.cpp:

(WebCore::AppendPipeline::makeWebKitTrack):

  • platform/network/cocoa/RangeResponseGenerator.mm:
  • rendering/RenderElement.cpp:

(WebCore::RenderElement::selectionPseudoStyle const):

  • rendering/RenderThemeIOS.mm:

(WebCore::RenderThemeIOS::paintMeter):

  • storage/StorageEventDispatcher.cpp:

(WebCore::StorageEventDispatcher::dispatchSessionStorageEventsToFrames):
(WebCore::StorageEventDispatcher::dispatchLocalStorageEventsToFrames):

  • style/StyleScope.cpp:

(WebCore::Style::Scope::makeResolverSharingKey):

  • svg/SVGAElement.cpp:

(WebCore::SVGAElement::defaultEventHandler):

  • svg/SVGAnimateElementBase.cpp:

(WebCore::SVGAnimateElementBase::startAnimation):
(WebCore::SVGAnimateElementBase::calculateAnimatedValue):

  • svg/SVGAnimateMotionElement.cpp:

(WebCore::SVGAnimateMotionElement::hasValidAttributeType const):
(WebCore::SVGAnimateMotionElement::startAnimation):
(WebCore::SVGAnimateMotionElement::calculateAnimatedValue):
(WebCore::SVGAnimateMotionElement::applyResultsToTarget):

  • svg/SVGDocumentExtensions.cpp:

(WebCore::SVGDocumentExtensions::takeElementFromPendingResourcesForRemovalMap):

  • svg/SVGElement.cpp:

(WebCore::SVGElement::removeElementReference):
(WebCore::SVGElement::setCorrespondingElement):
(WebCore::SVGElement::resolveCustomStyle):
(WebCore::SVGElement::computedStyle):
(WebCore::SVGElement::updateRelativeLengthsInformation):

  • svg/SVGFEDiffuseLightingElement.cpp:

(WebCore::SVGFEDiffuseLightingElement::build const):

  • svg/SVGFEImageElement.cpp:

(WebCore::SVGFEImageElement::notifyFinished):

  • svg/SVGFELightElement.cpp:

(WebCore::SVGFELightElement::svgAttributeChanged):
(WebCore::SVGFELightElement::childrenChanged):

  • svg/SVGFESpecularLightingElement.cpp:

(WebCore::SVGFESpecularLightingElement::build const):

  • svg/SVGFilterPrimitiveStandardAttributes.cpp:

(WebCore::invalidateFilterPrimitiveParent):

  • svg/SVGFontFaceElement.cpp:

(WebCore::SVGFontFaceElement::rebuildFontFace):

  • svg/SVGFontFaceFormatElement.cpp:

(WebCore::SVGFontFaceFormatElement::childrenChanged):

  • svg/SVGFontFaceUriElement.cpp:

(WebCore::SVGFontFaceUriElement::childrenChanged):

  • svg/SVGForeignObjectElement.cpp:

(WebCore::SVGForeignObjectElement::rendererIsNeeded):

  • svg/SVGLengthContext.cpp:

(WebCore::SVGLengthContext::determineViewport const):

  • svg/SVGSVGElement.cpp:

(WebCore::SVGSVGElement::frameForCurrentScale const):
(WebCore::SVGSVGElement::deselectAll):
(WebCore::SVGSVGElement::localCoordinateSpaceTransform const):
(WebCore::SVGSVGElement::getElementById):

  • svg/SVGStyleElement.cpp:

(WebCore::SVGStyleElement::setDisabled):

  • svg/SVGTRefElement.cpp:

(WebCore::SVGTRefElement::detachTarget):

  • svg/SVGTransformList.cpp:

(WebCore::SVGTransformList::consolidate):

  • svg/SVGUseElement.cpp:

(WebCore::SVGUseElement::transferSizeAttributesToTargetClone const):

  • svg/animation/SVGSMILElement.cpp:

(WebCore::SVGSMILElement::buildPendingResource):
(WebCore::SVGSMILElement::insertedIntoAncestor):
(WebCore::SVGSMILElement::connectConditions):
(WebCore::SVGSMILElement::disconnectConditions):

  • svg/graphics/SVGImage.cpp:

(WebCore::SVGImage::setContainerSize):
(WebCore::SVGImage::draw):
(WebCore::SVGImage::reportApproximateMemoryCost const):

  • svg/graphics/filters/SVGFEImage.cpp:

(WebCore::FEImage::platformApplySoftware):

  • svg/properties/SVGPropertyAnimator.h:

(WebCore::SVGPropertyAnimator::computeCSSPropertyValue const):
(WebCore::SVGPropertyAnimator::computeInheritedCSSPropertyValue const):

  • testing/Internals.cpp:

(WebCore::Internals::changeSelectionListType):
(WebCore::Internals::changeBackToReplacedString):

9:01 PM Changeset in webkit [282798] by Simon Fraser
  • 11 edits
    2 adds in trunk/Source/WebCore

Wrap ScrollingMomentumCalculator in a ScrollAnimationMomentum when used for scroll snap
https://bugs.webkit.org/show_bug.cgi?id=230506

Reviewed by Wenson Hsieh.

The long-term goal is to have all scroll animations run via ScrollAnimation subclasses,
and for there to be a class (ScrollAnimator or ScrollingEffectsController) that has
a member variable for the single active scroll animation, for there can be only one
at a time.

As a step towards that goal, make ScrollAnimationMomentum and have it wrap the
ScrollingMomentumCalculator. ScrollSnapAnimatorState then owns a ScrollAnimationMomentum.

Other ScrollAnimations are running their own timers (which should go away in future),
but for now ScrollAnimationMomentum is driven "manually" by ScrollSnapAnimatorState.
Facilitate this by having ScrollAnimation::serviceAnimation() return the current offset.

  • Headers.cmake:
  • Sources.txt:
  • WebCore.xcodeproj/project.pbxproj:
  • platform/ScrollAnimation.h:

(WebCore::ScrollAnimationClient::scrollAnimationDidUpdate):
(WebCore::ScrollAnimationClient::scrollAnimationDidEnd):
(WebCore::ScrollAnimation::serviceAnimation):

  • platform/ScrollAnimationMomentum.cpp: Added.

(WebCore::ScrollAnimationMomentum::ScrollAnimationMomentum):
(WebCore::ScrollAnimationMomentum::startAnimatedScrollWithInitialVelocity):
(WebCore::ScrollAnimationMomentum::retargetActiveAnimation):
(WebCore::ScrollAnimationMomentum::stop):
(WebCore::ScrollAnimationMomentum::isActive const):
(WebCore::ScrollAnimationMomentum::serviceAnimation):
(WebCore::ScrollAnimationMomentum::updateScrollExtents):

  • platform/ScrollAnimationMomentum.h: Added.
  • platform/ScrollAnimationSmooth.cpp:
  • platform/ScrollSnapAnimatorState.cpp:

(WebCore::ScrollSnapAnimatorState::setupAnimationForState):
(WebCore::ScrollSnapAnimatorState::teardownAnimationForState):
(WebCore::ScrollSnapAnimatorState::currentAnimatedScrollOffset const):
(WebCore::ScrollSnapAnimatorState::scrollExtentsForAnimation):

  • platform/ScrollSnapAnimatorState.h:
  • platform/ScrollingEffectsController.cpp:
  • platform/ScrollingEffectsController.h:
  • platform/mac/ScrollingEffectsController.mm:

(WebCore::ScrollingEffectsController::statelessSnapTransitionTimerFired):

6:51 PM Changeset in webkit [282797] by Russell Epstein
  • 1 copy in tags/Safari-612.2.4.1.3

Tag Safari-612.2.4.1.3.

6:06 PM Changeset in webkit [282796] by Russell Epstein
  • 1 copy in tags/Safari-612.2.7

Tag Safari-612.2.7.

5:24 PM Changeset in webkit [282795] by commit-queue@webkit.org
  • 10 edits
    6 adds in trunk

Implement exp,log functions calc functions
https://bugs.webkit.org/show_bug.cgi?id=229897

Patch by Nikos Mouchtaris <Nikos Mouchtaris> on 2021-09-20
Reviewed by Simon Fraser.

LayoutTests/imported/w3c:

  • web-platform-tests/css/css-values/exp-log-compute.html: Added.
  • web-platform-tests/css/css-values/exp-log-invalid.html: Added.
  • web-platform-tests/css/css-values/exp-log-serialize.html: Added.

Source/WebCore:

Added support for calc functions exp and log. Involved adding exp and log CSS keywords and handling
for parsing these functions and their arguments as well as computing the result based on the arguments.
Spec for these functions: https://drafts.csswg.org/css-values-4/#exponent-funcs.

Tests: imported/w3c/web-platform-tests/css/css-values/exp-log-compute.html

imported/w3c/web-platform-tests/css/css-values/exp-log-invalid.html
imported/w3c/web-platform-tests/css/css-values/exp-log-serialize.html

  • css/CSSValueKeywords.in:
  • css/calc/CSSCalcExpressionNodeParser.cpp:

(WebCore::CSSCalcExpressionNodeParser::parseCalcFunction):

  • css/calc/CSSCalcOperationNode.cpp:

(WebCore::determineCategory):
(WebCore::functionFromOperator):
(WebCore::CSSCalcOperationNode::createLog):
(WebCore::CSSCalcOperationNode::createExp):
(WebCore::CSSCalcOperationNode::combineChildren):
(WebCore::CSSCalcOperationNode::simplifyNode):
(WebCore::functionPrefixForOperator):
(WebCore::CSSCalcOperationNode::evaluateOperator):

  • css/calc/CSSCalcOperationNode.h:
  • css/calc/CSSCalcValue.cpp:

(WebCore::createCSS):
(WebCore::CSSCalcValue::isCalcFunction):

  • platform/calc/CalcExpressionOperation.cpp:

(WebCore::CalcExpressionOperation::evaluate const):

  • platform/calc/CalcOperator.cpp:

(WebCore::operator<<):

  • platform/calc/CalcOperator.h:
5:14 PM Changeset in webkit [282794] by Chris Dumez
  • 2 edits in trunk/Source/WebKit

Avoid doing a second server pre-connect after a process-swap
https://bugs.webkit.org/show_bug.cgi?id=230517

Reviewed by Geoffrey Garen.

Avoid doing a second server pre-connect after a process-swap. It is unnecessary as we've already
asked the network process to do so before process-swapping.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::loadRequestWithNavigationShared):

4:45 PM Changeset in webkit [282793] by Ayumi Kojima
  • 2 edits in trunk/LayoutTests

[ iOS ] http/tests/websocket/tests/hybi/alert-in-event-handler.html is a flaky crash.
https://bugs.webkit.org/show_bug.cgi?id=230522

Unreviewed test gardening.

  • platform/ios-wk2/TestExpectations:
4:42 PM Changeset in webkit [282792] by Megan Gardner
  • 3 edits in trunk/Source/WebKit

Remove unused gesture code.
https://bugs.webkit.org/show_bug.cgi?id=230515

Reviewed by Wenson Hsieh.

  • Shared/ios/GestureTypes.h:
  • UIProcess/ios/WKContentViewInteraction.mm:

(toGestureType):
(toUIWKGestureType):

4:18 PM Changeset in webkit [282791] by Russell Epstein
  • 8 edits in branches/safari-612.2.4.1-branch/Source

Versioning.

WebKit-7612.2.4.1.3

4:09 PM Changeset in webkit [282790] by Eric Hutchison
  • 2 edits in trunk/LayoutTests

[ Catalina wk2 Release EWS ] imported/w3c/web-platform-tests/subresource-integrity/subresource-integrity.html is a flaky crash.
https://bugs.webkit.org/show_bug.cgi?id=230518.

Unreviewed test gardening.

  • platform/mac-wk2/TestExpectations:
4:08 PM Changeset in webkit [282789] by eric.carlson@apple.com
  • 7 edits in trunk/Source

[Cocoa] Videos sometimes don't render when loaded in the GPU process
https://bugs.webkit.org/show_bug.cgi?id=230495
rdar://83205407

Reviewed by Jer Noble.

The media players choose what type of video output to create based on whether
or not the renderer can support accelerated rendering. We were only pushing
this state to the GPU process when the renderer changed to require backing, but
that state was lost if that transition happened before the AVFoundation-backed
media player was created. Change this to push the current state from the web process
when a remote media player is created, and again whenever its readyState changes.

We haven't figured out how to reliably reproduce this, so https://webkit.org/b/230500
tracks figuring that out and creating a test.

  • GPUProcess/media/RemoteMediaPlayerProxy.cpp:

(WebKit::RemoteMediaPlayerProxy::RemoteMediaPlayerProxy): Set m_renderingCanBeAccelerated
from the configuration.
(WebKit::RemoteMediaPlayerProxy::prepareToPlay): Add logging.
(WebKit::RemoteMediaPlayerProxy::prepareForRendering): Ditto.
(WebKit::RemoteMediaPlayerProxy::setPageIsVisible): Ditto.
(WebKit::RemoteMediaPlayerProxy::acceleratedRenderingStateChanged): Ditto.
(WebKit::RemoteMediaPlayerProxy::mediaPlayerReadyStateChanged): Ditto.

  • GPUProcess/media/RemoteMediaPlayerProxyConfiguration.h: Add renderingCanBeAccelerated.

(WebKit::RemoteMediaPlayerProxyConfiguration::encode const):
(WebKit::RemoteMediaPlayerProxyConfiguration::decode): Decode it.

  • WebProcess/GPU/media/MediaPlayerPrivateRemote.cpp:

(WebKit::MediaPlayerPrivateRemote::readyStateChanged): Call acceleratedRenderingStateChanged
if the state has changed.
(WebKit::MediaPlayerPrivateRemote::acceleratedRenderingStateChanged): Remember
the state.

  • WebProcess/GPU/media/MediaPlayerPrivateRemote.h:
  • WebProcess/GPU/media/RemoteMediaPlayerManager.cpp:

(WebKit::RemoteMediaPlayerManager::createRemoteMediaPlayer): Pass the accelerated
rendering state with the configuration.

3:40 PM Changeset in webkit [282788] by Ross Kirsling
  • 6 edits in trunk/Source

Unreviewed build fix for WinCairo with ENABLE_EXPERIMENTAL_FEATURES off.

Source/WebCore:

  • rendering/TextBoxPainter.cpp:

(WebCore::TextBoxPainter::paintForeground):

  • rendering/TextBoxPainter.h:

Source/WebKit:

  • NetworkProcess/NetworkSession.h:
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::createNewPage):

3:05 PM Changeset in webkit [282787] by Eric Hutchison
  • 3 edits in trunk/LayoutTests

[ BigSur Catalina iOS14 wk2 Release ] imported/w3c/web-platform-tests/html/webappapis/structured-clone/structured-clone.any.html is a flaky crash.
https://bugs.webkit.org/show_bug.cgi?id=230514.

Unreviewed test gardening.

  • platform/ios-14-wk2/TestExpectations:
  • platform/mac-wk2/TestExpectations:
2:51 PM Changeset in webkit [282786] by Ayumi Kojima
  • 2 edits in trunk/LayoutTests

[ iOS ] fast/viewport/scroll-delegates-switch-on-page-with-no-composition-mode-asserts.html is a flaky crash.
https://bugs.webkit.org/show_bug.cgi?id=230513

Unreviewed test gardening.

  • platform/ios-wk2/TestExpectations:
2:46 PM Changeset in webkit [282785] by Chris Dumez
  • 2 edits in trunk/Source/WebKit

Unreviewed, rebaseline webkitpy test after r282755.

  • Scripts/webkit/tests/TestWithCVPixelBufferMessageReceiver.cpp:

(WebKit::TestWithCVPixelBuffer::didReceiveMessage):
(WebKit::TestWithCVPixelBuffer::didReceiveSyncMessage):

2:45 PM Changeset in webkit [282784] by Chris Dumez
  • 61 edits in trunk

Reduce use of makeRefPtr() and use RefPtr { } directly
https://bugs.webkit.org/show_bug.cgi?id=230503

Reviewed by Geoffrey Garen.

Source/WebCore:

  • Modules/async-clipboard/Clipboard.cpp:

(WebCore::Clipboard::readText):
(WebCore::Clipboard::writeText):
(WebCore::Clipboard::read):
(WebCore::Clipboard::getType):
(WebCore::Clipboard::write):

  • Modules/async-clipboard/ClipboardItemBindingsDataSource.cpp:

(WebCore::ClipboardItemBindingsDataSource::getType):
(WebCore::ClipboardItemBindingsDataSource::collectDataForWriting):
(WebCore::ClipboardItemBindingsDataSource::invokeCompletionHandler):

  • Modules/async-clipboard/ClipboardItemPasteboardDataSource.cpp:

(WebCore::ClipboardItemPasteboardDataSource::getType):

  • Modules/highlight/AppHighlightStorage.cpp:

(WebCore::findNodeStartingAtPathComponentIndex):
(WebCore::findNode):
(WebCore::AppHighlightStorage::attemptToRestoreHighlightAndScroll):

  • Modules/indexeddb/IDBObjectStore.cpp:

(WebCore::IDBObjectStore::deleteFunction):

  • Modules/mediacontrols/MediaControlsHost.cpp:

(WebCore::MediaControlsHost::showMediaControlsContextMenu):

  • Modules/mediasession/MediaSession.cpp:

(WebCore::MediaSession::MediaSession):

  • Modules/mediasession/MediaSessionCoordinator.cpp:

(WebCore::MediaSessionCoordinator::join):
(WebCore::MediaSessionCoordinator::seekTo):
(WebCore::MediaSessionCoordinator::play):
(WebCore::MediaSessionCoordinator::pause):
(WebCore::MediaSessionCoordinator::setTrack):

  • Modules/mediasession/MediaSessionCoordinatorPrivate.cpp:

(WebCore::MediaSessionCoordinatorPrivate::setLogger):

  • Modules/mediastream/MediaStream.cpp:

(WebCore::createTrackPrivateVector):

  • Modules/paymentrequest/PaymentRequest.cpp:

(WebCore::PaymentRequest::shippingAddressChanged):

  • Modules/speech/SpeechRecognition.cpp:

(WebCore::SpeechRecognition::SpeechRecognition):

  • Modules/webdatabase/Database.cpp:

(WebCore::Database::scheduleTransactionCallback):

  • Modules/webxr/WebXRInputSource.cpp:

(WebCore::WebXRInputSource::update):
(WebCore::WebXRInputSource::pollEvents):

  • Modules/webxr/WebXRInputSourceArray.cpp:

(WebCore::WebXRInputSourceArray::update):

  • Modules/webxr/WebXRSession.cpp:

(WebCore::WebXRSession::didCompleteShutdown):

  • accessibility/AXObjectCache.cpp:

(WebCore::AXObjectCache::handleAriaExpandedChange):

  • accessibility/isolatedtree/AXIsolatedTree.cpp:

(WebCore::AXIsolatedTree::treeForPageID):

  • animation/DocumentTimelinesController.cpp:

(WebCore::DocumentTimelinesController::cacheCurrentTime):

  • animation/KeyframeEffect.cpp:

(WebCore::KeyframeEffect::setTarget):

  • animation/WebAnimation.cpp:

(WebCore::WebAnimation::finishNotificationSteps):

  • bridge/runtime_object.cpp:

(JSC::Bindings::JSC_DEFINE_HOST_FUNCTION):

  • dom/ContainerNode.cpp:

(WebCore::ContainerNode::removeSelfOrChildNodesForInsertion):

  • dom/Document.cpp:

(WebCore::Document::updateTitle):
(WebCore::Document::implicitClose):
(WebCore::Document::didRemoveAllPendingStylesheet):
(WebCore::Document::prepareMouseEvent):
(WebCore::command):

  • dom/Element.cpp:

(WebCore::Element::scrollTo):
(WebCore::Element::offsetLeftForBindings):
(WebCore::Element::offsetTopForBindings):
(WebCore::Element::focus):

  • dom/EventContext.h:

(WebCore::EventContext::EventContext):

  • dom/EventDispatcher.cpp:

(WebCore::EventDispatcher::dispatchEvent):

  • dom/FullscreenManager.cpp:

(WebCore::FullscreenManager::requestFullscreenForElement):
(WebCore::FullscreenManager::exitFullscreen):

  • dom/IdleDeadline.cpp:

(WebCore::IdleDeadline::timeRemaining const):
(WebCore::IdleDeadline::didTimeout const):

  • dom/MutationObserver.cpp:

(WebCore::MutationObserver::disconnect):

  • dom/Position.cpp:

(WebCore::Position::firstNode const):
(WebCore::makeBoundaryPoint):

  • dom/SlotAssignment.cpp:

(WebCore::SlotAssignment::removeSlotElementByName):
(WebCore::SlotAssignment::didChangeSlot):

  • dom/messageports/WorkerMessagePortChannelProvider.cpp:

(WebCore::WorkerMessagePortChannelProvider::takeAllMessagesForPort):
(WebCore::WorkerMessagePortChannelProvider::checkRemotePortForActivity):

  • editing/ApplyBlockElementCommand.cpp:

(WebCore::ApplyBlockElementCommand::endOfNextParagraphSplittingTextNodesIfNeeded):

  • editing/ApplyStyleCommand.cpp:

(WebCore::ApplyStyleCommand::applyBlockStyle):
(WebCore::ApplyStyleCommand::applyRelativeFontStyleChange):
(WebCore::ApplyStyleCommand::splitAncestorsWithUnicodeBidi):
(WebCore::ApplyStyleCommand::removeEmbeddingUpToEnclosingBlock):
(WebCore::highestEmbeddingAncestor):
(WebCore::ApplyStyleCommand::fixRangeAndApplyInlineStyle):
(WebCore::containsNonEditableRegion):
(WebCore::ApplyStyleCommand::applyInlineStyleToNodeRange):
(WebCore::ApplyStyleCommand::shouldApplyInlineStyleToRun):
(WebCore::ApplyStyleCommand::highestAncestorWithConflictingInlineStyle):
(WebCore::ApplyStyleCommand::removeInlineStyle):
(WebCore::ApplyStyleCommand::mergeStartWithPreviousIfIdentical):
(WebCore::ApplyStyleCommand::mergeEndWithNextIfIdentical):
(WebCore::ApplyStyleCommand::surroundNodeRangeWithElement):
(WebCore::ApplyStyleCommand::joinChildTextNodes):

  • editing/ChangeListTypeCommand.cpp:

(WebCore::ChangeListTypeCommand::listConversionType):

  • editing/CompositeEditCommand.cpp:

(WebCore::postTextStateChangeNotification):
(WebCore::CompositeEditCommand::insertNodeBefore):
(WebCore::CompositeEditCommand::insertNodeAfter):
(WebCore::CompositeEditCommand::insertNodeAt):
(WebCore::CompositeEditCommand::removeChildrenInRange):
(WebCore::CompositeEditCommand::removeNodeAndPruneAncestors):
(WebCore::CompositeEditCommand::prune):
(WebCore::CompositeEditCommand::positionOutsideTabSpan):
(WebCore::CompositeEditCommand::textNodeForRebalance const):
(WebCore::CompositeEditCommand::prepareWhitespaceAtPositionForSplit):
(WebCore::CompositeEditCommand::cleanupAfterDeletion):
(WebCore::CompositeEditCommand::moveParagraphs):

  • editing/DeleteSelectionCommand.cpp:

(WebCore::isTableRowEmpty):
(WebCore::firstInSpecialElement):
(WebCore::lastInSpecialElement):
(WebCore::DeleteSelectionCommand::initializePositionData):
(WebCore::DeleteSelectionCommand::handleSpecialCaseBRDelete):
(WebCore::firstEditablePositionInNode):
(WebCore::DeleteSelectionCommand::removeNode):
(WebCore::DeleteSelectionCommand::makeStylingElementsDirectChildrenOfEditableRootToPreventStyleLoss):
(WebCore::DeleteSelectionCommand::handleGeneralDelete):
(WebCore::DeleteSelectionCommand::mergeParagraphs):
(WebCore::DeleteSelectionCommand::removePreviouslySelectedEmptyTableRows):
(WebCore::DeleteSelectionCommand::removeRedundantBlocks):
(WebCore::DeleteSelectionCommand::doApply):

  • editing/EditCommand.cpp:

(WebCore::EditCommand::postTextStateChangeNotification):

  • editing/Editing.cpp:

(WebCore::highestNodeToRemoveInPruning):

  • editing/Editor.cpp:

(WebCore::Editor::selectionForCommand):
(WebCore::Editor::shouldInsertFragment):
(WebCore::Editor::replaceSelectionWithFragment):
(WebCore::Editor::respondToChangedContents):
(WebCore::Editor::hasBidiSelection const):
(WebCore::Editor::selectionUnorderedListState const):
(WebCore::Editor::selectionOrderedListState const):
(WebCore::Editor::findEventTargetFrom const):
(WebCore::Editor::applyStyle):
(WebCore::Editor::applyParagraphStyle):
(WebCore::notifyTextFromControls):
(WebCore::Editor::willApplyEditing):
(WebCore::Editor::insertTextWithoutSendingTextEvent):
(WebCore::Editor::copyImage):
(WebCore::Editor::renderLayerDidScroll):
(WebCore::Editor::setBaseWritingDirection):
(WebCore::Editor::baseWritingDirectionForSelectionStart const):
(WebCore::Editor::confirmOrCancelCompositionAndNotifyClient):
(WebCore::Editor::setComposition):
(WebCore::Editor::advanceToNextMisspelling):
(WebCore::Editor::markMisspellingsAfterTypingToWord):
(WebCore::Editor::isSpellCheckingEnabledFor const):
(WebCore::Editor::markAndReplaceFor):
(WebCore::Editor::removeTextPlaceholder):
(WebCore::Editor::applyEditingStyleToBodyElement const):
(WebCore::findFirstMarkable):
(WebCore::Editor::resolveTextCheckingTypeMask):
(WebCore::editableTextListsAtPositionInDescendingOrder):
(WebCore::Editor::fontAttributesAtSelectionStart):
(WebCore::Editor::styleForSelectionStart):

  • editing/FrameSelection.cpp:

(WebCore::FrameSelection::setSelection):
(WebCore::FrameSelection::selectFrameElementInParentIfFullySelected):

  • editing/InsertListCommand.cpp:

(WebCore::InsertListCommand::fixOrphanedListChild):
(WebCore::InsertListCommand::unlistifyParagraph):

  • editing/InsertNestedListCommand.cpp:

(WebCore::InsertNestedListCommand::doApply):

  • editing/RemoveNodePreservingChildrenCommand.cpp:

(WebCore::RemoveNodePreservingChildrenCommand::doApply):

  • editing/ReplaceSelectionCommand.cpp:

(WebCore::positionAvoidingPrecedingNodes):
(WebCore::ReplacementFragment::ReplacementFragment):
(WebCore::ReplacementFragment::removeUnrenderedNodes):
(WebCore::ReplacementFragment::removeInterchangeNodes):
(WebCore::ReplaceSelectionCommand::shouldMerge):
(WebCore::ReplaceSelectionCommand::removeRedundantStylesAndKeepStyleSpanInline):
(WebCore::ReplaceSelectionCommand::makeInsertedContentRoundTrippableWithHTMLTreeBuilder):
(WebCore::ReplaceSelectionCommand::moveNodeOutOfAncestor):
(WebCore::ReplaceSelectionCommand::removeUnrenderedTextNodesAtEnds):
(WebCore::ReplaceSelectionCommand::positionAtEndOfInsertedContent const):
(WebCore::handleStyleSpansBeforeInsertion):
(WebCore::ReplaceSelectionCommand::handleStyleSpans):
(WebCore::enclosingInline):
(WebCore::ReplaceSelectionCommand::doApply):
(WebCore::ReplaceSelectionCommand::shouldPerformSmartReplace const):
(WebCore::ReplaceSelectionCommand::addSpacesForSmartReplace):
(WebCore::singleChildList):
(WebCore::deepestSingleChildList):
(WebCore::ReplaceSelectionCommand::insertAsListItems):

  • editing/TextIterator.cpp:

(WebCore::TextIterator::handleReplacedElement):

  • editing/TextManipulationController.cpp:

(WebCore::TextManipulationController::startObservingParagraphs):
(WebCore::tokenInfo):
(WebCore::isEnclosingItemBoundaryElement):
(WebCore::TextManipulationController::observeParagraphs):
(WebCore::TextManipulationController::scheduleObservationUpdate):
(WebCore::TextManipulationController::replace):

  • editing/VisibleSelection.cpp:

(WebCore::VisibleSelection::document const):

  • editing/cocoa/DataDetection.mm:

(WebCore::DataDetection::createElementForImageOverlay):

  • editing/cocoa/WebContentReaderCocoa.mm:

(WebCore::replaceRichContentWithAttachments):
(WebCore::WebContentReader::readDataBuffer):

  • editing/markup.cpp:

(WebCore::serializePreservingVisualAppearanceInternal):
(WebCore::sanitizedMarkupForFragmentInDocument):

  • page/VisualViewport.cpp:

(WebCore::VisualViewport::update):

  • platform/audio/cocoa/AudioSampleDataSource.mm:

(WebCore::AudioSampleDataSource::setupConverter):
(WebCore::AudioSampleDataSource::pushSamplesInternal):
(WebCore::AudioSampleDataSource::pullSamplesInternal):

  • platform/graphics/cocoa/WebCoreDecompressionSession.mm:

(WebCore::WebCoreDecompressionSession::enqueueSample):

Source/WTF:

  • wtf/CrossThreadTask.h:

(WTF::createCrossThreadTask):

Tools:

  • WebKitTestRunner/ios/UIScriptControllerIOS.mm:

(WTR::UIScriptControllerIOS::singleTapAtPointWithModifiers):
(WTR::UIScriptControllerIOS::sendEventStream):
(WTR::UIScriptControllerIOS::dragFromPointToPoint):

  • WebKitTestRunner/mac/UIScriptControllerMac.mm:

(WTR::UIScriptControllerMac::activateDataListSuggestion):

2:36 PM Changeset in webkit [282783] by commit-queue@webkit.org
  • 7 edits in trunk

WebKit might load custom URI scheme request content multiple times
https://bugs.webkit.org/show_bug.cgi?id=229116

Source/WebKit:

Patch by Alex Christensen <achristensen@webkit.org> on 2021-09-20
Reviewed by Brady Eidson.

Use a ResourceLoaderIdentifier and a WebPageProxyIdentifier as keys in WebURLSchemeHandler.
This also makes it so that we don't need a new one per page on Cocoa platforms.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _initializeWithConfiguration:]):

  • UIProcess/WebURLSchemeHandler.cpp:

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

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

(WebKit::WebURLSchemeTask::didComplete):

Tools:

Patch by Michael Catanzaro <Michael Catanzaro> on 2021-09-20
Reviewed by Brady Eidson.

Let's load the same URL 50 times and make sure all loads complete with the same content.
Without the fix, the test hangs forever spinning its main loop, because only a few of the
requests actually complete, so the test gets stuck waiting.

Note I picked 50 because when running the test 100 times, wpebackend-fdo dies to an
unrelated problem: its internal Wayland registry stops registering new global objects, and
each new web process starts crashing. That's weird, but not the problem we're trying to
solve today.

  • TestWebKitAPI/Tests/WebKitGLib/TestWebKitWebContext.cpp:

(createTestWebViewWithWebContext):
(testWebContextURIScheme):

2:16 PM Changeset in webkit [282782] by Alan Bujtas
  • 2 edits in trunk/Source/WebCore

[IFC][Integration] canUseForText should take surrogate pairs into account when checking for directional characters
https://bugs.webkit.org/show_bug.cgi?id=230498

Reviewed by Antti Koivisto.

In this patch we start using U16_NEXT to properly loop through the characters to find their directions (RTL vs LTR).
(Note that this is temporary and will be removed when bidi handling is enabled for IFC)

  • layout/integration/LayoutIntegrationCoverage.cpp:

(WebCore::LayoutIntegration::canUseForText):
(WebCore::LayoutIntegration::canUseForCharacter): Deleted. These functions have shrunk so much, we don't need to template them anymore.

2:12 PM Changeset in webkit [282781] by Eric Hutchison
  • 2 edits in trunk/LayoutTests

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

Unreviewed test gardening.

  • platform/win/TestExpectations:
2:05 PM Changeset in webkit [282780] by Eric Hutchison
  • 2 edits in trunk/LayoutTests

[iOS14] fast/events/ios/dom-update-on-keydown-quirk.html is a flaky failure.
https://bugs.webkit.org/show_bug.cgi?id=230509.

Unreviewed test gardening.

  • platform/ios-14-wk2/TestExpectations:
1:58 PM Changeset in webkit [282779] by Alan Bujtas
  • 2 edits in trunk/Source/WebCore

[LFC][IFC] Incorrect surrogate handling when dealing with short lines
https://bugs.webkit.org/show_bug.cgi?id=230487

Reviewed by Antti Koivisto.

Do not use 1 as the content length when dealing with text where even the first glyph does not fit the line.
(This functionality is mostly disabled by the missing font fallback feature. see webkit.org/b/228685 and imported/w3c/web-platform-tests/css/css-text/word-break/word-break-break-all-014.html)

  • layout/formattingContexts/inline/InlineContentBreaker.cpp:

(WebCore::Layout::InlineContentBreaker::processOverflowingContent const): this matches InlineIterator::incrementByCodePointInTextNode

1:56 PM Changeset in webkit [282778] by youenn@apple.com
  • 5 edits in trunk

Make sure RTCRtpSender.setParameters returns an exception with a valid type
https://bugs.webkit.org/show_bug.cgi?id=230476

Reviewed by Alex Christensen.

LayoutTests/imported/w3c:

  • web-platform-tests/webrtc/RTCRtpParameters-encodings-expected.txt:
  • web-platform-tests/webrtc/RTCRtpParameters-transactionId-expected.txt:

Source/WebCore:

Covered by rebased test.

  • Modules/mediastream/libwebrtc/LibWebRTCRtpSenderBackend.cpp:

(WebCore::LibWebRTCRtpSenderBackend::setParameters):
Make sure to convert correctly the error.

1:50 PM September 2021 Meeting created by Jon Davis
1:44 PM Changeset in webkit [282777] by Simon Fraser
  • 4 edits in trunk/Source/WebCore

ScrollSnapAnimatorState should be explicit about when it starts animations
https://bugs.webkit.org/show_bug.cgi?id=230497

Reviewed by Wenson Hsieh.

ScrollSnapAnimatorState::transitionTo* functions may not actually trigger an animation
if the target offset ends up as the initial offset. This currently happens to work
because ScrollingMomentumCalculator reports a duration of zero in this case, but
it's better to just make it clear that no animation was started.

Exercised by tiled-drawing/scrolling/scroll-snap/scroll-snap-mandatory-mainframe-slow-vertical.html

  • platform/ScrollSnapAnimatorState.cpp:

(WebCore::ScrollSnapAnimatorState::transitionToSnapAnimationState):
(WebCore::ScrollSnapAnimatorState::transitionToGlideAnimationState):
(WebCore::ScrollSnapAnimatorState::setupAnimationForState):

  • platform/ScrollSnapAnimatorState.h:
  • platform/mac/ScrollingEffectsController.mm:

(WebCore::ScrollingEffectsController::processWheelEventForScrollSnap):

1:41 PM Changeset in webkit [282776] by Eric Hutchison
  • 2 edits in trunk/LayoutTests

[ Catalina, BigSur wk2 Release ] css3/masking/reference-clip-path-animate-transform-repaint.html is a flaky failure.
https://bugs.webkit.org/show_bug.cgi?id=230504.

Unreviewed test gardening.

  • platform/mac-wk2/TestExpectations:
1:39 PM Changeset in webkit [282775] by Darin Adler
  • 3 edits in trunk/Source/WebCore

Clean up overrides of DisplayCaptureSourceMac::Capturer::generateFrame()
<https://webkit.org/b/230491>
<rdar://problem/83315212>

Reviewed by David Kilzer.

  • platform/mediastream/mac/CGDisplayStreamCaptureSource.cpp:

(WebCore::CGDisplayStreamCaptureSource::generateFrame):

  • platform/mediastream/mac/CGWindowCaptureSource.mm:

(WebCore::CGWindowCaptureSource::generateFrame):

  • Simplify return value expression.
1:37 PM Changeset in webkit [282774] by Peng Liu
  • 2 edits in trunk/Source/WebCore

[GPUP] Videos appear black but audio plays normally
https://bugs.webkit.org/show_bug.cgi?id=230471
<rdar://82121369>

Reviewed by Youenn Fablet.

For some videos, the media player (MediaPlayerPrivateAVFoundation) starts
with the "MediaRenderingToContext" mode, and it switches to the "MediaRenderingToLayer"
mode later. When the mode switch happens, we have to destroy the context
video renderer before creating the video layer. Otherwise, we won't receive
the notification regarding "readyForDisplay" key path, which drives the
firstVideoFrameAvailable callback.

destroyContextVideoRenderer() destroys the m_videoOutput, but it will
be recreated by createVideoLayer().

Manually tested.

  • platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:

(WebCore::MediaPlayerPrivateAVFoundation::setUpVideoRendering):

1:18 PM Changeset in webkit [282773] by commit-queue@webkit.org
  • 4 edits
    3 adds in trunk/LayoutTests

[GLIB] Update test baselines and expectation. Unreviewed test gardening.
https://bugs.webkit.org/show_bug.cgi?id=230501

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

  • platform/glib/TestExpectations:
  • platform/glib/imported/w3c/web-platform-tests/css/css-typed-om/stylevalue-subclasses/cssTransformComponent-toMatrix-expected.txt: Added.
  • platform/gtk/imported/w3c/web-platform-tests/css/css-typed-om/rotate-by-added-angle-expected.txt:
  • platform/wpe/imported/w3c/web-platform-tests/css/css-typed-om/rotate-by-added-angle-expected.txt:
1:17 PM Changeset in webkit [282772] by Eric Hutchison
  • 2 edits in trunk/LayoutTests

[ Win EWS] js/dfg-int16array.html is a flaky crash under WebCore::LayoutIntegration::LineLayout::constructContent.
https://bugs.webkit.org/show_bug.cgi?id=229594.

Unreviewed test gardening.

  • platform/win/TestExpectations:
1:05 PM Changeset in webkit [282771] by Eric Hutchison
  • 2 edits in trunk/LayoutTests

[Mac wk2 Debug arm64] storage/indexeddb/request-with-null-open-db-request.html is a flaky crash.
https://bugs.webkit.org/show_bug.cgi?id=230502.

Unreviewed test gardening .

  • platform/mac-wk2/TestExpectations:
12:52 PM Changeset in webkit [282770] by Jonathan Bedard
  • 7 edits
    1 copy
    2 adds
    2 deletes in trunk/Tools

[webkitcorepy] Move FileLock from webkitpy
https://bugs.webkit.org/show_bug.cgi?id=230320
<rdar://problem/83168826>

Reviewed by Dewei Zhu.

Move FileLock from webkitpy into webkitcorepy, implement FileLock as a more
modern Python API.

  • Scripts/libraries/webkitcorepy/setup.py: Bump version.
  • Scripts/libraries/webkitcorepy/webkitcorepy/init.py: Ditto.
  • Scripts/libraries/webkitcorepy/webkitcorepy/file_lock.py: Added.

(FileLock):
(FileLock.init):
(FileLock.acquired): Check if the current process has acquired the lock.
(FileLock.acquire): Attempt to acquire lockfile.
(FileLock.release): Release lockfile, if this process owns the lock.
(FileLock.enter): Invoke acquire.
(FileLock.exit): Invoke release.

  • Scripts/libraries/webkitcorepy/webkitcorepy/mocks/init.py:
  • Scripts/libraries/webkitcorepy/webkitcorepy/mocks/file_lock.py: Copied from Tools/Scripts/libraries/webkitcorepy/webkitcorepy/mocks/init.py.

(FileLock): Single-thread stub implementation of FileLock for testing without a filesystem.

  • Scripts/libraries/webkitcorepy/webkitcorepy/tests/file_lock_unittest.py: Added.

(FileLockTestCase):
(FileLockTestCase.init):
(FileLockTestCase.setUp):
(FileLockTestCase.tearDown):
(FileLockTestCase.test_basic):
(FileLockTestCase.test_locked):
(FileLockTestCase.test_locked_timeout):
(FileLockTestCase.test_double):

  • Scripts/webkitpy/common/system/file_lock.py: Removed.
  • Scripts/webkitpy/common/system/file_lock_integrationtest.py: Removed.
  • Scripts/webkitpy/common/system/systemhost.py:

(SystemHost.make_file_lock): Use webkitcorepy's FileLock.

  • Scripts/webkitpy/common/system/systemhost_mock.py:

(MockSystemHost.make_file_lock): Use webkitcorepy's mocks.FileLock.

  • Scripts/webkitpy/tool/commands/rebaseline.py:

(RebaselineTest._update_expectations_file): Use webkitcorepy's FileLock.

12:32 PM Changeset in webkit [282769] by Wenson Hsieh
  • 6 edits in trunk/Source

Refactor some code that controls Live Text selection behavior
https://bugs.webkit.org/show_bug.cgi?id=230482
rdar://83173597

Reviewed by Megan Gardner.

Source/WebCore:

Make a few adjustments to Live Text code. See below for more details.

  • html/HTMLElement.cpp:

(WebCore::HTMLElement::shouldExtendSelectionToTargetNode):

Adjust this rule so that instead of checking whether we're hit-testing to the image overlay container div, we
only allow the existing selection in an image overlay to extend when performing a mouse drag if the target node
(to which we're extending the selection) is a text node inside the image overlay.

This tweak is needed to deal with the stylesheet adjustment below, where the root #image-overlay container now
has pointer-events: none;.

  • html/shadow/imageOverlay.css:

(div#image-overlay):
(div.image-overlay-line):
(div.image-overlay-data-detector-result):

Mark the root #image-overlay container as pointer-events: none;, but mark the individual text containers in
the image overlay as pointer-events: auto; to ensure that they can still be selected via mouse events. This
change ensures that image overlays can be safely overlaid on top of other user agent shadow root content without
breaking pointer-based interactions on the shadow root content beneath it.

  • page/EventHandler.cpp:

(WebCore::EventHandler::textRecognitionCandidateElement const):

Add a WebKitAdditions extension point for determining whether or not an element is a candidate for text
recognition.

Source/WTF:

Add an (off-by-default) internal feature to enable certain enhancements to Live Text.

  • Scripts/Preferences/WebPreferencesInternal.yaml:
12:23 PM Changeset in webkit [282768] by graouts@webkit.org
  • 22 edits
    2 adds in trunk

box-shadow and text-shadow do not yield float values while interpolating
https://bugs.webkit.org/show_bug.cgi?id=230347

Reviewed by Simon Fraser.

LayoutTests/imported/w3c:

Add some new WPT tests for float and calc() values for box-shadow and text-shadow while
interpolating and update output for still-failing composite operations tests. The new tests
have already landed in WPT with https://github.com/web-platform-tests/wpt/pull/30823.

  • web-platform-tests/css/css-backgrounds/animations/box-shadow-composition-expected.txt:
  • web-platform-tests/css/css-backgrounds/animations/box-shadow-interpolation-expected.txt:
  • web-platform-tests/css/css-backgrounds/animations/box-shadow-interpolation.html:
  • web-platform-tests/css/css-backgrounds/box-shadow-calc-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/box-shadow-calc.html: Added.
  • web-platform-tests/css/css-transitions/animations/text-shadow-composition-expected.txt:
  • web-platform-tests/css/css-transitions/animations/text-shadow-interpolation-expected.txt:
  • web-platform-tests/css/css-transitions/animations/text-shadow-interpolation.html:

Source/WebCore:

ShadowData members used integer values rather than floats and thus could not represent
float values while interpolating. We now use float values.

Test: imported/w3c/web-platform-tests/css/css-backgrounds/box-shadow-calc.html

  • animation/CSSPropertyAnimation.cpp:

(WebCore::blendFunc):
(WebCore::shadowForBlending):

  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::ComputedStyleExtractor::valueForFilter):

  • display/css/DisplayBoxDecorationPainter.cpp:

(WebCore::Display::BoxDecorationPainter::paintBoxShadow const):

  • editing/Editor.cpp:

(WebCore::Editor::fontAttributesAtSelectionStart):

  • platform/LengthPoint.h:

(WebCore::LengthPoint::isZero const):

  • rendering/LegacyEllipsisBox.cpp:

(WebCore::LegacyEllipsisBox::paint):

  • rendering/RenderBoxModelObject.cpp:

(WebCore::applyBoxShadowForBackground):
(WebCore::RenderBoxModelObject::boxShadowShouldBeAppliedToBackground const):
(WebCore::RenderBoxModelObject::paintBoxShadow):

  • rendering/TextBoxPainter.cpp:

(WebCore::TextBoxPainter::debugTextShadow const):

  • rendering/TextDecorationPainter.cpp:

(WebCore::TextDecorationPainter::paintTextDecoration):

  • rendering/TextPainter.cpp:

(WebCore::ShadowApplier::shadowIsCompletelyCoveredByText):

  • rendering/style/RenderStyle.cpp:

(WebCore::RenderStyle::setTextShadow):
(WebCore::RenderStyle::shadowExtent):
(WebCore::RenderStyle::shadowInsetExtent):
(WebCore::RenderStyle::getShadowHorizontalExtent):
(WebCore::RenderStyle::getShadowVerticalExtent):

  • rendering/style/ShadowData.cpp:

(WebCore::ShadowData::ShadowData):
(WebCore::calculateShadowExtent):

  • rendering/style/ShadowData.h:

(WebCore::ShadowData::ShadowData):
(WebCore::ShadowData::x const):
(WebCore::ShadowData::y const):
(WebCore::ShadowData::location const):
(WebCore::ShadowData::radius const):
(WebCore::ShadowData::paintingExtent const):
(WebCore::ShadowData::spread const):

  • style/StyleBuilderCustom.h:

(WebCore::Style::BuilderCustom::applyTextOrBoxShadowValue):

12:08 PM Changeset in webkit [282767] by Brent Fulgham
  • 4 edits in trunk

Remove XSS Auditor: Part 1 (Turn off by default)
https://bugs.webkit.org/show_bug.cgi?id=230483
<rdar://problem/83310922>

Reviewed by Yusuke Suzuki.

Source/WTF:

As an initial step in removing the XSS Auditor, turn it off by default.

  • Scripts/Preferences/WebPreferences.yaml:

Tools:

  • TestWebKitAPI/Tests/WebKit/WKPreferences.cpp:

(TestWebKitAPI::TEST): Switch expectation for XSS Auditor.

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

Skip stress/json-stringify-stack-overflow.js only on memory limited systems
https://bugs.webkit.org/show_bug.cgi?id=230489

Unreviewed gardening.

It's currently only failing on systems with low memory, regardless of
the arch.

Patch by Mikhail R. Gadelha <Mikhail R. Gadelha> on 2021-09-20

  • stress/json-stringify-stack-overflow.js:
11:42 AM Changeset in webkit [282765] by Wenson Hsieh
  • 3 edits in trunk/Source/WebCore

[Live Text] Adopt WeakHashMap for caching per-element text recognition results
https://bugs.webkit.org/show_bug.cgi?id=230461

Reviewed by Megan Gardner.

Simplify this logic by replacing the WeakHashSet and WeakPtr/TextRecognitionResult pair with just a WeakHashMap.
No change in behavior.

  • page/Page.cpp:

(WebCore::Page::updateElementsWithTextRecognitionResults):
(WebCore::Page::hasCachedTextRecognitionResult const):
(WebCore::Page::cacheTextRecognitionResult):
(WebCore::Page::resetTextRecognitionResults):

  • page/Page.h:
11:20 AM Changeset in webkit [282764] by Antti Koivisto
  • 16 edits
    2 adds in trunk

[LFC][Integration] Enable selections
https://bugs.webkit.org/show_bug.cgi?id=230463

Reviewed by Alan Bujtas.

Source/WebCore:

Don't switch to legacy inline boxes on selection.

Test: fast/repaint/selection-paint-invalidation.html

  • layout/integration/LayoutIntegrationCoverage.cpp:

(WebCore::LayoutIntegration::printReason):
(WebCore::LayoutIntegration::canUseForChild):

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

(WebCore::LayoutIntegration::PathTextRun::selectionRect const):

Move this to path independent code and fix it to compute selectionTop/Bottom correctly.

(WebCore::LayoutIntegration::PathTextRun::isCombinedText const):
(WebCore::LayoutIntegration::PathTextRun::fontCascade const):

Add some helpful functions.

  • layout/integration/LayoutIntegrationRunIterator.h:

(WebCore::LayoutIntegration::PathTextRun::selectionRect const): Deleted.

  • layout/integration/LayoutIntegrationRunIteratorLegacyPath.h:

(WebCore::LayoutIntegration::RunIteratorLegacyPath::selectableRange const):
(WebCore::LayoutIntegration::RunIteratorLegacyPath::selectionRect const): Deleted.

  • layout/integration/LayoutIntegrationRunIteratorModernPath.h:

(WebCore::LayoutIntegration::RunIteratorModernPath::selectionRect const): Deleted.

  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::setSelectionState): Deleted.

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

(WebCore::RenderObject::setSelectionState):

  • layout/integration/LayoutIntegrationCoverage.cpp:

(WebCore::LayoutIntegration::printReason):
(WebCore::LayoutIntegration::canUseForChild):

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

(WebCore::LayoutIntegration::PathTextRun::selectionRect const):
(WebCore::LayoutIntegration::PathTextRun::fontCascade const):

  • layout/integration/LayoutIntegrationRunIterator.h:

(WebCore::LayoutIntegration::PathTextRun::selectionRect const): Deleted.

  • layout/integration/LayoutIntegrationRunIteratorLegacyPath.h:

(WebCore::LayoutIntegration::RunIteratorLegacyPath::selectableRange const):
(WebCore::LayoutIntegration::RunIteratorLegacyPath::selectionRect const): Deleted.

  • layout/integration/LayoutIntegrationRunIteratorModernPath.h:

(WebCore::LayoutIntegration::RunIteratorModernPath::selectionRect const): Deleted.

  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::setSelectionState): Deleted.

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

(WebCore::RenderObject::setSelectionState):

  • rendering/TextBoxPainter.cpp:

(WebCore::TextBoxPainter::paint):
(WebCore::TextBoxPainter::paintForeground):
(WebCore::TextBoxPainter::paintDecoration):
(WebCore::TextBoxPainter::calculateDocumentMarkerBounds):
(WebCore::TextBoxPainter::fontCascade const):

Use iterator functions.

(WebCore::TextBoxPainter::textOriginFromPaintRect const):
(WebCore::fontCascadeFor): Deleted.
(WebCore::TextBoxPainter::combinedText const): Deleted.

  • rendering/TextBoxPainter.h:

Tools:

  • TestWebKitAPI/Tests/ios/AccessibilityTestsIOS.mm:

(TestWebKitAPI::TEST):

LayoutTests:

  • fast/repaint/selection-paint-invalidation-expected.txt: Added.
  • fast/repaint/selection-paint-invalidation.html: Added.
  • platform/mac/fast/text/whitespace/pre-wrap-overflow-selection-expected.txt:
11:07 AM Changeset in webkit [282763] by Russell Epstein
  • 1 copy in tags/Safari-613.1.2.2

Tag Safari-613.1.2.2.

11:06 AM Changeset in webkit [282762] by Eric Hutchison
  • 3 edits in trunk/LayoutTests

Update test expectations for http/tests/misc/iframe-reparenting-id-collision.html.
https://bugs.webkit.org/show_bug.cgi?id=230427.

Unreviewed test gardening.

  • platform/mac-wk1/TestExpectations:
  • platform/win/TestExpectations:
10:57 AM Changeset in webkit [282761] by Chris Dumez
  • 2 edits in trunk/Source/WebCore

Unreviewed iOS debug build fix after r282755.

  • platform/ios/VideoFullscreenInterfaceAVKit.mm:

(VideoFullscreenInterfaceAVKit::prepareForPictureInPictureStopWithCompletionHandler):

10:57 AM Changeset in webkit [282760] by Russell Epstein
  • 8 edits in branches/safari-613.1.2-branch/Source

Versioning.

WebKit-7613.1.2.2

10:46 AM Changeset in webkit [282759] by Ayumi Kojima
  • 2 edits in trunk/LayoutTests

[ BigSur wk2 arm64 ] imported/w3c/web-platform-tests/infrastructure/reftest-wait.html is a flaky image failure.
https://bugs.webkit.org/show_bug.cgi?id=230488

Unreviewed test gardening.

  • platform/mac-wk2/TestExpectations:
10:41 AM Changeset in webkit [282758] by achristensen@apple.com
  • 40 edits
    4 adds
    1 delete in trunk

Add support for CSSUnparsedValue parsing through CSSStyleValue.parse()
https://bugs.webkit.org/show_bug.cgi?id=229702

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

LayoutTests/imported/w3c:

  • web-platform-tests/css/css-typed-om/idlharness-expected.txt:
  • web-platform-tests/css/css-typed-om/resources/testhelper.js:

(remove_leading_spaces):

  • web-platform-tests/css/css-typed-om/stylevalue-normalization/normalize-ident.tentative-expected.txt:
  • web-platform-tests/css/css-typed-om/stylevalue-normalization/normalize-image-expected.txt:
  • web-platform-tests/css/css-typed-om/stylevalue-normalization/normalize-numeric.tentative-expected.txt:
  • web-platform-tests/css/css-typed-om/stylevalue-normalization/normalize-tokens.tentative-expected.txt:
  • web-platform-tests/css/css-typed-om/stylevalue-normalization/normalize-tokens.tentative.html:
  • web-platform-tests/css/css-typed-om/stylevalue-objects/parse-expected.txt:
  • web-platform-tests/css/css-typed-om/stylevalue-objects/parse-invalid-expected.txt:
  • web-platform-tests/css/css-typed-om/stylevalue-objects/parseAll-expected.txt:
  • web-platform-tests/css/css-typed-om/stylevalue-objects/parseAll-invalid-expected.txt:
  • web-platform-tests/css/css-typed-om/stylevalue-serialization/cssKeywordValue.tentative-expected.txt:
  • web-platform-tests/css/css-typed-om/stylevalue-serialization/cssPositionValue-expected.txt:
  • web-platform-tests/css/css-typed-om/stylevalue-serialization/cssStyleValue-cssom-expected.txt:
  • web-platform-tests/css/css-typed-om/stylevalue-serialization/cssStyleValue-string-expected.txt:
  • web-platform-tests/css/css-typed-om/stylevalue-serialization/cssUnitValue.tentative-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/inline/get-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/inline/get-shorthand-expected.txt:
  • web-platform-tests/css/css-typed-om/the-stylepropertymap/inline/get.html:

Source/WebCore:

Test: css-typedom/css-style-value-parse.html

  • Sources.txt:
  • WebCore.xcodeproj/project.pbxproj:
  • css/CSSValue.h:

(WebCore::CSSValue::operator== const):

  • css/CSSVariableData.h:

(WebCore::CSSVariableData::tokenRange const):
(WebCore::CSSVariableData::tokenRange): Deleted.

  • css/CSSVariableReferenceValue.cpp:

(WebCore::CSSVariableReferenceValue::create):

  • css/CSSVariableReferenceValue.h:

(WebCore::CSSVariableReferenceValue::data const):

  • css/typedom/CSSNumericFactory.idl: Removed.
  • css/typedom/CSSOMVariableReferenceValue.cpp:

(WebCore::CSSOMVariableReferenceValue::toString const):
(WebCore::CSSOMVariableReferenceValue::serialize const):

  • css/typedom/CSSOMVariableReferenceValue.h:
  • css/typedom/CSSStyleImageValue.cpp:

(WebCore::CSSStyleImageValue::CSSStyleImageValue):

  • css/typedom/CSSStyleImageValue.h:
  • css/typedom/CSSStyleValue.cpp:

(WebCore::CSSStyleValue::parse):
(WebCore::CSSStyleValue::parseAll):
(WebCore::CSSStyleValue::parseStyleValue): Deleted.
(WebCore::CSSStyleValue::reifyValue): Deleted.

  • css/typedom/CSSStyleValue.h:
  • css/typedom/CSSStyleValueFactory.cpp: Added.

(WebCore::CSSStyleValueFactory::extractCSSValues):
(WebCore::CSSStyleValueFactory::extractShorthandCSSValues):
(WebCore::CSSStyleValueFactory::extractCustomCSSValues):
(WebCore::CSSStyleValueFactory::parseStyleValue):
(WebCore::CSSStyleValueFactory::reifyValue):

  • css/typedom/CSSStyleValueFactory.h: Copied from Source/WebCore/css/typedom/CSSOMVariableReferenceValue.h.
  • css/typedom/CSSUnparsedValue.cpp:

(WebCore::CSSUnparsedValue::create):
(WebCore::CSSUnparsedValue::serialize const):

  • css/typedom/CSSUnparsedValue.h:
  • css/typedom/StylePropertyMapReadOnly.cpp:

(WebCore::StylePropertyMapReadOnly::reifyValue):
(WebCore::StylePropertyMapReadOnly::customPropertyValueOrDefault):

  • dom/Document.cpp:

(WebCore::Document::registerCSSProperty):

  • dom/StyledElement.cpp:

LayoutTests:

  • css-typedom/css-style-value-parse-expected.txt: Added.
  • css-typedom/css-style-value-parse.html: Added.
10:30 AM Changeset in webkit [282757] by Ayumi Kojima
  • 3 edits in trunk/LayoutTests

[ iOS macOS wk2] imported/w3c/web-platform-tests/webrtc/RTCSctpTransport-events.html is a flaky failure.
https://bugs.webkit.org/show_bug.cgi?id=230485

Unreviewed test gardening.

  • platform/ios-wk2/TestExpectations:
  • platform/mac-wk2/TestExpectations:
10:29 AM Changeset in webkit [282756] by commit-queue@webkit.org
  • 17 edits
    1 copy in trunk/Source/WebKit

Use ObjectIdentifier for WebURLSchemeHandler
https://bugs.webkit.org/show_bug.cgi?id=230462

Patch by Michael Catanzaro <Michael Catanzaro> on 2021-09-20
Reviewed by Alex Christensen.

  • Scripts/webkit/messages.py:

(types_that_cannot_be_forward_declared):

  • Shared/URLSchemeTaskParameters.cpp:

(WebKit::URLSchemeTaskParameters::decode):

  • Shared/URLSchemeTaskParameters.h:

(): Deleted.

  • Shared/WebPageCreationParameters.h:
  • Shared/WebURLSchemeHandlerIdentifier.h: Copied from Source/WebKit/Shared/URLSchemeTaskParameters.h.
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::stopURLSchemeTask):

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

(WebKit::WebURLSchemeHandler::WebURLSchemeHandler):
(WebKit::generateWebURLSchemeHandlerIdentifier): Deleted.

  • UIProcess/WebURLSchemeHandler.h:

(WebKit::WebURLSchemeHandler::identifier const):

  • WebKit.xcodeproj/project.pbxproj:
  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::registerURLSchemeHandler):
(WebKit::WebPage::urlSchemeTaskWillPerformRedirection):
(WebKit::WebPage::urlSchemeTaskDidPerformRedirection):
(WebKit::WebPage::urlSchemeTaskDidReceiveResponse):
(WebKit::WebPage::urlSchemeTaskDidReceiveData):
(WebKit::WebPage::urlSchemeTaskDidComplete):

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

(WebKit::WebURLSchemeHandlerProxy::WebURLSchemeHandlerProxy):

  • WebProcess/WebPage/WebURLSchemeHandlerProxy.h:

(WebKit::WebURLSchemeHandlerProxy::create):
(WebKit::WebURLSchemeHandlerProxy::identifier const):
(): Deleted.

  • WebProcess/WebPage/WebURLSchemeTaskProxy.cpp:
10:17 AM Changeset in webkit [282755] by Chris Dumez
  • 251 edits in trunk

Stop using makeRef(*this) / makeRefPtr(this)
https://bugs.webkit.org/show_bug.cgi?id=230464

Reviewed by Alex Christensen.

Source/JavaScriptCore:

  • inspector/InjectedScriptHost.cpp:

(Inspector::InjectedScriptHost::wrapper):

  • inspector/remote/RemoteConnectionToTarget.cpp:

(Inspector::RemoteConnectionToTarget::close):

  • inspector/remote/cocoa/RemoteConnectionToTargetCocoa.mm:

(Inspector::RemoteConnectionToTarget::setup):
(Inspector::RemoteConnectionToTarget::close):
(Inspector::RemoteConnectionToTarget::sendMessageToTarget):

  • wasm/WasmCodeBlock.cpp:

(JSC::Wasm::CodeBlock::compileAsync):

  • wasm/WasmNameSection.h:

(JSC::Wasm::NameSection::get):

  • wasm/WasmStreamingCompiler.cpp:

(JSC::Wasm::StreamingCompiler::didReceiveFunctionData):

Source/WebCore:

  • Modules/async-clipboard/Clipboard.cpp:

(WebCore::Clipboard::ItemWriter::write):

  • Modules/cache/DOMCache.cpp:

(WebCore::DOMCache::match):
(WebCore::DOMCache::addAll):
(WebCore::DOMCache::putWithResponseData):
(WebCore::DOMCache::put):
(WebCore::DOMCache::remove):

  • Modules/encryptedmedia/MediaKeys.cpp:

(WebCore::MediaKeys::setServerCertificate):

  • Modules/entriesapi/DOMFileSystem.cpp:

(WebCore::DOMFileSystem::listDirectory):
(WebCore::DOMFileSystem::getParent):
(WebCore::DOMFileSystem::getEntry):

  • Modules/entriesapi/ErrorCallback.cpp:

(WebCore::ErrorCallback::scheduleCallback):

  • Modules/entriesapi/FileSystemEntriesCallback.cpp:

(WebCore::FileSystemEntriesCallback::scheduleCallback):

  • Modules/indexeddb/IDBDatabase.cpp:

(WebCore::IDBDatabase::dispatchEvent):

  • Modules/indexeddb/IDBOpenDBRequest.cpp:

(WebCore::IDBOpenDBRequest::dispatchEvent):

  • Modules/indexeddb/IDBRequest.cpp:

(WebCore::IDBRequest::dispatchEvent):

  • Modules/indexeddb/IDBTransaction.cpp:

(WebCore::IDBTransaction::IDBTransaction):
(WebCore::IDBTransaction::abortInternal):
(WebCore::IDBTransaction::dispatchEvent):
(WebCore::IDBTransaction::createObjectStore):
(WebCore::IDBTransaction::renameObjectStore):
(WebCore::IDBTransaction::createIndex):
(WebCore::IDBTransaction::renameIndex):
(WebCore::IDBTransaction::doRequestOpenCursor):
(WebCore::IDBTransaction::iterateCursor):
(WebCore::IDBTransaction::requestGetAllObjectStoreRecords):
(WebCore::IDBTransaction::requestGetAllIndexRecords):
(WebCore::IDBTransaction::requestGetRecord):
(WebCore::IDBTransaction::requestIndexRecord):
(WebCore::IDBTransaction::requestCount):
(WebCore::IDBTransaction::requestDeleteRecord):
(WebCore::IDBTransaction::requestClearObjectStore):
(WebCore::IDBTransaction::requestPutOrAdd):
(WebCore::IDBTransaction::putOrAddOnServer):
(WebCore::IDBTransaction::deleteObjectStore):
(WebCore::IDBTransaction::deleteIndex):

  • Modules/indexeddb/client/IDBConnectionToServer.cpp:

(WebCore::IDBClient::IDBConnectionToServer::callResultFunctionWithErrorLater):
(WebCore::IDBClient::IDBConnectionToServer::commitTransaction):
(WebCore::IDBClient::IDBConnectionToServer::abortTransaction):
(WebCore::IDBClient::IDBConnectionToServer::getAllDatabaseNamesAndVersions):

  • Modules/indexeddb/client/TransactionOperation.h:
  • Modules/mediasession/MediaSession.cpp:

(WebCore::MediaSession::forEachObserver):

  • Modules/mediasource/SourceBuffer.cpp:

(WebCore::SourceBuffer::removeTimerFired):

  • Modules/mediastream/MediaStreamTrack.cpp:

(WebCore::MediaStreamTrack::applyConstraints):

  • Modules/mediastream/RTCDTMFSender.cpp:

(WebCore::RTCDTMFSender::insertDTMF):

  • Modules/mediastream/RTCPeerConnection.cpp:

(WebCore::RTCPeerConnection::createOffer):
(WebCore::RTCPeerConnection::createAnswer):
(WebCore::RTCPeerConnection::setLocalDescription):
(WebCore::RTCPeerConnection::setRemoteDescription):
(WebCore::RTCPeerConnection::addIceCandidate):

  • Modules/mediastream/RTCRtpScriptTransform.cpp:

(WebCore::RTCRtpScriptTransform::setTransformer):

  • Modules/mediastream/RTCRtpScriptTransformer.cpp:

(WebCore::RTCRtpScriptTransformer::writable):

  • Modules/mediastream/RTCRtpSender.cpp:

(WebCore::RTCRtpSender::replaceTrack):

  • Modules/mediastream/libwebrtc/LibWebRTCMediaEndpoint.cpp:

(WebCore::LibWebRTCMediaEndpoint::createStatsCollector):
(WebCore::LibWebRTCMediaEndpoint::OnTrack):
(WebCore::LibWebRTCMediaEndpoint::OnRemoveTrack):
(WebCore::LibWebRTCMediaEndpoint::OnDataChannel):
(WebCore::LibWebRTCMediaEndpoint::OnNegotiationNeededEvent):
(WebCore::LibWebRTCMediaEndpoint::OnStandardizedIceConnectionChange):
(WebCore::LibWebRTCMediaEndpoint::OnIceGatheringChange):
(WebCore::LibWebRTCMediaEndpoint::OnIceCandidate):
(WebCore::LibWebRTCMediaEndpoint::createSessionDescriptionSucceeded):
(WebCore::LibWebRTCMediaEndpoint::createSessionDescriptionFailed):
(WebCore::LibWebRTCMediaEndpoint::setLocalSessionDescriptionSucceeded):
(WebCore::LibWebRTCMediaEndpoint::setLocalSessionDescriptionFailed):
(WebCore::LibWebRTCMediaEndpoint::setRemoteSessionDescriptionSucceeded):
(WebCore::LibWebRTCMediaEndpoint::setRemoteSessionDescriptionFailed):
(WebCore::LibWebRTCMediaEndpoint::OnStatsDelivered):

  • Modules/paymentrequest/PaymentRequest.cpp:

(WebCore::PaymentRequest::shippingAddressChanged):
(WebCore::PaymentRequest::shippingOptionChanged):
(WebCore::PaymentRequest::paymentMethodChanged):
(WebCore::PaymentRequest::updateWith):
(WebCore::PaymentRequest::completeMerchantValidation):
(WebCore::PaymentRequest::whenDetailsSettled):

  • Modules/remoteplayback/RemotePlayback.cpp:

(WebCore::RemotePlayback::watchAvailability):

  • Modules/webaudio/AudioContext.cpp:

(WebCore::AudioContext::startRendering):
(WebCore::AudioContext::mayResumePlayback):
(WebCore::AudioContext::suspendPlayback):
(WebCore::AudioContext::isPlayingAudioDidChange):

  • Modules/webaudio/AudioScheduledSourceNode.cpp:

(WebCore::AudioScheduledSourceNode::finish):

  • Modules/webaudio/AudioWorkletMessagingProxy.cpp:

(WebCore::AudioWorkletMessagingProxy::postTaskToAudioWorklet):

  • Modules/webaudio/AudioWorkletNode.cpp:

(WebCore::AudioWorkletNode::fireProcessorErrorOnMainThread):

  • Modules/webaudio/BaseAudioContext.cpp:

(WebCore::BaseAudioContext::clear):
(WebCore::BaseAudioContext::stop):
(WebCore::BaseAudioContext::updateTailProcessingNodes):
(WebCore::BaseAudioContext::scheduleNodeDeletion):
(WebCore::BaseAudioContext::deleteMarkedNodes):

  • Modules/webaudio/MediaElementAudioSourceNode.cpp:

(WebCore::MediaElementAudioSourceNode::setFormat):

  • Modules/webaudio/OfflineAudioDestinationNode.cpp:

(WebCore::OfflineAudioDestinationNode::startRendering):

  • Modules/webaudio/ScriptProcessorNode.cpp:

(WebCore::ScriptProcessorNode::process):

  • Modules/webdatabase/Database.cpp:

(WebCore::Database::scheduleTransactionCallback):

  • Modules/websockets/ThreadableWebSocketChannelClientWrapper.cpp:

(WebCore::ThreadableWebSocketChannelClientWrapper::didConnect):
(WebCore::ThreadableWebSocketChannelClientWrapper::didReceiveMessage):
(WebCore::ThreadableWebSocketChannelClientWrapper::didReceiveBinaryData):
(WebCore::ThreadableWebSocketChannelClientWrapper::didUpdateBufferedAmount):
(WebCore::ThreadableWebSocketChannelClientWrapper::didStartClosingHandshake):
(WebCore::ThreadableWebSocketChannelClientWrapper::didClose):
(WebCore::ThreadableWebSocketChannelClientWrapper::didReceiveMessageError):
(WebCore::ThreadableWebSocketChannelClientWrapper::didUpgradeURL):
(WebCore::ThreadableWebSocketChannelClientWrapper::processPendingTasks):

  • Modules/websockets/WebSocket.cpp:

(WebCore::WebSocket::failAsynchronously):

  • Modules/websockets/WebSocketChannel.cpp:

(WebCore::WebSocketChannel::didOpenSocketStream):
(WebCore::WebSocketChannel::processOutgoingFrameQueue):

  • Modules/webxr/WebXRFrame.cpp:

(WebCore::WebXRFrame::getViewerPose):

  • Modules/webxr/WebXRSession.cpp:

(WebCore::WebXRSession::requestReferenceSpace):
(WebCore::WebXRSession::shutdown):
(WebCore::WebXRSession::end):
(WebCore::WebXRSession::requestFrame):

  • Modules/webxr/WebXRSystem.cpp:

(WebCore::WebXRSystem::ensureImmersiveXRDeviceIsSelected):

  • animation/WebAnimation.cpp:

(WebCore::WebAnimation::remove):
(WebCore::WebAnimation::setEffect):
(WebCore::WebAnimation::setTimeline):
(WebCore::WebAnimation::updateFinishedState):

  • bindings/js/JSDOMPromiseDeferred.cpp:

(WebCore::DeferredPromise::callFunction):
(WebCore::DeferredPromise::whenSettled):

  • bindings/js/JSMicrotaskCallback.h:

(WebCore::JSMicrotaskCallback::call):

  • bindings/js/SerializedScriptValue.cpp:

(WebCore::SerializedScriptValue::writeBlobsToDiskForIndexedDB):

  • bindings/js/WorkerModuleScriptLoader.cpp:

(WebCore::WorkerModuleScriptLoader::notifyClientFinished):

  • css/CSSGradientValue.cpp:

(WebCore::CSSGradientValue::valueWithStylesResolved):

  • dom/AbortSignal.cpp:

(WebCore::AbortSignal::signalAbort):

  • dom/ContainerNode.cpp:

(WebCore::ContainerNode::replaceChildren):

  • dom/Document.cpp:

(WebCore::Document::updateTitle):
(WebCore::Document::didRemoveAllPendingStylesheet):
(WebCore::Document::queueTaskToDispatchEvent):
(WebCore::Document::queueTaskToDispatchEventOnWindow):

  • dom/WindowEventLoop.cpp:

(WebCore::WindowEventLoop::didReachTimeToRun):
(WebCore::WindowEventLoop::queueMutationObserverCompoundMicrotask):
(WebCore::WindowEventLoop::backupElementQueue):

  • dom/messageports/MessagePortChannel.cpp:

(WebCore::MessagePortChannel::closePort):
(WebCore::MessagePortChannel::checkRemotePortForActivity):

  • editing/CompositeEditCommand.cpp:

(WebCore::CompositeEditCommand::ensureComposition):

  • editing/EditCommand.cpp:

(WebCore::EditCommand::setStartingSelection):
(WebCore::EditCommand::setEndingSelection):

  • fileapi/BlobCallback.cpp:

(WebCore::BlobCallback::scheduleCallback):

  • fileapi/FileReader.cpp:

(WebCore::FileReader::abort):

  • html/BaseCheckableInputType.cpp:

(WebCore::BaseCheckableInputType::fireInputAndChangeEvents):

  • html/DirectoryFileListCreator.cpp:

(WebCore::DirectoryFileListCreator::start):

  • html/FileInputType.cpp:

(WebCore::FileInputType::didCreateFileList):
(WebCore::FileInputType::receiveDroppedFilesWithImageTranscoding):

  • html/HTMLFormControlElement.cpp:

(WebCore::HTMLFormControlElement::focusAndShowValidationMessage):

  • html/HTMLFormElement.cpp:

(WebCore::HTMLFormElement::submitIfPossible):
(WebCore::HTMLFormElement::submit):
(WebCore::HTMLFormElement::resumeFromDocumentSuspension):

  • html/HTMLInputElement.cpp:

(WebCore::HTMLInputElement::didAttachRenderers):
(WebCore::HTMLInputElement::resumeFromDocumentSuspension):

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::setAudioOutputDevice):
(WebCore::HTMLMediaElement::layoutSizeChanged):
(WebCore::HTMLMediaElement::setVideoFullscreenStandby):

  • html/HTMLPlugInImageElement.cpp:

(WebCore::HTMLPlugInImageElement::scheduleUpdateForAfterStyleResolution):

  • html/InputType.cpp:

(WebCore::InputType::applyStep):

  • html/OffscreenCanvas.cpp:

(WebCore::OffscreenCanvas::scheduleCommitToPlaceholderCanvas):

  • html/canvas/WebGLRenderingContextBase.cpp:

(WebCore::WebGLRenderingContextBase::makeXRCompatible):

  • html/canvas/WebGLSync.cpp:

(WebCore::WebGLSync::scheduleAllowCacheUpdate):

  • inspector/CommandLineAPIHost.cpp:

(WebCore::CommandLineAPIHost::wrapper):

  • inspector/InspectorFrontendAPIDispatcher.cpp:

(WebCore::InspectorFrontendAPIDispatcher::suspend):

  • inspector/InspectorFrontendClientLocal.cpp:

(WebCore::InspectorBackendDispatchTask::scheduleOneShot):

  • loader/DocumentLoader.cpp:

(WebCore::DocumentLoader::handleSubstituteDataLoadNow):
(WebCore::DocumentLoader::redirectReceived):
(WebCore::DocumentLoader::willSendRequest):
(WebCore::DocumentLoader::responseReceived):

  • loader/MediaResourceLoader.cpp:

(WebCore::MediaResource::responseReceived):

  • loader/NetscapePlugInStreamLoader.cpp:

(WebCore::NetscapePlugInStreamLoader::init):
(WebCore::NetscapePlugInStreamLoader::willSendRequest):

  • loader/ResourceLoader.cpp:

(WebCore::ResourceLoader::init):
(WebCore::ResourceLoader::deliverResponseAndData):
(WebCore::ResourceLoader::loadDataURL):

  • loader/SubresourceLoader.cpp:

(WebCore::SubresourceLoader::startLoading):
(WebCore::SubresourceLoader::init):
(WebCore::SubresourceLoader::willSendRequestInternal):

  • loader/appcache/ApplicationCacheResourceLoader.cpp:

(WebCore::ApplicationCacheResourceLoader::cancel):
(WebCore::ApplicationCacheResourceLoader::notifyFinished):

  • page/DOMWindow.cpp:

(WebCore::DOMWindow::postMessage):
(WebCore::DOMWindow::close):
(WebCore::DOMWindow::dispatchLoadEvent):
(WebCore::DOMWindow::dispatchEvent):

  • page/Frame.cpp:

(WebCore::Frame::injectUserScripts):

  • page/FrameView.cpp:

(WebCore::FrameView::scrollToFocusedElementTimerFired):

  • page/Performance.cpp:

(WebCore::Performance::scheduleTaskIfNeeded):

  • page/scrolling/ThreadedScrollingTree.cpp:

(WebCore::ThreadedScrollingTree::scrollingTreeNodeDidScroll):
(WebCore::ThreadedScrollingTree::willStartRenderingUpdate):
(WebCore::ThreadedScrollingTree::displayDidRefresh):

  • platform/PreviewConverter.cpp:

(WebCore::PreviewConverter::updateMainResource):
(WebCore::PreviewConverter::iterateClients):
(WebCore::PreviewConverter::didAddClient):
(WebCore::PreviewConverter::replayToClient):
(WebCore::PreviewConverter::delegateDidReceiveData):
(WebCore::PreviewConverter::delegateDidFailWithError):

  • platform/audio/cocoa/AudioDestinationCocoa.cpp:

(WebCore::AudioDestinationCocoa::render):

  • platform/graphics/ImageSource.cpp:

(WebCore::ImageSource::startAsyncDecodingQueue):

  • platform/graphics/avfoundation/cf/WebCoreAVCFResourceLoader.cpp:

(WebCore::WebCoreAVCFResourceLoader::invalidate):

  • platform/graphics/avfoundation/objc/ImageDecoderAVFObjC.mm:

(WebCore::ImageDecoderAVFObjC::ImageDecoderAVFObjC):
(WebCore::ImageDecoderAVFObjC::setTrack):

  • platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:

(WebCore::EffectiveRateChangedListener::effectiveRateChanged):

  • platform/graphics/avfoundation/objc/MediaSampleAVFObjC.mm:

(WebCore::MediaSampleAVFObjC::divideIntoHomogeneousSamples):

  • platform/graphics/avfoundation/objc/SourceBufferParserAVFObjC.mm:

(WebCore::SourceBufferParserAVFObjC::didParseStreamDataAsAsset):
(WebCore::SourceBufferParserAVFObjC::didFailToParseStreamDataWithError):
(WebCore::SourceBufferParserAVFObjC::didProvideMediaDataForTrackID):

  • platform/graphics/avfoundation/objc/WebCoreAVFResourceLoader.mm:

(WebCore::WebCoreAVFResourceLoader::invalidate):

  • platform/graphics/cocoa/SourceBufferParserWebM.cpp:

(WebCore::SourceBufferParserWebM::appendData):
(WebCore::SourceBufferParserWebM::OnElementEnd):
(WebCore::SourceBufferParserWebM::OnBlockGroupEnd):
(WebCore::SourceBufferParserWebM::provideMediaData):

  • platform/graphics/cocoa/WebCoreDecompressionSession.mm:

(WebCore::WebCoreDecompressionSession::maybeBecomeReadyForMoreMediaData):
(WebCore::WebCoreDecompressionSession::handleDecompressionOutput):
(WebCore::WebCoreDecompressionSession::enqueueDecodedSample):
(WebCore::WebCoreDecompressionSession::flush):

  • platform/graphics/gstreamer/MainThreadNotifier.h:
  • platform/graphics/gstreamer/mse/SourceBufferPrivateGStreamer.cpp:

(WebCore::SourceBufferPrivateGStreamer::notifyClientWhenReadyForMoreSamples):

  • platform/graphics/mac/LegacyDisplayRefreshMonitorMac.cpp:

(WebCore::LegacyDisplayRefreshMonitorMac::dispatchDisplayDidRefresh):

  • platform/graphics/nicosia/NicosiaSceneIntegration.cpp:

(Nicosia::SceneIntegration::createUpdateScope):

  • platform/ios/VideoFullscreenInterfaceAVKit.mm:

(VideoFullscreenInterfaceAVKit::setVideoFullscreenModel):
(VideoFullscreenInterfaceAVKit::didStartPictureInPicture):
(VideoFullscreenInterfaceAVKit::prepareForPictureInPictureStopWithCompletionHandler):
(VideoFullscreenInterfaceAVKit::finalizeSetup):
(VideoFullscreenInterfaceAVKit::doEnterFullscreen):
(VideoFullscreenInterfaceAVKit::doExitFullscreen):

  • platform/ios/WebVideoFullscreenControllerAVKit.mm:

(VideoFullscreenControllerContext::requestUpdateInlineRect):
(VideoFullscreenControllerContext::requestVideoContentLayer):
(VideoFullscreenControllerContext::returnVideoContentLayer):
(VideoFullscreenControllerContext::didSetupFullscreen):
(VideoFullscreenControllerContext::willExitFullscreen):
(VideoFullscreenControllerContext::didExitFullscreen):
(VideoFullscreenControllerContext::didCleanupFullscreen):
(VideoFullscreenControllerContext::fullscreenMayReturnToInline):
(VideoFullscreenControllerContext::durationChanged):
(VideoFullscreenControllerContext::currentTimeChanged):
(VideoFullscreenControllerContext::bufferedTimeChanged):
(VideoFullscreenControllerContext::rateChanged):
(VideoFullscreenControllerContext::hasVideoChanged):
(VideoFullscreenControllerContext::videoDimensionsChanged):
(VideoFullscreenControllerContext::seekableRangesChanged):
(VideoFullscreenControllerContext::canPlayFastReverseChanged):
(VideoFullscreenControllerContext::audioMediaSelectionOptionsChanged):
(VideoFullscreenControllerContext::legibleMediaSelectionOptionsChanged):
(VideoFullscreenControllerContext::externalPlaybackChanged):
(VideoFullscreenControllerContext::wirelessVideoPlaybackDisabledChanged):
(VideoFullscreenControllerContext::mutedChanged):
(VideoFullscreenControllerContext::volumeChanged):
(VideoFullscreenControllerContext::requestFullscreenMode):
(VideoFullscreenControllerContext::setVideoLayerFrame):
(VideoFullscreenControllerContext::setVideoLayerGravity):
(VideoFullscreenControllerContext::fullscreenModeChanged):
(VideoFullscreenControllerContext::play):
(VideoFullscreenControllerContext::pause):
(VideoFullscreenControllerContext::togglePlayState):
(VideoFullscreenControllerContext::toggleMuted):
(VideoFullscreenControllerContext::setMuted):
(VideoFullscreenControllerContext::setVolume):
(VideoFullscreenControllerContext::setPlayingOnSecondScreen):
(VideoFullscreenControllerContext::beginScrubbing):
(VideoFullscreenControllerContext::endScrubbing):
(VideoFullscreenControllerContext::seekToTime):
(VideoFullscreenControllerContext::fastSeek):
(VideoFullscreenControllerContext::beginScanningForward):
(VideoFullscreenControllerContext::beginScanningBackward):
(VideoFullscreenControllerContext::endScanning):
(VideoFullscreenControllerContext::setDefaultPlaybackRate):
(VideoFullscreenControllerContext::setPlaybackRate):
(VideoFullscreenControllerContext::selectAudioMediaOption):
(VideoFullscreenControllerContext::selectLegibleMediaOption):
(VideoFullscreenControllerContext::setUpFullscreen):
(VideoFullscreenControllerContext::exitFullscreen):

  • platform/mac/VideoFullscreenInterfaceMac.mm:

(WebCore::VideoFullscreenInterfaceMac::setupFullscreen):

  • platform/mediastream/AudioTrackPrivateMediaStream.cpp:

(WebCore::AudioTrackPrivateMediaStream::startRenderer):

  • platform/mediastream/MediaStreamPrivate.cpp:

(WebCore::MediaStreamPrivate::forEachObserver):

  • platform/mediastream/MediaStreamTrackPrivate.cpp:

(WebCore::MediaStreamTrackPrivate::forEachObserver):

  • platform/mediastream/RealtimeIncomingAudioSource.cpp:

(WebCore::RealtimeIncomingAudioSource::OnChanged):

  • platform/mediastream/RealtimeIncomingVideoSource.cpp:

(WebCore::RealtimeIncomingVideoSource::OnChanged):

  • platform/mediastream/RealtimeMediaSource.cpp:

(WebCore::RealtimeMediaSource::forEachObserver):
(WebCore::RealtimeMediaSource::updateHasStartedProducingData):
(WebCore::RealtimeMediaSource::end):
(WebCore::RealtimeMediaSource::scheduleDeferredTask):

  • platform/mediastream/RealtimeMediaSourceCenter.cpp:

(WebCore::RealtimeMediaSourceCenter::triggerDevicesChangedObservers):

  • platform/mediastream/RealtimeOutgoingVideoSource.cpp:

(WebCore::RealtimeOutgoingVideoSource::applyRotation):

  • platform/mediastream/RealtimeVideoSource.cpp:

(WebCore::RealtimeVideoSource::whenReady):

  • platform/mediastream/gstreamer/GStreamerCapturer.cpp:

(WebCore::GStreamerCapturer::forEachObserver):

  • platform/mediastream/mac/MockRealtimeVideoSourceMac.mm:

(WebCore::MockRealtimeVideoSourceMac::updateSampleBuffer):

  • platform/mediastream/mac/RealtimeOutgoingAudioSourceCocoa.cpp:

(WebCore::RealtimeOutgoingAudioSourceCocoa::audioSamplesAvailable):

  • platform/mediastream/mac/WebAudioSourceProviderCocoa.mm:

(WebCore::WebAudioSourceProviderCocoa::prepare):

  • platform/mock/MockAudioDestinationCocoa.cpp:

(WebCore::MockAudioDestinationCocoa::tick):

  • platform/mock/MockRealtimeAudioSource.cpp:

(WebCore::MockRealtimeAudioSource::tick):

  • platform/network/BlobResourceHandle.cpp:

(WebCore::BlobResourceHandle::start):
(WebCore::BlobResourceHandle::notifyResponseOnSuccess):
(WebCore::BlobResourceHandle::notifyResponseOnError):
(WebCore::BlobResourceHandle::notifyFinish):

  • platform/network/cf/ResourceHandleCFNet.cpp:

(WebCore::ResourceHandle::willSendRequest):

  • platform/network/cf/ResourceHandleCFURLConnectionDelegateWithOperationQueue.cpp:

(WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::willSendRequest):
(WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::didReceiveResponse):
(WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::didReceiveData):
(WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::didFinishLoading):
(WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::didFail):
(WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::willCacheResponse):
(WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::didReceiveChallenge):
(WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::didSendBodyData):
(WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::canRespondToProtectionSpace):

  • platform/network/cf/SocketStreamHandleImplCFNet.cpp:

(WebCore::SocketStreamHandleImpl::SocketStreamHandleImpl):

  • platform/network/cocoa/WebCoreNSURLSession.mm:

(WebCore::WebCoreNSURLSessionDataTaskClient::responseReceived):

  • platform/network/curl/CurlRequest.cpp:

(WebCore::CurlRequest::cancel):
(WebCore::CurlRequest::callClient):
(WebCore::CurlRequest::invokeDidReceiveResponseForFile):
(WebCore::CurlRequest::completeDidReceiveResponse):
(WebCore::CurlRequest::invokeCancel):
(WebCore::CurlRequest::pausedStatusChanged):

  • platform/network/curl/ResourceHandleCurl.cpp:

(WebCore::ResourceHandle::didReceiveAuthenticationChallenge):
(WebCore::ResourceHandle::receivedRequestToContinueWithoutCredential):
(WebCore::ResourceHandle::receivedCancellation):
(WebCore::ResourceHandle::willSendRequest):
(WebCore::ResourceHandle::handleDataURL):

  • platform/network/mac/ResourceHandleMac.mm:

(WebCore::ResourceHandle::willSendRequest):

  • platform/xr/openxr/PlatformXROpenXR.cpp:

(PlatformXR::OpenXRDevice::initialize):
(PlatformXR::OpenXRDevice::initializeTrackingAndRendering):
(PlatformXR::OpenXRDevice::shutDownTrackingAndRendering):
(PlatformXR::OpenXRDevice::requestFrame):
(PlatformXR::OpenXRDevice::submitFrame):
(PlatformXR::OpenXRDevice::waitUntilStopping):

  • storage/StorageQuotaManager.cpp:

(WebCore::StorageQuotaManager::requestSpaceOnMainThread):
(WebCore::StorageQuotaManager::requestSpaceOnBackgroundThread):

  • testing/WebXRTest.cpp:

(WebCore::WebXRTest::simulateDeviceConnection):

  • workers/WorkerEventLoop.cpp:

(WebCore::WorkerEventLoop::scheduleToRun):

  • workers/WorkerMessagingProxy.cpp:

(WebCore::WorkerMessagingProxy::postMessageToDebugger):

  • workers/WorkerOrWorkletThread.cpp:

(WebCore::WorkerOrWorkletThread::workerOrWorkletThread):

  • workers/service/ExtendableEvent.cpp:

(WebCore::ExtendableEvent::addExtendLifetimePromise):

  • workers/service/FetchEvent.cpp:

(WebCore::FetchEvent::respondWith):

  • workers/service/ServiceWorkerContainer.cpp:

(WebCore::ServiceWorkerContainer::ready):
(WebCore::ServiceWorkerContainer::getRegistration):
(WebCore::ServiceWorkerContainer::getRegistrations):
(WebCore::ServiceWorkerContainer::jobResolvedWithRegistration):

  • workers/service/context/ServiceWorkerThread.cpp:

(WebCore::ServiceWorkerThread::startHeartBeatTimer):

  • workers/service/context/ServiceWorkerThreadProxy.cpp:

(WebCore::ServiceWorkerThreadProxy::postTaskToLoader):
(WebCore::ServiceWorkerThreadProxy::postMessageToDebugger):
(WebCore::ServiceWorkerThreadProxy::setResourceCachingDisabledByWebInspector):
(WebCore::ServiceWorkerThreadProxy::startFetch):
(WebCore::ServiceWorkerThreadProxy::postMessageToServiceWorker):
(WebCore::ServiceWorkerThreadProxy::fireInstallEvent):
(WebCore::ServiceWorkerThreadProxy::fireActivateEvent):

  • workers/service/server/RegistrationDatabase.cpp:

(WebCore::RegistrationDatabase::postTaskToWorkQueue):
(WebCore::RegistrationDatabase::importRecordsIfNecessary):
(WebCore::RegistrationDatabase::schedulePushChanges):
(WebCore::RegistrationDatabase::doPushChanges):
(WebCore::RegistrationDatabase::importRecords):

  • xml/XMLHttpRequest.cpp:

(WebCore::XMLHttpRequest::createRequest):
(WebCore::XMLHttpRequest::didFail):
(WebCore::XMLHttpRequest::didFinishLoading):

Source/WebDriver:

  • Session.cpp:

(WebDriver::Session::closeAllToplevelBrowsingContexts):
(WebDriver::Session::createTopLevelBrowsingContext):
(WebDriver::Session::handleUserPrompts):
(WebDriver::Session::go):
(WebDriver::Session::getCurrentURL):
(WebDriver::Session::back):
(WebDriver::Session::forward):
(WebDriver::Session::refresh):
(WebDriver::Session::getTitle):
(WebDriver::Session::getWindowHandle):
(WebDriver::Session::closeTopLevelBrowsingContext):
(WebDriver::Session::switchToWindow):
(WebDriver::Session::getWindowHandles):
(WebDriver::Session::newWindow):
(WebDriver::Session::switchToFrame):
(WebDriver::Session::switchToParentFrame):
(WebDriver::Session::getToplevelBrowsingContextRect):
(WebDriver::Session::setWindowRect):
(WebDriver::Session::maximizeWindow):
(WebDriver::Session::minimizeWindow):
(WebDriver::Session::fullscreenWindow):
(WebDriver::Session::computeElementLayout):
(WebDriver::Session::findElements):
(WebDriver::Session::getActiveElement):
(WebDriver::Session::isElementSelected):
(WebDriver::Session::getElementText):
(WebDriver::Session::getElementTagName):
(WebDriver::Session::getElementRect):
(WebDriver::Session::isElementEnabled):
(WebDriver::Session::isElementDisplayed):
(WebDriver::Session::getElementAttribute):
(WebDriver::Session::getElementProperty):
(WebDriver::Session::getElementCSSValue):
(WebDriver::Session::waitForNavigationToComplete):
(WebDriver::Session::elementIsFileUpload):
(WebDriver::Session::selectOptionElement):
(WebDriver::Session::elementClick):
(WebDriver::Session::elementIsEditable):
(WebDriver::Session::elementClear):
(WebDriver::Session::setInputFileUploadFiles):
(WebDriver::Session::elementSendKeys):
(WebDriver::Session::getPageSource):
(WebDriver::Session::executeScript):
(WebDriver::Session::performMouseInteraction):
(WebDriver::Session::performKeyboardInteractions):
(WebDriver::Session::getAllCookies):
(WebDriver::Session::addCookie):
(WebDriver::Session::deleteCookie):
(WebDriver::Session::deleteAllCookies):
(WebDriver::Session::performActions):
(WebDriver::Session::releaseActions):
(WebDriver::Session::dismissAlert):
(WebDriver::Session::acceptAlert):
(WebDriver::Session::getAlertText):
(WebDriver::Session::sendAlertText):
(WebDriver::Session::takeScreenshot):

Source/WebKit:

  • GPUProcess/graphics/RemoteGraphicsContextGL.cpp:

(WebKit::RemoteGraphicsContextGL::initialize):
(WebKit::RemoteGraphicsContextGL::displayWasReconfigured):

  • GPUProcess/media/RemoteAudioSourceProviderProxy.cpp:

(WebKit::RemoteAudioSourceProviderProxy::createRingBuffer):

  • GPUProcess/media/RemoteMediaResource.cpp:

(WebKit::RemoteMediaResource::responseReceived):

  • GPUProcess/media/RemoteSourceBufferProxy.cpp:

(WebKit::RemoteSourceBufferProxy::removeCodedFrames):

  • GPUProcess/webrtc/LibWebRTCCodecsProxy.mm:

(WebKit::LibWebRTCCodecsProxy::close):

  • GPUProcess/webrtc/RemoteSampleBufferDisplayLayerManager.cpp:

(WebKit::RemoteSampleBufferDisplayLayerManager::close):
(WebKit::RemoteSampleBufferDisplayLayerManager::createLayer):
(WebKit::RemoteSampleBufferDisplayLayerManager::releaseLayer):

  • NetworkProcess/Classifier/WebResourceLoadStatisticsStore.cpp:

(WebKit::WebResourceLoadStatisticsStore::postTask):
(WebKit::WebResourceLoadStatisticsStore::destroyResourceLoadStatisticsStore):
(WebKit::WebResourceLoadStatisticsStore::populateMemoryStoreFromDisk):
(WebKit::WebResourceLoadStatisticsStore::resourceLoadStatisticsUpdated):
(WebKit::WebResourceLoadStatisticsStore::requestStorageAccess):
(WebKit::WebResourceLoadStatisticsStore::requestStorageAccessEphemeral):
(WebKit::WebResourceLoadStatisticsStore::scheduleClearInMemoryAndPersistent):

  • NetworkProcess/IndexedDB/WebIDBServer.cpp:

(WebKit::WebIDBServer::WebIDBServer):
(WebKit::WebIDBServer::getOrigins):
(WebKit::WebIDBServer::closeAndDeleteDatabasesModifiedSince):
(WebKit::WebIDBServer::closeAndDeleteDatabasesForOrigins):
(WebKit::WebIDBServer::renameOrigin):
(WebKit::WebIDBServer::addConnection):
(WebKit::WebIDBServer::removeConnection):
(WebKit::WebIDBServer::registerTemporaryBlobFilePaths):
(WebKit::WebIDBServer::close):

  • NetworkProcess/NetworkConnectionToWebProcess.cpp:

(WebKit::NetworkConnectionToWebProcess::scheduleResourceLoad):
(WebKit::NetworkConnectionToWebProcess::preconnectTo):
(WebKit::NetworkConnectionToWebProcess::writeBlobsToTemporaryFilesForIndexedDB):
(WebKit::NetworkConnectionToWebProcess::takeAllMessagesForPort):

  • NetworkProcess/NetworkDataTaskBlob.cpp:

(WebKit::NetworkDataTaskBlob::resume):

  • NetworkProcess/NetworkProcess.cpp:

(WebKit::NetworkProcess::deleteAndRestrictWebsiteDataForRegistrableDomains):
(WebKit::NetworkProcess::findPendingDownloadLocation):
(WebKit::NetworkProcess::createWebIDBServer):

  • NetworkProcess/NetworkResourceLoader.cpp:

(WebKit::NetworkResourceLoader::retrieveCacheEntry):
(WebKit::NetworkResourceLoader::didReceiveResponse):
(WebKit::NetworkResourceLoader::willSendRedirectedRequest):
(WebKit::NetworkResourceLoader::tryStoreAsCacheEntry):

  • NetworkProcess/NetworkSocketStream.cpp:

(WebKit::NetworkSocketStream::sendData):
(WebKit::NetworkSocketStream::sendHandshake):

  • NetworkProcess/WebStorage/StorageManagerSet.cpp:

(WebKit::StorageManagerSet::add):
(WebKit::StorageManagerSet::remove):
(WebKit::StorageManagerSet::removeConnection):
(WebKit::StorageManagerSet::handleLowMemoryWarning):
(WebKit::StorageManagerSet::suspend):
(WebKit::StorageManagerSet::getSessionStorageOrigins):
(WebKit::StorageManagerSet::deleteSessionStorage):
(WebKit::StorageManagerSet::deleteSessionStorageForOrigins):
(WebKit::StorageManagerSet::getLocalStorageOrigins):
(WebKit::StorageManagerSet::deleteLocalStorageModifiedSince):
(WebKit::StorageManagerSet::deleteLocalStorageForOrigins):
(WebKit::StorageManagerSet::getLocalStorageOriginDetails):
(WebKit::StorageManagerSet::renameOrigin):

  • NetworkProcess/cache/CacheStorageEngine.cpp:

(WebKit::CacheStorage::Engine::readCache):
(WebKit::CacheStorage::Engine::fetchDirectoryEntries):
(WebKit::CacheStorage::CompletionHandler<void):
(WebKit::CacheStorage::Engine::clearCachesForOriginFromDirectories):

  • NetworkProcess/cache/CacheStorageEngineCaches.cpp:

(WebKit::CacheStorage::Caches::storeOrigin):
(WebKit::CacheStorage::Caches::initializeSize):
(WebKit::CacheStorage::Caches::clear):
(WebKit::CacheStorage::Caches::readCachesFromDisk):
(WebKit::CacheStorage::Caches::writeCachesToDisk):
(WebKit::CacheStorage::Caches::writeRecord):

  • NetworkProcess/cache/NetworkCache.cpp:

(WebKit::NetworkCache::Cache::retrieve):
(WebKit::NetworkCache::Cache::store):
(WebKit::NetworkCache::Cache::traverse):

  • NetworkProcess/cache/NetworkCacheIOChannelCurl.cpp:

(WebKit::NetworkCache::IOChannel::read):
(WebKit::NetworkCache::IOChannel::write):

  • NetworkProcess/cache/NetworkCacheIOChannelGLib.cpp:

(WebKit::NetworkCache::IOChannel::readSyncInThread):

  • NetworkProcess/cache/NetworkCacheStorage.cpp:

(WebKit::NetworkCache::Storage::synchronize):
(WebKit::NetworkCache::Storage::remove):
(WebKit::NetworkCache::Storage::finishReadOperation):
(WebKit::NetworkCache::Storage::finishWriteOperation):
(WebKit::NetworkCache::Storage::traverse):
(WebKit::NetworkCache::Storage::clear):
(WebKit::NetworkCache::Storage::shrink):

  • NetworkProcess/cocoa/NetworkDataTaskCocoa.mm:

(WebKit::NetworkDataTaskCocoa::resume):

  • NetworkProcess/cocoa/NetworkProcessCocoa.mm:

(WebKit::NetworkProcess::clearDiskCache):

  • NetworkProcess/curl/NetworkDataTaskCurl.cpp:

(WebKit::NetworkDataTaskCurl::curlDidSendData):
(WebKit::NetworkDataTaskCurl::curlDidReceiveResponse):
(WebKit::NetworkDataTaskCurl::curlDidReceiveBuffer):
(WebKit::NetworkDataTaskCurl::invokeDidReceiveResponse):
(WebKit::NetworkDataTaskCurl::willPerformHTTPRedirection):
(WebKit::NetworkDataTaskCurl::tryHttpAuthentication):
(WebKit::NetworkDataTaskCurl::tryProxyAuthentication):
(WebKit::NetworkDataTaskCurl::tryServerTrustEvaluation):

  • NetworkProcess/soup/NetworkDataTaskSoup.cpp:

(WebKit::NetworkDataTaskSoup::dispatchDidReceiveResponse):
(WebKit::NetworkDataTaskSoup::authenticate):
(WebKit::NetworkDataTaskSoup::continueAuthenticate):
(WebKit::NetworkDataTaskSoup::continueHTTPRedirection):

  • NetworkProcess/webrtc/NetworkRTCProvider.cpp:

(WebKit::NetworkRTCProvider::createServerTCPSocket):
(WebKit::NetworkRTCProvider::createClientTCPSocket):
(WebKit::NetworkRTCProvider::createResolver):
(WebKit::NetworkRTCProvider::stopResolver):
(WebKit::NetworkRTCProvider::closeListeningSockets):

  • NetworkProcess/webrtc/RTCDataChannelRemoteManagerProxy.cpp:

(WebKit::RTCDataChannelRemoteManagerProxy::registerConnectionToWebProcess):
(WebKit::RTCDataChannelRemoteManagerProxy::unregisterConnectionToWebProcess):

  • Platform/IPC/Connection.cpp:

(IPC::Connection::invalidate):
(IPC::Connection::sendMessage):
(IPC::Connection::waitForMessage):
(IPC::Connection::processIncomingMessage):
(IPC::Connection::postConnectionDidCloseOnConnectionWorkQueue):
(IPC::Connection::connectionDidClose):
(IPC::Connection::dispatchDidReceiveInvalidMessage):
(IPC::Connection::enqueueIncomingMessage):

  • Platform/IPC/cocoa/ConnectionCocoa.mm:

(IPC::Connection::open):
(IPC::Connection::initializeSendSource):

  • Platform/IPC/unix/ConnectionUnix.cpp:

(IPC::Connection::sendOutputMessage):

  • Platform/IPC/win/ConnectionWin.cpp:

(IPC::Connection::invokeReadEventHandler):
(IPC::Connection::invokeWriteEventHandler):

  • Scripts/webkit/messages.py:

(generate_message_handler):

  • Scripts/webkit/tests/TestWithIfMessageMessageReceiver.cpp:

(WebKit::TestWithIfMessage::didReceiveMessage):

  • Scripts/webkit/tests/TestWithImageDataMessageReceiver.cpp:

(WebKit::TestWithImageData::didReceiveMessage):
(WebKit::TestWithImageData::didReceiveSyncMessage):

  • Scripts/webkit/tests/TestWithLegacyReceiverMessageReceiver.cpp:

(WebKit::TestWithLegacyReceiver::didReceiveTestWithLegacyReceiverMessage):
(WebKit::TestWithLegacyReceiver::didReceiveSyncTestWithLegacyReceiverMessage):

  • Scripts/webkit/tests/TestWithSemaphoreMessageReceiver.cpp:

(WebKit::TestWithSemaphore::didReceiveMessage):
(WebKit::TestWithSemaphore::didReceiveSyncMessage):

  • Scripts/webkit/tests/TestWithStreamBufferMessageReceiver.cpp:

(WebKit::TestWithStreamBuffer::didReceiveMessage):

  • Scripts/webkit/tests/TestWithSuperclassMessageReceiver.cpp:

(WebKit::TestWithSuperclass::didReceiveMessage):
(WebKit::TestWithSuperclass::didReceiveSyncMessage):

  • Scripts/webkit/tests/TestWithoutAttributesMessageReceiver.cpp:

(WebKit::TestWithoutAttributes::didReceiveMessage):
(WebKit::TestWithoutAttributes::didReceiveSyncMessage):

  • Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.cpp:

(WebKit::m_displayRefreshMonitor):
(WebKit::ThreadedCompositor::invalidate):
(WebKit::ThreadedCompositor::suspend):
(WebKit::ThreadedCompositor::resume):
(WebKit::ThreadedCompositor::forceRepaint):

  • Shared/mac/MediaFormatReader/MediaFormatReader.cpp:

(WebKit::MediaFormatReader::startOnMainThread):
(WebKit::MediaFormatReader::parseByteSource):

  • UIProcess/API/APIContentRuleListStore.cpp:

(API::ContentRuleListStore::lookupContentRuleList):
(API::ContentRuleListStore::getAvailableContentRuleListIdentifiers):
(API::ContentRuleListStore::compileContentRuleList):
(API::ContentRuleListStore::removeContentRuleList):
(API::ContentRuleListStore::getContentRuleListSource):

  • UIProcess/API/APIHTTPCookieStore.cpp:

(API::HTTPCookieStore::cookies):
(API::HTTPCookieStore::cookiesForURL):
(API::HTTPCookieStore::setCookies):

  • UIProcess/API/glib/IconDatabase.cpp:

(WebKit::IconDatabase::checkIconURLAndSetPageURLIfNeeded):
(WebKit::IconDatabase::loadIconForPageURL):
(WebKit::IconDatabase::setIconForPageURL):
(WebKit::IconDatabase::clear):

  • UIProcess/Automation/SimulatedInputDispatcher.cpp:

(WebKit::SimulatedInputDispatcher::transitionToNextKeyFrame):
(WebKit::SimulatedInputDispatcher::transitionToNextInputSourceState):

  • UIProcess/Automation/WebAutomationSession.cpp:

(WebKit::WebAutomationSession::getBrowsingContexts):
(WebKit::WebAutomationSession::getBrowsingContext):
(WebKit::WebAutomationSession::createBrowsingContext):
(WebKit::WebAutomationSession::setWindowFrameOfBrowsingContext):
(WebKit::WebAutomationSession::maximizeWindowOfBrowsingContext):
(WebKit::WebAutomationSession::hideWindowOfBrowsingContext):
(WebKit::WebAutomationSession::exitFullscreenWindowForPage):
(WebKit::WebAutomationSession::willShowJavaScriptDialog):
(WebKit::WebAutomationSession::resolveChildFrameHandle):
(WebKit::WebAutomationSession::resolveParentFrameHandle):
(WebKit::WebAutomationSession::simulateMouseInteraction):
(WebKit::WebAutomationSession::simulateTouchInteraction):
(WebKit::WebAutomationSession::simulateWheelInteraction):
(WebKit::WebAutomationSession::performMouseInteraction):
(WebKit::WebAutomationSession::performKeyboardInteractions):
(WebKit::WebAutomationSession::performInteractionSequence):
(WebKit::WebAutomationSession::cancelInteractionSequence):

  • UIProcess/AuxiliaryProcessProxy.cpp:

(WebKit::AuxiliaryProcessProxy::sendMessage):

  • UIProcess/Cocoa/SOAuthorization/SOAuthorizationSession.mm:

(WebKit::SOAuthorizationSession::dismissViewController):

  • UIProcess/Cocoa/WebProcessProxyCocoa.mm:

(WebKit::WebProcessProxy::sendAudioComponentRegistrations):

  • UIProcess/DeviceIdHashSaltStorage.cpp:

(WebKit::DeviceIdHashSaltStorage::DeviceIdHashSaltStorage):
(WebKit::DeviceIdHashSaltStorage::loadStorageFromDisk):
(WebKit::DeviceIdHashSaltStorage::storeHashSaltToDisk):
(WebKit::DeviceIdHashSaltStorage::deleteHashSaltFromDisk):

  • UIProcess/Downloads/DownloadProxy.cpp:

(WebKit::DownloadProxy::cancel):
(WebKit::DownloadProxy::willSendRequest):
(WebKit::DownloadProxy::decideDestinationWithSuggestedFilename):

  • UIProcess/GPU/GPUProcessProxy.cpp:

(WebKit::GPUProcessProxy::gpuProcessExited):

  • UIProcess/Launcher/glib/ProcessLauncherGLib.cpp:

(WebKit::ProcessLauncher::launchProcess):

  • UIProcess/Media/RemoteMediaSessionCoordinatorProxy.cpp:

(WebKit::RemoteMediaSessionCoordinatorProxy::join):
(WebKit::RemoteMediaSessionCoordinatorProxy::coordinateSeekTo):
(WebKit::RemoteMediaSessionCoordinatorProxy::coordinatePlay):
(WebKit::RemoteMediaSessionCoordinatorProxy::coordinatePause):
(WebKit::RemoteMediaSessionCoordinatorProxy::coordinateSetTrack):

  • UIProcess/Network/NetworkProcessProxy.cpp:

(WebKit::NetworkProcessProxy::networkProcessDidTerminate):

  • UIProcess/UserMediaPermissionRequestProxy.cpp:

(WebKit::UserMediaPermissionRequestProxy::prompt):

  • UIProcess/WebContextMenuProxy.cpp:

(WebKit::WebContextMenuProxy::useContextMenuItems):

  • UIProcess/WebFrameProxy.cpp:

(WebKit::WebFrameProxy::setUpPolicyListenerProxy):

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::requestFontAttributesAtSelectionStart):
(WebKit::WebPageProxy::receivedNavigationPolicyDecision):
(WebKit::WebPageProxy::continueNavigationInNewProcess):
(WebKit::WebPageProxy::forceRepaint):
(WebKit::WebPageProxy::decidePolicyForNavigationAction):
(WebKit::WebPageProxy::decidePolicyForNewWindowAction):
(WebKit::WebPageProxy::decidePolicyForResponseShared):
(WebKit::WebPageProxy::willSubmitForm):
(WebKit::WebPageProxy::createNewPage):
(WebKit::WebPageProxy::getWindowFrame):
(WebKit::WebPageProxy::getWindowFrameWithCallback):
(WebKit::WebPageProxy::printFrame):
(WebKit::WebPageProxy::didChooseFilesForOpenPanelWithImageTranscoding):
(WebKit::WebPageProxy::didReceiveAuthenticationChallengeProxy):
(WebKit::WebPageProxy::requestStorageSpace):
(WebKit::WebPageProxy::getLoadDecisionForIcon):
(WebKit::WebPageProxy::dispatchActivityStateUpdateForTesting):

  • UIProcess/WebProcessPool.cpp:

(WebKit::WebProcessPool::terminateServiceWorkers):
(WebKit::WebProcessPool::processForNavigationInternal):

  • UIProcess/WebProcessProxy.cpp:

(WebKit::WebProcessProxy::processDidTerminateOrFailedToLaunch):
(WebKit::WebProcessProxy::didBecomeUnresponsive):
(WebKit::WebProcessProxy::didFinishLaunching):
(WebKit::WebProcessProxy::fetchWebsiteData):
(WebKit::WebProcessProxy::deleteWebsiteData):
(WebKit::WebProcessProxy::deleteWebsiteDataForOrigins):
(WebKit::WebProcessProxy::requestTermination):
(WebKit::WebProcessProxy::didExceedCPULimit):

  • UIProcess/WebURLSchemeTask.cpp:

(WebKit::WebURLSchemeTask::willPerformRedirection):

  • UIProcess/WebsiteData/Cocoa/WebsiteDataStoreCocoa.mm:

(WebKit::WebsiteDataStore::ensureAppBoundDomains const):

  • UIProcess/WebsiteData/WebsiteDataStore.cpp:

(WebKit::WebsiteDataStore::fetchDataAndApply):
(WebKit::WebsiteDataStore::getResourceLoadStatisticsDataSummary):

  • UIProcess/ios/ProcessAssertionIOS.mm:

(WebKit::ProcessAssertion::acquireAsync):

  • UIProcess/mac/WebContextMenuProxyMac.mm:

(WebKit::WebContextMenuProxyMac::getShareMenuItem):
(WebKit::WebContextMenuProxyMac::getContextMenuFromItems):
(WebKit::WebContextMenuProxyMac::useContextMenuItems):

  • UIProcess/mac/WebPageProxyMac.mm:

(WebKit::WebPageProxy::windowAndViewFramesChanged):
(WebKit::WebPageProxy::pdfSaveToPDF):
(WebKit::WebPageProxy::pdfOpenWithPreview):

  • WebProcess/GPU/GPUProcessConnection.cpp:

(WebKit::GPUProcessConnection::didClose):

  • WebProcess/GPU/media/RemoteAudioDestinationProxy.cpp:

(WebKit::RemoteAudioDestinationProxy::startRendering):
(WebKit::RemoteAudioDestinationProxy::stopRendering):

  • WebProcess/GPU/media/RemoteAudioSourceProviderManager.cpp:

(WebKit::RemoteAudioSourceProviderManager::addProvider):
(WebKit::RemoteAudioSourceProviderManager::removeProvider):

  • WebProcess/GPU/media/SourceBufferPrivateRemote.cpp:

(WebKit::SourceBufferPrivateRemote::removeCodedFrames):

  • WebProcess/Network/WebResourceLoader.cpp:

(WebKit::WebResourceLoader::didReceiveResponse):
(WebKit::WebResourceLoader::didReceiveData):
(WebKit::WebResourceLoader::didFinishResourceLoad):
(WebKit::WebResourceLoader::didFailResourceLoad):

  • WebProcess/Network/WebSocketChannel.cpp:

(WebKit::WebSocketChannel::sendMessage):
(WebKit::WebSocketChannel::close):
(WebKit::WebSocketChannel::fail):
(WebKit::WebSocketChannel::didClose):
(WebKit::WebSocketChannel::resume):

  • WebProcess/Notifications/NotificationPermissionRequestManager.cpp:

(WebKit::NotificationPermissionRequestManager::startRequest):

  • WebProcess/Plugins/Netscape/NetscapePlugin.cpp:

(WebKit::NetscapePlugin::pluginThreadAsyncCall):

  • WebProcess/Plugins/PDF/PDFPlugin.mm:

(WebKit::PDFPlugin::PDFPlugin):
(WebKit::PDFPlugin::pdfLog):
(WebKit::PDFPlugin::receivedNonLinearizedPDFSentinel):
(WebKit::PDFPlugin::getResourceBytesAtPosition):
(WebKit::PDFPlugin::tryRunScriptsInPDFDocument):

  • WebProcess/Plugins/PluginView.cpp:

(WebKit::PluginView::Stream::start):

  • WebProcess/Storage/WebServiceWorkerFetchTaskClient.cpp:

(WebKit::WebServiceWorkerFetchTaskClient::didReceiveFormDataAndFinish):

  • WebProcess/UserContent/WebUserContentController.cpp:

(WebKit::WebUserContentController::removeUserScriptMessageHandlerInternal):

  • WebProcess/WebPage/EventDispatcher.cpp:

(WebKit::EventDispatcher::wheelEvent):
(WebKit::EventDispatcher::gestureEvent):
(WebKit::EventDispatcher::touchEvent):
(WebKit::EventDispatcher::dispatchWheelEventViaMainThread):

  • WebProcess/WebPage/ViewUpdateDispatcher.cpp:

(WebKit::ViewUpdateDispatcher::visibleContentRectUpdate):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::suspendForProcessSwap):
(WebKit::WebPage::runJavaScriptInFrameInScriptWorld):
(WebKit::WebPage::drawPagesForPrinting):
(WebKit::WebPage::elementDidBlur):
(WebKit::WebPage::requestStorageAccess):

  • WebProcess/WebPage/WebURLSchemeTaskProxy.cpp:

(WebKit::WebURLSchemeTaskProxy::didPerformRedirection):
(WebKit::WebURLSchemeTaskProxy::didReceiveResponse):
(WebKit::WebURLSchemeTaskProxy::didReceiveData):
(WebKit::WebURLSchemeTaskProxy::didComplete):

  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::handleSyntheticClick):
(WebKit::WebPage::didFinishContentChangeObserving):
(WebKit::WebPage::didFinishLoadingImageForElement):
(WebKit::WebPage::updateInputContextAfterBlurringAndRefocusingElementIfNeeded):

  • WebProcess/cocoa/RemoteCaptureSampleManager.cpp:

(WebKit::RemoteCaptureSampleManager::addSource):
(WebKit::RemoteCaptureSampleManager::removeSource):

  • WebProcess/cocoa/RemoteRealtimeAudioSource.cpp:

(WebKit::RemoteRealtimeAudioSource::createRemoteMediaSource):

  • WebProcess/cocoa/RemoteRealtimeVideoSource.cpp:

(WebKit::RemoteRealtimeVideoSource::createRemoteMediaSource):

  • WebProcess/cocoa/VideoFullscreenManager.mm:

(WebKit::VideoFullscreenManager::exitVideoFullscreenForVideoElement):
(WebKit::VideoFullscreenManager::requestVideoContentLayer):
(WebKit::VideoFullscreenManager::returnVideoContentLayer):
(WebKit::VideoFullscreenManager::didSetupFullscreen):
(WebKit::VideoFullscreenManager::willExitFullscreen):
(WebKit::VideoFullscreenManager::didEnterFullscreen):
(WebKit::VideoFullscreenManager::didExitFullscreen):
(WebKit::VideoFullscreenManager::didCleanupFullscreen):

Source/WebKitLegacy:

  • Storage/InProcessIDBServer.cpp:

(InProcessIDBServer::InProcessIDBServer):
(InProcessIDBServer::deleteDatabase):
(InProcessIDBServer::didDeleteDatabase):
(InProcessIDBServer::openDatabase):
(InProcessIDBServer::didOpenDatabase):
(InProcessIDBServer::didAbortTransaction):
(InProcessIDBServer::didCommitTransaction):
(InProcessIDBServer::didCreateObjectStore):
(InProcessIDBServer::didDeleteObjectStore):
(InProcessIDBServer::didRenameObjectStore):
(InProcessIDBServer::didClearObjectStore):
(InProcessIDBServer::didCreateIndex):
(InProcessIDBServer::didDeleteIndex):
(InProcessIDBServer::didRenameIndex):
(InProcessIDBServer::didPutOrAdd):
(InProcessIDBServer::didGetRecord):
(InProcessIDBServer::didGetAllRecords):
(InProcessIDBServer::didGetCount):
(InProcessIDBServer::didDeleteRecord):
(InProcessIDBServer::didOpenCursor):
(InProcessIDBServer::didIterateCursor):
(InProcessIDBServer::abortTransaction):
(InProcessIDBServer::commitTransaction):
(InProcessIDBServer::didFinishHandlingVersionChangeTransaction):
(InProcessIDBServer::createObjectStore):
(InProcessIDBServer::deleteObjectStore):
(InProcessIDBServer::renameObjectStore):
(InProcessIDBServer::clearObjectStore):
(InProcessIDBServer::createIndex):
(InProcessIDBServer::deleteIndex):
(InProcessIDBServer::renameIndex):
(InProcessIDBServer::putOrAdd):
(InProcessIDBServer::getRecord):
(InProcessIDBServer::getAllRecords):
(InProcessIDBServer::getCount):
(InProcessIDBServer::deleteRecord):
(InProcessIDBServer::openCursor):
(InProcessIDBServer::iterateCursor):
(InProcessIDBServer::establishTransaction):
(InProcessIDBServer::fireVersionChangeEvent):
(InProcessIDBServer::didStartTransaction):
(InProcessIDBServer::didCloseFromServer):
(InProcessIDBServer::notifyOpenDBRequestBlocked):
(InProcessIDBServer::databaseConnectionPendingClose):
(InProcessIDBServer::databaseConnectionClosed):
(InProcessIDBServer::abortOpenAndUpgradeNeeded):
(InProcessIDBServer::didFireVersionChangeEvent):
(InProcessIDBServer::openDBRequestCancelled):
(InProcessIDBServer::getAllDatabaseNamesAndVersions):
(InProcessIDBServer::didGetAllDatabaseNamesAndVersions):
(InProcessIDBServer::closeAndDeleteDatabasesModifiedSince):

Source/WebKitLegacy/mac:

  • Plugins/Hosted/HostedNetscapePluginStream.mm:

(WebKit::HostedNetscapePluginStream::start):

  • Plugins/WebNetscapePluginStream.mm:

(WebNetscapePluginStream::start):

Source/WTF:

  • wtf/cocoa/WorkQueueCocoa.cpp:

(WTF::WorkQueue::dispatch):
(WTF::WorkQueue::dispatchAfter):

  • wtf/glib/SocketConnection.cpp:

(WTF::SocketConnection::SocketConnection):
(WTF::SocketConnection::waitForSocketWritability):

Tools:

  • DumpRenderTree/TestRunner.cpp:

(TestRunner::callUIScriptCallback):

  • DumpRenderTree/ios/UIScriptControllerIOS.mm:

(WTR::UIScriptControllerIOS::doAsyncTask):
(WTR::UIScriptControllerIOS::zoomToScale):

  • DumpRenderTree/mac/UIScriptControllerMac.mm:

(WTR::UIScriptControllerMac::doAsyncTask):
(WTR::UIScriptControllerMac::activateDataListSuggestion):
(WTR::UIScriptControllerMac::removeViewFromWindow):
(WTR::UIScriptControllerMac::addViewToWindow):

  • DumpRenderTree/win/UIScriptControllerWin.cpp:

(WTR::UIScriptControllerWin::doAsyncTask):

  • TestWebKitAPI/cocoa/HTTPServer.mm:

(TestWebKitAPI::H2::Connection::receive const):

  • WebKitTestRunner/cocoa/UIScriptControllerCocoa.mm:

(WTR::UIScriptControllerCocoa::setDidShowContextMenuCallback):
(WTR::UIScriptControllerCocoa::setDidDismissContextMenuCallback):

  • WebKitTestRunner/gtk/UIScriptControllerGtk.cpp:

(WTR::UIScriptControllerGtk::doAsyncTask):
(WTR::UIScriptControllerGtk::activateAtPoint):
(WTR::UIScriptControllerGtk::removeViewFromWindow):
(WTR::UIScriptControllerGtk::addViewToWindow):

  • WebKitTestRunner/ios/UIScriptControllerIOS.mm:

(WTR::UIScriptControllerIOS::doAfterPresentationUpdate):
(WTR::UIScriptControllerIOS::doAfterNextStablePresentationUpdate):
(WTR::UIScriptControllerIOS::ensurePositionInformationIsUpToDateAt):
(WTR::UIScriptControllerIOS::doAfterVisibleContentRectUpdate):
(WTR::UIScriptControllerIOS::zoomToScale):
(WTR::UIScriptControllerIOS::retrieveSpeakSelectionContent):
(WTR::UIScriptControllerIOS::simulateAccessibilitySettingsChangeNotification):
(WTR::UIScriptControllerIOS::touchDownAtPoint):
(WTR::UIScriptControllerIOS::liftUpAtPoint):
(WTR::UIScriptControllerIOS::twoFingerSingleTapAtPoint):
(WTR::UIScriptControllerIOS::singleTapAtPointWithModifiers):
(WTR::UIScriptControllerIOS::doubleTapAtPoint):
(WTR::UIScriptControllerIOS::stylusDownAtPoint):
(WTR::UIScriptControllerIOS::stylusMoveToPoint):
(WTR::UIScriptControllerIOS::stylusUpAtPoint):
(WTR::UIScriptControllerIOS::stylusTapAtPointWithModifiers):
(WTR::UIScriptControllerIOS::longPressAtPoint):
(WTR::UIScriptControllerIOS::typeCharacterUsingHardwareKeyboard):
(WTR::UIScriptControllerIOS::dismissFilePicker):
(WTR::UIScriptControllerIOS::applyAutocorrection):
(WTR::UIScriptControllerIOS::simulateRotation):
(WTR::UIScriptControllerIOS::simulateRotationLikeSafari):
(WTR::UIScriptControllerIOS::setDidStartFormControlInteractionCallback):
(WTR::UIScriptControllerIOS::setDidEndFormControlInteractionCallback):
(WTR::UIScriptControllerIOS::setWillBeginZoomingCallback):
(WTR::UIScriptControllerIOS::setDidEndZoomingCallback):
(WTR::UIScriptControllerIOS::setDidShowKeyboardCallback):
(WTR::UIScriptControllerIOS::setDidHideKeyboardCallback):
(WTR::UIScriptControllerIOS::setWillStartInputSessionCallback):
(WTR::UIScriptControllerIOS::chooseMenuAction):
(WTR::UIScriptControllerIOS::setWillPresentPopoverCallback):
(WTR::UIScriptControllerIOS::setDidDismissPopoverCallback):
(WTR::UIScriptControllerIOS::setDidEndScrollingCallback):
(WTR::UIScriptControllerIOS::activateDataListSuggestion):
(WTR::UIScriptControllerIOS::doAfterDoubleTapDelay):
(WTR::UIScriptControllerIOS::installTapGestureOnWindow):

  • WebKitTestRunner/mac/UIScriptControllerMac.mm:

(WTR::UIScriptControllerMac::zoomToScale):
(WTR::UIScriptControllerMac::simulateAccessibilitySettingsChangeNotification):
(WTR::UIScriptControllerMac::chooseMenuAction):
(WTR::UIScriptControllerMac::activateAtPoint):

  • WebKitTestRunner/win/UIScriptControllerWin.cpp:

(WTR::UIScriptControllerWin::doAsyncTask):

  • WebKitTestRunner/wpe/UIScriptControllerWPE.cpp:

(WTR::UIScriptControllerWPE::doAsyncTask):
(WTR::UIScriptControllerWPE::activateAtPoint):
(WTR::UIScriptControllerWPE::removeViewFromWindow):
(WTR::UIScriptControllerWPE::addViewToWindow):

10:12 AM Changeset in webkit [282754] by Chris Dumez
  • 4 edits in trunk/Source/WebKit

Fix race in RemoteRenderingBackend::allowsExitUnderMemoryPressure()
https://bugs.webkit.org/show_bug.cgi?id=229870
<rdar://82459484>

Reviewed by Simon Fraser.

RemoteRenderingBackend::allowsExitUnderMemoryPressure() gets called on the main thread while
RemoteResourceCache is always modified on a work queue. Introduce a std::atomic<bool> on
the RemoteResourceCache that RemoteRenderingBackend::allowsExitUnderMemoryPressure() can
safely query from the main thread.

  • GPUProcess/graphics/RemoteRenderingBackend.cpp:

(WebKit::RemoteRenderingBackend::updateRenderingResourceRequest):
(WebKit::RemoteRenderingBackend::allowsExitUnderMemoryPressure const):

  • GPUProcess/graphics/RemoteResourceCache.cpp:

(WebKit::RemoteResourceCache::RemoteResourceCache):
(WebKit::RemoteResourceCache::cacheImageBuffer):
(WebKit::RemoteResourceCache::cacheNativeImage):
(WebKit::RemoteResourceCache::maybeRemoveResource):
(WebKit::RemoteResourceCache::updateHasActiveDrawables):

  • GPUProcess/graphics/RemoteResourceCache.h:

(WebKit::RemoteResourceCache::hasActiveDrawables const):

9:56 AM Changeset in webkit [282753] by Ayumi Kojima
  • 2 edits in trunk/LayoutTests

REGRESSION (r281102?): [ Mac ] media/track/track-in-band.html is a flaky timeout.
https://bugs.webkit.org/show_bug.cgi?id=229478

Unreviewed test gardening.

  • platform/mac-wk1/TestExpectations:
9:52 AM Changeset in webkit [282752] by jer.noble@apple.com
  • 11 edits in trunk/Source

[Cocoa] Make AVSampleBufferVideoOutput support an Experimental Feature
https://bugs.webkit.org/show_bug.cgi?id=230424

Reviewed by Eric Carlson.

Source/WebCore:

Move AVSampleBufferVideoOutput from a compile-time to a runtime enabled
feature for A/B testing purposes.

  • page/RuntimeEnabledFeatures.cpp:

(WebCore::RuntimeEnabledFeatures::setMediaSourceInlinePaintingEnabled):

  • page/RuntimeEnabledFeatures.h:

(WebCore::RuntimeEnabledFeatures::mediaSourceInlinePaintingEnabled const):

  • platform/audio/cocoa/MediaSessionManagerCocoa.h:
  • platform/audio/cocoa/MediaSessionManagerCocoa.mm:

(WebCore::MediaSessionManagerCocoa::setMediaSourceInlinePaintingEnabled):
(WebCore::MediaSessionManagerCocoa::mediaSourceInlinePaintingEnabled):

  • platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:

(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::updateLastPixelBuffer):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::ensureLayer):

Source/WebCore/PAL:

Drive-by fix: fix up the declarations in AVFoundationSPI.h.

  • pal/spi/cocoa/AVFoundationSPI.h:

Source/WTF:

  • Scripts/Preferences/WebPreferencesExperimental.yaml:
  • wtf/PlatformHave.h:
9:26 AM Changeset in webkit [282751] by graouts@webkit.org
  • 8 edits in trunk/Source/WebCore

TimingFunction::transformTime() is poorly-named
https://bugs.webkit.org/show_bug.cgi?id=230478

Reviewed by Simon Fraser.

This function transforms an input _progress_ not a time, so we rename it to transformProgress()
and name its first parameter accordingly.

  • animation/AnimationEffect.cpp:

(WebCore::AnimationEffect::getComputedTiming const):

  • animation/KeyframeEffect.cpp:

(WebCore::KeyframeEffect::setAnimatedPropertiesInStyle):

  • platform/ScrollAnimationSmooth.cpp:

(WebCore::ScrollAnimationSmooth::animateScroll):

  • platform/animation/TimingFunction.cpp:

(WebCore::TimingFunction::transformProgress const):
(WebCore::TimingFunction::transformTime const): Deleted.

  • platform/animation/TimingFunction.h:
  • platform/graphics/nicosia/NicosiaAnimation.cpp:

(Nicosia::Animation::apply):

  • platform/mac/ScrollbarsControllerMac.mm:

(-[WebScrollbarPartAnimation setCurrentProgress:]):

9:19 AM Changeset in webkit [282750] by Aditya Keerthi
  • 20 edits
    12 adds in trunk

Implement input-security
https://bugs.webkit.org/show_bug.cgi?id=184510
rdar://79979992

Reviewed by Antti Koivisto.

LayoutTests/imported/w3c:

Add web platform tests for input-security.

  • web-platform-tests/css/css-cascade/all-prop-initial-xml-expected.txt:
  • web-platform-tests/css/css-ui/input-security-auto-sensitive-text-input-expected.html: Added.
  • web-platform-tests/css/css-ui/input-security-auto-sensitive-text-input.html: Added.
  • web-platform-tests/css/css-ui/input-security-computed-expected.txt: Added.
  • web-platform-tests/css/css-ui/input-security-computed.html: Added.
  • web-platform-tests/css/css-ui/input-security-non-sensitive-elements-expected.html: Added.
  • web-platform-tests/css/css-ui/input-security-non-sensitive-elements.html: Added.
  • web-platform-tests/css/css-ui/input-security-none-sensitive-text-input-expected.html: Added.
  • web-platform-tests/css/css-ui/input-security-none-sensitive-text-input.html: Added.
  • web-platform-tests/css/css-ui/input-security-parsing-expected.txt: Added.
  • web-platform-tests/css/css-ui/input-security-parsing.html: Added.
  • web-platform-tests/css/cssom/cssstyledeclaration-csstext-expected.txt:
  • web-platform-tests/css/cssom/getComputedStyle-detached-subtree-expected.txt:

Source/WebCore:

Implement the input-security property as specified in
https://drafts.csswg.org/css-ui-4/#input-security.

The property provides authors a way to enable/disable obscuring of text
in sensitive text inputs, such as <input type=password>. While the
property is similar to the non-standard -webkit-text-security property
at a surface level, there are several differences that make input-security
more than a simple alias/synonym.

  1. -webkit-text-security is an inherited property, input-security is not.
  1. input-security only applies to sensitive text inputs, whereas -webkit-text-security applies to everything but sensitive text inputs. The latter is due to the presence of an !important rule in the UA stylesheet that prevented authors from disabling/controlling obscuring.
  1. -webkit-text-security supports additional values that control the appearance of obscured characters. input-security is a simple toggle.

However, while an alias is not possible, the implementation can still
leverage the existing text security logic under the hood.

Tests: fast/css/computed-text-security-for-input-security.html

imported/w3c/web-platform-tests/css/css-ui/input-security-auto-sensitive-text-input.html
imported/w3c/web-platform-tests/css/css-ui/input-security-computed.html
imported/w3c/web-platform-tests/css/css-ui/input-security-non-sensitive-elements.html
imported/w3c/web-platform-tests/css/css-ui/input-security-none-sensitive-text-input.html
imported/w3c/web-platform-tests/css/css-ui/input-security-parsing.html

  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::ComputedStyleExtractor::valueForPropertyInStyle):

  • css/CSSPrimitiveValueMappings.h:

(WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
(WebCore::CSSPrimitiveValue::operator InputSecurity const):

  • css/CSSProperties.json:
  • css/html.css:

(input[type="password"]):

Remove the -webkit-text-security rule, as password inputs are obscured
by default (input-security: auto), and to support disabling of
obscuring.

(input:-webkit-autofill-strong-password, input:-webkit-autofill-strong-password-viewable):

Use input-security to make the characters viewable, as
-webkit-text-security no longer has an effect on password inputs in
the UA stylesheet. Note that the property already had no effect in
author stylesheets.

  • css/parser/CSSParserFastPaths.cpp:

(WebCore::CSSParserFastPaths::isValidKeywordPropertyAndValue):
(WebCore::CSSParserFastPaths::isKeywordPropertyID):

  • rendering/style/RenderStyle.cpp:

(WebCore::rareNonInheritedDataChangeRequiresLayout):

  • rendering/style/RenderStyle.h:

(WebCore::RenderStyle::inputSecurity const):
(WebCore::RenderStyle::setInputSecurity):
(WebCore::RenderStyle::initialInputSecurity):

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

(WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
(WebCore::StyleRareNonInheritedData::operator== const):

  • rendering/style/StyleRareNonInheritedData.h:
  • style/StyleAdjuster.cpp:

(WebCore::Style::Adjuster::adjust const):

Control the obscuring of text in password inputs by setting appropriate
TextSecurity value in RenderStyle, corresponding to the InputSecurity
value. This implementation was chosen for two reasons:

  1. Leverage the existing logic which obscures characters based on the style's TextSecurity value. Note that it is already not possible to specify other TextSecurity value's for password inputs, so there is no risk in forcing a TextSecurity value for a given InputSecurity.
  1. Ensure the computed value for -webkit-text-security is not "none" (the default) when input-security is "auto". This behavior is necessary as there are known existing scripts that check the computed value for -webkit-text-security to determine whether text in an input is obscured.

LayoutTests:

Add a test to verify the interaction between the new input-security
property, and the existing -webkit-text-security property. See the
WebCore ChangeLog for more details.

Rebaselined existing tests to account for the existence of a new CSS
property.

  • fast/css/computed-text-security-for-input-security-expected.txt: Added.
  • fast/css/computed-text-security-for-input-security.html: Added.
  • platform/ios-wk2/imported/w3c/web-platform-tests/css/cssom/cssstyledeclaration-csstext-expected.txt:
  • platform/ios-wk2/imported/w3c/web-platform-tests/css/cssom/getComputedStyle-detached-subtree-expected.txt:
  • platform/ios/imported/w3c/web-platform-tests/css/cssom/cssstyledeclaration-csstext-expected.txt:
9:01 AM Changeset in webkit [282749] by Simon Fraser
  • 19 edits in trunk/Source/WebCore

Have ScrollingMomentumCalculator work in terms of ScrollExtents
https://bugs.webkit.org/show_bug.cgi?id=230465

Reviewed by Wenson Hsieh.

ScrollAnimator gets min/max scroll offsets and the viewport size via a ScrollExtents
class. To ease a future transition of ScrollingMomentumCalculator to be a ScrollAnimator,
move ScrollingMomentumCalculator to use the same struct, which is modified to satisfy
the need to provide ScrollingMomentumCalculatorMac with the contents size.

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

(WebCore::ScrollingTreeScrollingNodeDelegateMac::scrollExtents const):
(WebCore::ScrollingTreeScrollingNodeDelegateMac::scrollExtent const): Deleted.
(WebCore::ScrollingTreeScrollingNodeDelegateMac::viewportSize const): Deleted.

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

(WebCore::ScrollAnimationKinetic::startAnimatedScrollWithInitialVelocity):

  • platform/ScrollAnimationSmooth.cpp:

(WebCore::ScrollAnimationSmooth::startOrRetargetAnimation):
(WebCore::ScrollAnimationSmooth::updateScrollExtents):

  • platform/ScrollAnimator.cpp:

(WebCore::ScrollAnimator::scrollExtents const):
(WebCore::ScrollAnimator::scrollExtentsForAnimation):
(WebCore::ScrollAnimator::scrollExtent const): Deleted.
(WebCore::ScrollAnimator::viewportSize const): Deleted.

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

(WebCore::ScrollSnapAnimatorState::transitionToSnapAnimationState):
(WebCore::ScrollSnapAnimatorState::transitionToGlideAnimationState):
(WebCore::ScrollSnapAnimatorState::setupAnimationForState):
(WebCore::ScrollSnapAnimatorState::targetOffsetForStartOffset const):

  • platform/ScrollSnapAnimatorState.h:
  • platform/ScrollTypes.h:

(WebCore::ScrollExtents::minimumScrollOffset const):
(WebCore::ScrollExtents::maximumScrollOffset const):

  • platform/ScrollingEffectsController.cpp:

(WebCore::ScrollingEffectsController::setNearestScrollSnapIndexForAxisAndOffset):
(WebCore::ScrollingEffectsController::adjustScrollDestination):

  • platform/ScrollingEffectsController.h:
  • platform/ScrollingMomentumCalculator.cpp:

(WebCore::ScrollingMomentumCalculator::ScrollingMomentumCalculator):
(WebCore::ScrollingMomentumCalculator::predictedDestinationOffset):
(WebCore::ScrollingMomentumCalculator::create):
(WebCore::BasicScrollingMomentumCalculator::BasicScrollingMomentumCalculator):

  • platform/ScrollingMomentumCalculator.h:
  • platform/mac/ScrollingEffectsController.mm:

(WebCore::ScrollingEffectsController::statelessSnapTransitionTimerFired):
(WebCore::ScrollingEffectsController::processWheelEventForScrollSnap):

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

(WebCore::ScrollingMomentumCalculator::create):
(WebCore::ScrollingMomentumCalculatorMac::ScrollingMomentumCalculatorMac):
(WebCore::ScrollingMomentumCalculatorMac::ensurePlatformMomentumCalculator):

8:04 AM Changeset in webkit [282748] by Chris Dumez
  • 2 edits in trunk/LayoutTests

Unskip COOP tests that were marked as flaky as they have no recent failures on the bots.

  • platform/mac/TestExpectations:
7:35 AM Changeset in webkit [282747] by ntim@apple.com
  • 2 edits
    2 adds in trunk/LayoutTests/imported/w3c

Import inert/inert-on-non-html.tentative.html from WPT
https://bugs.webkit.org/show_bug.cgi?id=230474

Reviewed by Youenn Fablet.

  • web-platform-tests/inert/inert-on-non-html.tentative.html: Added.
  • web-platform-tests/inert/inert-on-non-html.tentative-expected.txt: Added.
  • web-platform-tests/inert/w3c-import.log:
7:22 AM Changeset in webkit [282746] by commit-queue@webkit.org
  • 7 edits
    7 adds in trunk

Web Share permission policy "web-share" and "self" as the allowlist
https://bugs.webkit.org/show_bug.cgi?id=214448

Patch by Marcos Caceres <Marcos Caceres> on 2021-09-20
Reviewed by Youenn Fablet.

Source/WebCore:

Tests: http/tests/webshare/webshare-allow-attribute-canShare.https.html

http/tests/webshare/webshare-allow-attribute-share.https.html

  • html/FeaturePolicy.cpp:

(WebCore::policyTypeName):
(WebCore::FeaturePolicy::parse):
(WebCore::FeaturePolicy::allows const):

  • html/FeaturePolicy.h:
  • page/Navigator.cpp:

(WebCore::Navigator::canShare):
(WebCore::Navigator::share):

LayoutTests:

  • http/tests/webshare/resources/webshare-postmessage.html: Added.
  • http/tests/webshare/webshare-allow-attribute-canShare.https-expected.txt: Added.
  • http/tests/webshare/webshare-allow-attribute-canShare.https.html: Added.
  • http/tests/webshare/webshare-allow-attribute-share.https-expected.txt: Added.
  • http/tests/webshare/webshare-allow-attribute-share.https.html: Added.
  • platform/mac-wk1/TestExpectations:
  • platform/win/TestExpectations:
7:09 AM Changeset in webkit [282745] by commit-queue@webkit.org
  • 11 edits in trunk/LayoutTests

Web Share tests are out of date
https://bugs.webkit.org/show_bug.cgi?id=229489

Patch by Marcos Caceres <Marcos Caceres> on 2021-09-20
Reviewed by Youenn Fablet.

LayoutTests/imported/w3c:

  • web-platform-tests/web-share/canShare.https.html:
  • web-platform-tests/web-share/share-consume-activation.https.html:
  • web-platform-tests/web-share/share-empty.https.html:
  • web-platform-tests/web-share/share-securecontext.http.html:
  • web-platform-tests/web-share/share-simple-manual.https.html:

LayoutTests:

  • platform/ios-wk2/imported/w3c/web-platform-tests/web-share/canShare.https-expected.txt:
  • platform/ios-wk2/imported/w3c/web-platform-tests/web-share/share-empty.https-expected.txt:
  • platform/mac-wk2/imported/w3c/web-platform-tests/web-share/canShare.https-expected.txt:
  • platform/mac-wk2/imported/w3c/web-platform-tests/web-share/share-empty.https-expected.txt:
7:00 AM Changeset in webkit [282744] by Alan Bujtas
  • 3 edits in trunk/Source/WebCore

[LFC][Integration] Remove redundant Run::m_isLineSpanning
https://bugs.webkit.org/show_bug.cgi?id=230470

Reviewed by Antti Koivisto.

FIXME got implemented. Run iterators do skip line spanning inline boxes. We don't need this anymore.

  • layout/formattingContexts/inline/InlineDisplayContentBuilder.cpp:

(WebCore::Layout::InlineDisplayContentBuilder::createRunsAndUpdateGeometryForLineSpanningInlineBoxes):

  • layout/formattingContexts/inline/InlineLineRun.h:

(WebCore::Layout::Run::hasContent const):
(WebCore::Layout::Run::Run):
(WebCore::Layout::Run::isLineSpanning const): Deleted.

5:04 AM Changeset in webkit [282743] by youenn@apple.com
  • 66 edits
    35 adds
    3 deletes in trunk/LayoutTests

Resync WPT webrtc tests from upstream
https://bugs.webkit.org/show_bug.cgi?id=229549
<rdar://problem/82670236>

Reviewed by Eric Carlson.

LayoutTests/imported/w3c:

  • resources/import-expectations.json:
  • web-platform-tests/webrtc/RTCConfiguration-iceServers-expected.txt:
  • web-platform-tests/webrtc/RTCConfiguration-iceServers.html:
  • web-platform-tests/webrtc/RTCDataChannel-bufferedAmount-expected.txt:
  • web-platform-tests/webrtc/RTCDataChannel-iceRestart-expected.txt: Added.
  • web-platform-tests/webrtc/RTCDataChannel-iceRestart.html: Added.
  • web-platform-tests/webrtc/RTCDataChannel-send-expected.txt:
  • web-platform-tests/webrtc/RTCDataChannel-send.html:
  • web-platform-tests/webrtc/RTCDtlsTransport-state-expected.txt:
  • web-platform-tests/webrtc/RTCDtlsTransport-state.html:
  • web-platform-tests/webrtc/RTCIceConnectionState-candidate-pair.https-expected.txt:
  • web-platform-tests/webrtc/RTCIceTransport-extension-helper.js: Removed.
  • web-platform-tests/webrtc/RTCIceTransport-extension.https-expected.txt:
  • web-platform-tests/webrtc/RTCIceTransport-extension.https.html:
  • web-platform-tests/webrtc/RTCPeerConnection-addIceCandidate-connectionSetup.html:
  • web-platform-tests/webrtc/RTCPeerConnection-addIceCandidate-expected.txt:
  • web-platform-tests/webrtc/RTCPeerConnection-addIceCandidate.html:
  • web-platform-tests/webrtc/RTCPeerConnection-addTrack.https-expected.txt:
  • web-platform-tests/webrtc/RTCPeerConnection-addTrack.https.html:
  • web-platform-tests/webrtc/RTCPeerConnection-capture-video.https.html: Added.
  • web-platform-tests/webrtc/RTCPeerConnection-connectionState-expected.txt:
  • web-platform-tests/webrtc/RTCPeerConnection-connectionState.html: Added.
  • web-platform-tests/webrtc/RTCPeerConnection-createOffer-offerToReceive-expected.txt: Added.
  • web-platform-tests/webrtc/RTCPeerConnection-createOffer-offerToReceive.html: Added.
  • web-platform-tests/webrtc/RTCPeerConnection-getDefaultIceServers-expected.txt: Added.
  • web-platform-tests/webrtc/RTCPeerConnection-getDefaultIceServers.html: Added.
  • web-platform-tests/webrtc/RTCPeerConnection-getIdentityAssertion.sub-expected.txt: Added.
  • web-platform-tests/webrtc/RTCPeerConnection-getIdentityAssertion.sub.html: Added.
  • web-platform-tests/webrtc/RTCPeerConnection-getStats.https.html:
  • web-platform-tests/webrtc/RTCPeerConnection-helper.js:

(doExchange):
(async listenForSSRCs):

  • web-platform-tests/webrtc/RTCPeerConnection-iceConnectionState-expected.txt:
  • web-platform-tests/webrtc/RTCPeerConnection-iceConnectionState.html: Added.
  • web-platform-tests/webrtc/RTCPeerConnection-iceConnectionState.https.html:
  • web-platform-tests/webrtc/RTCPeerConnection-iceGatheringState.html:
  • web-platform-tests/webrtc/RTCPeerConnection-mandatory-getStats.https-expected.txt:
  • web-platform-tests/webrtc/RTCPeerConnection-mandatory-getStats.https.html:
  • web-platform-tests/webrtc/RTCPeerConnection-peerIdentity-expected.txt: Added.
  • web-platform-tests/webrtc/RTCPeerConnection-peerIdentity.html: Added.
  • web-platform-tests/webrtc/RTCPeerConnection-perfect-negotiation-stress-glare-linear.https-expected.txt:
  • web-platform-tests/webrtc/RTCPeerConnection-perfect-negotiation.https-expected.txt:
  • web-platform-tests/webrtc/RTCPeerConnection-plan-b-is-not-supported-expected.txt: Added.
  • web-platform-tests/webrtc/RTCPeerConnection-plan-b-is-not-supported.html: Added.
  • web-platform-tests/webrtc/RTCPeerConnection-relay-canvas.https-expected.txt: Added.
  • web-platform-tests/webrtc/RTCPeerConnection-relay-canvas.https.html: Added.
  • web-platform-tests/webrtc/RTCPeerConnection-remote-track-mute.https-expected.txt:
  • web-platform-tests/webrtc/RTCPeerConnection-restartIce.https-expected.txt:
  • web-platform-tests/webrtc/RTCPeerConnection-restartIce.https.html:
  • web-platform-tests/webrtc/RTCPeerConnection-setLocalDescription-answer-expected.txt:
  • web-platform-tests/webrtc/RTCPeerConnection-setLocalDescription-offer-expected.txt:
  • web-platform-tests/webrtc/RTCPeerConnection-setLocalDescription-pranswer-expected.txt:
  • web-platform-tests/webrtc/RTCPeerConnection-setLocalDescription-pranswer.html:
  • web-platform-tests/webrtc/RTCPeerConnection-setRemoteDescription-tracks.https-expected.txt: Added.
  • web-platform-tests/webrtc/RTCRtpParameters-degradationPreference-expected.txt: Added.
  • web-platform-tests/webrtc/RTCRtpParameters-degradationPreference.html: Added.
  • web-platform-tests/webrtc/RTCRtpTransceiver-setDirection-expected.txt: Added.
  • web-platform-tests/webrtc/RTCRtpTransceiver-setDirection.html: Added.
  • web-platform-tests/webrtc/RTCRtpTransceiver-stop-expected.txt:
  • web-platform-tests/webrtc/RTCRtpTransceiver-stop.html:
  • web-platform-tests/webrtc/RTCRtpTransceiver.https.html:
  • web-platform-tests/webrtc/RTCStats-helper.js:

(validateCodecStats):

  • web-platform-tests/webrtc/datachannel-emptystring-expected.txt: Removed.
  • web-platform-tests/webrtc/datachannel-emptystring.html: Removed.
  • web-platform-tests/webrtc/getstats.html:
  • web-platform-tests/webrtc/identity-helper.sub.js: Added.

(parseAssertionResult):
(getIdpDomains):
(assert_rtcerror_rejection):
(set hostString):

  • web-platform-tests/webrtc/no-media-call.html:
  • web-platform-tests/webrtc/promises-call.html:
  • web-platform-tests/webrtc/protocol/README.txt:
  • web-platform-tests/webrtc/protocol/dtls-setup.https-expected.txt: Added.
  • web-platform-tests/webrtc/protocol/dtls-setup.https.html: Added.
  • web-platform-tests/webrtc/protocol/handover-datachannel-expected.txt: Added.
  • web-platform-tests/webrtc/protocol/handover-datachannel.html: Added.
  • web-platform-tests/webrtc/protocol/handover.html:
  • web-platform-tests/webrtc/protocol/rtp-clockrate-expected.txt: Added.
  • web-platform-tests/webrtc/protocol/rtp-clockrate.html: Added.
  • web-platform-tests/webrtc/protocol/rtp-extension-support-expected.txt: Added.
  • web-platform-tests/webrtc/protocol/rtp-extension-support.html: Added.
  • web-platform-tests/webrtc/protocol/rtp-payloadtypes.html:
  • web-platform-tests/webrtc/protocol/sdes-dont-dont-dont-expected.txt: Added.
  • web-platform-tests/webrtc/protocol/sdes-dont-dont-dont.html: Added.
  • web-platform-tests/webrtc/protocol/split.https.html:
  • web-platform-tests/webrtc/protocol/vp8-fmtp-expected.txt: Added.
  • web-platform-tests/webrtc/protocol/vp8-fmtp.html: Added.
  • web-platform-tests/webrtc/protocol/w3c-import.log:
  • web-platform-tests/webrtc/simplecall-no-ssrcs.https.html:
  • web-platform-tests/webrtc/simplecall.https.html:
  • web-platform-tests/webrtc/simulcast/basic.https-expected.txt:
  • web-platform-tests/webrtc/simulcast/basic.https.html:
  • web-platform-tests/webrtc/simulcast/getStats.https-expected.txt:
  • web-platform-tests/webrtc/simulcast/h264.https-expected.txt:
  • web-platform-tests/webrtc/simulcast/h264.https.html:
  • web-platform-tests/webrtc/simulcast/setParameters-active.https-expected.txt:
  • web-platform-tests/webrtc/simulcast/setParameters-active.https.html:
  • web-platform-tests/webrtc/simulcast/vp8.https-expected.txt:
  • web-platform-tests/webrtc/simulcast/vp8.https.html:
  • web-platform-tests/webrtc/tools/package.json:
  • web-platform-tests/webrtc/w3c-import.log:

LayoutTests:

Unskipping some tests that are no longer flaky.
Marking some new tests as flaky.

1:08 AM Changeset in webkit [282742] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

[Flatpak SDK] Move toolchains to UserFlatpak and improve SDK upgrades
https://bugs.webkit.org/show_bug.cgi?id=230201

Patch by Philippe Normand <pnormand@igalia.com> on 2021-09-20
Reviewed by Carlos Alberto Lopez Perez.

As toolchain archives depend on the SDK runtime, it makes sense to move them in the
corresponding UserFlatpak folder, so that when SDK is upgraded, stale toolchains are
removed. The SDK upgrade is also now handling cached SSCache authentication tokens and
propagating those in the newly installed SDK. Finally, SDK upgrades will now also clear
CMake cache files on WebKit builds, so that hopefully, existing build directories no longer
need to be manually removed.

  • flatpak/flatpakutils.py:

(WebkitFlatpak.init):
(WebkitFlatpak.clean_args):
(WebkitFlatpak.setup_gstbuild):
(WebkitFlatpak.run_in_sandbox):
(WebkitFlatpak.main):
(WebkitFlatpak.acquire_sccache_auth_token_from_config_file):
(WebkitFlatpak.save_config):

Sep 19, 2021:

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

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

Reviewed by Antti Koivisto.

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

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

  • platform/KeyboardScrollingAnimator.cpp:

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

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

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

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

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

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

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

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

(WebCore::ScrollView::setScrollOffset):

  • platform/ScrollableArea.cpp:

(WebCore::ScrollableArea::setScrollPositionFromAnimation):

  • platform/ScrollableArea.h:

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

  • platform/mac/ScrollAnimatorMac.mm:

(WebCore::ScrollAnimatorMac::immediateScrollBy):

  • rendering/RenderLayerScrollableArea.cpp:

(WebCore::RenderLayerScrollableArea::clampScrollOffset const):

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

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

Reviewed by Tim Horton.

Source/WebCore:

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

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

(WebCore::EventHandler::textRecognitionCandidateElement const):

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

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

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

Source/WebKit:

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

  • WebProcess/WebCoreSupport/ShareableBitmapUtilities.cpp:

(WebKit::createShareableBitmap):

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

Unreviewed gardening after r282738.

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

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

Reviewed by Antti Koivisto.

LayoutTests/imported/w3c:

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

Source/WebCore:

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

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

  • layout/formattingContexts/inline/InlineContentBreaker.cpp:

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

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

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

Reviewed by Sam Weinig.

Enable text-shadow and background-clip:text.

  • layout/integration/LayoutIntegrationCoverage.cpp:

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

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

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

Allow TextClip paint phase.

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

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

Reviewed by Alan Bujtas.

Make the code not depend on legacy inline boxes.

  • rendering/LegacyRootInlineBox.cpp:

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

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

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

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

(WebCore::RenderBlockFlow::inlineSelectionGaps):

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

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

Reviewed by Alan Bujtas.

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

  • layout/integration/LayoutIntegrationLineLayout.cpp:

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

Use TextBoxPainter.

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

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

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

(WebCore::TextBoxPainter::TextBoxPainter):

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

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

  • rendering/TextBoxPainter.h:
Note: See TracTimeline for information about the timeline view.