Timeline
Oct 16, 2021:
- 10:58 PM Changeset in webkit [284333] by
-
- 4 edits in trunk/Source/WebCore
[LFC][IFC] Adjust the logical right side of the line with line spanning inline boxes
https://bugs.webkit.org/show_bug.cgi?id=231862
Reviewed by Antti Koivisto.
This patch is in preparation for supporting "box-decoration-break: clone".
- The line spanning inline box takes up space on the line (see line logical width)
- The inline box may be getting closed on the line (do not double account for the end width, see handleInlineContent )
- When we commit the inline box closing, turn the ending into just a normal run (see appendInlineBoxEnd )
- layout/formattingContexts/inline/InlineLine.cpp:
(WebCore::Layout::Line::initialize):
(WebCore::Layout::Line::appendInlineBoxStart):
(WebCore::Layout::Line::appendInlineBoxEnd):
(WebCore::Layout::Line::appendTextContent):
(WebCore::Layout::Line::appendNonReplacedInlineLevelBox):
(WebCore::Layout::Line::appendLineBreak):
(WebCore::Layout::Line::appendWordBreakOpportunity):
- layout/formattingContexts/inline/InlineLine.h:
(WebCore::Layout::Line::contentLogicalRight const):
(WebCore::Layout::Line::lineSpanningInlineBoxRunEnds const):
(WebCore::Layout::Line::lastRunLogicalRight const):
- layout/formattingContexts/inline/InlineLineBuilder.cpp:
(WebCore::Layout::LineBuilder::handleInlineContent):
(WebCore::Layout::LineBuilder::rebuildLineForTrailingSoftHyphen):
- 9:52 PM Changeset in webkit [284332] by
-
- 4 edits in trunk/Source/JavaScriptCore
[JSC] Use SourceID in SamplingProfiler
https://bugs.webkit.org/show_bug.cgi?id=231855
Reviewed by Mark Lam.
SamplingProfiler was still using intptr_t. We replace it with SourceID.
We also define internalSourceID and aggregatedExternalSourceID in SourceID.h.
They are special SourceID internally used in SamplingProfiler.
- bytecode/SourceID.h:
- runtime/SamplingProfiler.cpp:
(JSC::SamplingProfiler::StackFrame::sourceID):
(JSC::SamplingProfiler::reportTopFunctions):
- runtime/SamplingProfiler.h:
- 9:03 PM Changeset in webkit [284331] by
-
- 9 edits in trunk/Source/WebKit
[WebAuthn] Many Objective-C classes leak their instance variables
<https://webkit.org/b/231834>
<rdar://problem/84317190>
Reviewed by Brent Fulgham.
- UIProcess/API/Cocoa/_WKAuthenticationExtensionsClientInputs.mm:
(-[_WKAuthenticationExtensionsClientInputs dealloc]):
- UIProcess/API/Cocoa/_WKPublicKeyCredentialCreationOptions.mm:
(-[_WKPublicKeyCredentialCreationOptions dealloc]):
- UIProcess/API/Cocoa/_WKPublicKeyCredentialDescriptor.mm:
(-[_WKPublicKeyCredentialDescriptor dealloc]):
- UIProcess/API/Cocoa/_WKPublicKeyCredentialEntity.mm:
(-[_WKPublicKeyCredentialEntity dealloc]):
- UIProcess/API/Cocoa/_WKPublicKeyCredentialParameters.mm:
(-[_WKPublicKeyCredentialParameters dealloc]):
- UIProcess/API/Cocoa/_WKPublicKeyCredentialRelyingPartyEntity.mm:
(-[_WKPublicKeyCredentialRelyingPartyEntity dealloc]):
- UIProcess/API/Cocoa/_WKPublicKeyCredentialRequestOptions.mm:
(-[_WKPublicKeyCredentialRequestOptions dealloc]):
- UIProcess/API/Cocoa/_WKPublicKeyCredentialUserEntity.mm:
(-[_WKPublicKeyCredentialUserEntity dealloc]):
- Add -dealloc methods that release instance variables.
- 9:00 PM Changeset in webkit [284330] by
-
- 91 edits3 adds in trunk
Allow WASM to use up to 4GB
https://bugs.webkit.org/show_bug.cgi?id=229353
rdar://81603447
Reviewed by Yusuke Suzuki.
JSTests:
The big-wasm-memory/wasm-memory-requested... tests used to simply expect an OOM at 2GB.
They now expect success at 4GB, and failure at 4GB+1.
The exceptions they expect are now more specific, as previously there was a rounding issue that was causing the specific exceptions not to be thrown (resulting in the generic OOM exception later in the code).
Finally I made them only run on 64-bit platforms since we don't support typed arrays >=2GB on 32-bits, and I made them only run in one configuration since they can take a little bit of time.
I also added a few new tests, specifically checking our handling of large typed arrays, and especially of indices above INT32_MAX.
- stress/big-wasm-memory-grow-no-max.js:
(test):
- stress/big-wasm-memory-grow.js:
(test):
- stress/big-wasm-memory.js:
(test):
- stress/typed-array-always-large.js: Added.
(getArrayLength):
(getByVal):
(putByVal):
(test):
- stress/typed-array-eventually-large.js: Added.
(getArrayLength):
(getByVal):
(putByVal):
(test):
- stress/typed-array-large-eventually-oob.js: Added.
(getArrayLength):
(getByVal):
(putByVal):
(test):
- wasm/regress/wasm-memory-requested-more-than-MAX_ARRAY_BUFFER_SIZE-2.js:
- wasm/regress/wasm-memory-requested-more-than-MAX_ARRAY_BUFFER_SIZE.js:
Source/JavaScriptCore:
While increasing MAX_ARRAY_BUFFER_SIZE to 4GB was easy, it was not remotely the only thing required to get this to work:
- 4GB is not representable in a uint32_t, so I changed all length of ArrayBuffer/TypedArray/etc.. to being size_t.
- This also required changing NewTypedArray in all of LLInt/Baseline/DFG/FTL to accept a non-int32 size.
In order to avoid performance regressions, I had to add speculation in the DFG/FTL, which now have two versions of NewTypedArray (one that takes an Int32 and one that takes a StrictInt52)
- Similarly, GetArrayLength and GetTypedArrayByteOffset now can either return an Int32 or a larger number.
I also had to split them in the DFG/FTL, see GetTypedArrayLengthAsInt52 and GetTypedArrayByteOffsetAsInt52 for examples
- In turns, I had to add CheckInBoundsInt52 since CheckInBounds could not accept the result of GetTypedArrayLengthAsInt52
- I modified the runtime functions for GetByVal/PutByVal/DataViewGet/DataViewSet/AtomicsXXX to accept non-Int32 indices, since for {Int8/UInt8/UInt8Clamped}Array, a maximum size of 4GB implies indices > 2B.
- I added a "mayBeLargeTypedArray" bit to ArrayProfile/UnlinkedArrayProfile/DFG::ArrayMode to track whether such a non-Int32 index was seen to allow proper speculation and specialization of fast paths in the DFG/FTL.
I then updated the runtime functions used by the slow paths to correctly update it.
Unfortunately I ran out of time to add all the speculations/update all the fast paths.
So the following will have to wait for a follow-up patch:
- Accepting large indices in the fast path of GetByVal in the LLInt
- Accepting large indices in the fast paths generated by AccessCase/PolymorphicAccess
- Accepting large indices in the fast paths generated by the DFG/FTL for each of GetByVal/PutByVal/DataViewGet/DataViewSet/AtomicsXXX
The current patch is functional, it will just have dreadful performance if trying to use indices >2B in a {Int8/UInt8/UInt8Clamped}Array.
Other minor changes in this patch:
- Fixed an undefined behavior in ArrayBuffer::createInternal where memcpy could be called on nullptr (the spec explicitly bans this even when length is 0)
- Replaced some repetitive and error-prone bounds checking by calls to WTF::isSumSmallerThanOrEqual, which is clearer, shorter, and reuse CheckedArithmetic facilities to avoid overflow issues.
- Fixed a variety of obsolete comments
- Added support for branch64(RelationalCondition cond, RegisterID left, Imm64 right)
(there was already support for the same but with TrustedImm64)
- Made various AbstractMacroAssembler function constexpr as part of the previous point
- assembler/AbstractMacroAssembler.cpp:
- assembler/AbstractMacroAssembler.h:
(JSC::AbstractMacroAssembler::TrustedImmPtr::TrustedImmPtr):
(JSC::AbstractMacroAssembler::TrustedImmPtr::asIntptr):
(JSC::AbstractMacroAssembler::TrustedImmPtr::asPtr):
(JSC::AbstractMacroAssembler::ImmPtr::ImmPtr):
(JSC::AbstractMacroAssembler::ImmPtr::asTrustedImmPtr):
(JSC::AbstractMacroAssembler::TrustedImm32::TrustedImm32):
(JSC::AbstractMacroAssembler::Imm32::Imm32):
(JSC::AbstractMacroAssembler::Imm32::asTrustedImm32 const):
(JSC::AbstractMacroAssembler::TrustedImm64::TrustedImm64):
(JSC::AbstractMacroAssembler::Imm64::Imm64):
(JSC::AbstractMacroAssembler::Imm64::asTrustedImm64 const):
(JSC::AbstractMacroAssembler::canBlind):
(JSC::AbstractMacroAssembler::shouldBlindForSpecificArch):
- assembler/MacroAssembler.h:
(JSC::MacroAssembler::branch64):
- assembler/MacroAssemblerARM64.h:
(JSC::MacroAssemblerARM64::shouldBlindForSpecificArch):
(JSC::MacroAssemblerARM64::branch64):
- assembler/MacroAssemblerARM64E.h:
(JSC::MacroAssemblerARM64E::untagArrayPtrLength64):
(JSC::MacroAssemblerARM64E::untagArrayPtrLength32): Deleted.
- assembler/MacroAssemblerX86Common.h:
(JSC::MacroAssemblerX86Common::canBlind):
(JSC::MacroAssemblerX86Common::shouldBlindForSpecificArch):
- bytecode/AccessCase.cpp:
(JSC::AccessCase::needsScratchFPR const):
(JSC::AccessCase::generateWithGuard):
- bytecode/ArrayProfile.h:
(JSC::ArrayProfile::setMayBeLargeTypedArray):
(JSC::ArrayProfile::mayBeLargeTypedArray const):
(JSC::UnlinkedArrayProfile::UnlinkedArrayProfile):
(JSC::UnlinkedArrayProfile::update):
- dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
- dfg/DFGArgumentsEliminationPhase.cpp:
- dfg/DFGArrayMode.cpp:
(JSC::DFG::ArrayMode::refine const):
- dfg/DFGArrayMode.h:
(JSC::DFG::ArrayMode::ArrayMode):
(JSC::DFG::ArrayMode::mayBeLargeTypedArray const):
(JSC::DFG::ArrayMode::withType const):
(JSC::DFG::ArrayMode::withSpeculation const):
(JSC::DFG::ArrayMode::withConversion const):
(JSC::DFG::ArrayMode::withTypeAndConversion const):
(JSC::DFG::ArrayMode::withArrayClassAndSpeculationAndMayBeLargeTypedArray const):
(JSC::DFG::ArrayMode::speculationFromProfile):
(JSC::DFG::ArrayMode::withSpeculationFromProfile const):
(JSC::DFG::ArrayMode::withProfile const):
(JSC::DFG::ArrayMode::operator== const):
(JSC::DFG::ArrayMode::withArrayClass const): Deleted.
- dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::handleIntrinsicGetter):
- dfg/DFGClobberize.h:
(JSC::DFG::clobberize):
- dfg/DFGCommon.h:
(JSC::DFG::enableInt52):
- dfg/DFGConstantFoldingPhase.cpp:
(JSC::DFG::ConstantFoldingPhase::foldConstants):
- dfg/DFGDoesGC.cpp:
(JSC::DFG::doesGC):
- dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupNode):
(JSC::DFG::FixupPhase::convertToGetArrayLength):
(JSC::DFG::FixupPhase::prependGetArrayLength): Deleted.
- dfg/DFGGenerationInfo.h:
- dfg/DFGHeapLocation.cpp:
(WTF::printInternal):
- dfg/DFGHeapLocation.h:
- dfg/DFGIntegerRangeOptimizationPhase.cpp:
- dfg/DFGNode.h:
(JSC::DFG::Node::hasStorageChild const):
(JSC::DFG::Node::storageChildIndex):
(JSC::DFG::Node::hasArrayMode):
- dfg/DFGNodeType.h:
- dfg/DFGOperations.cpp:
(JSC::DFG::putByVal):
(JSC::DFG::newTypedArrayWithSize):
(JSC::DFG::JSC_DEFINE_JIT_OPERATION):
- dfg/DFGOperations.h:
- dfg/DFGPredictionPropagationPhase.cpp:
- dfg/DFGSSALoweringPhase.cpp:
(JSC::DFG::SSALoweringPhase::handleNode):
(JSC::DFG::SSALoweringPhase::lowerBoundsCheck):
- dfg/DFGSafeToExecute.h:
(JSC::DFG::safeToExecute):
- dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::jumpForTypedArrayOutOfBounds):
(JSC::DFG::SpeculativeJIT::emitTypedArrayBoundsCheck):
(JSC::DFG::SpeculativeJIT::compileGetByValOnIntTypedArray):
(JSC::DFG::SpeculativeJIT::compilePutByValForIntTypedArray):
(JSC::DFG::SpeculativeJIT::compileGetByValOnFloatTypedArray):
(JSC::DFG::SpeculativeJIT::compilePutByValForFloatTypedArray):
(JSC::DFG::SpeculativeJIT::cageTypedArrayStorage):
(JSC::DFG::SpeculativeJIT::compileGetTypedArrayByteOffset):
(JSC::DFG::SpeculativeJIT::compileGetArrayLength):
(JSC::DFG::SpeculativeJIT::compileNewTypedArrayWithSize):
(JSC::DFG::SpeculativeJIT::emitNewTypedArrayWithSizeInRegister):
(JSC::DFG::SpeculativeJIT::compileNewTypedArray):
- dfg/DFGSpeculativeJIT.h:
- dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compileGetByVal):
(JSC::DFG::SpeculativeJIT::compile):
- dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compileNewTypedArrayWithInt52Size):
(JSC::DFG::SpeculativeJIT::compileGetTypedArrayLengthAsInt52):
(JSC::DFG::SpeculativeJIT::compileGetTypedArrayByteOffsetAsInt52):
(JSC::DFG::SpeculativeJIT::compile):
- dfg/DFGTypeCheckHoistingPhase.cpp:
(JSC::DFG::TypeCheckHoistingPhase::identifyRedundantStructureChecks):
(JSC::DFG::TypeCheckHoistingPhase::identifyRedundantArrayChecks):
- dfg/DFGValidate.cpp:
- ftl/FTLCapabilities.cpp:
(JSC::FTL::canCompile):
- ftl/FTLLowerDFGToB3.cpp:
(JSC::FTL::DFG::LowerDFGToB3::validateAIState):
(JSC::FTL::DFG::LowerDFGToB3::compileNode):
(JSC::FTL::DFG::LowerDFGToB3::emitGetTypedArrayByteOffsetExceptSettingResult):
(JSC::FTL::DFG::LowerDFGToB3::compileGetTypedArrayByteOffset):
(JSC::FTL::DFG::LowerDFGToB3::compileGetTypedArrayByteOffsetAsInt52):
(JSC::FTL::DFG::LowerDFGToB3::compileGetArrayLength):
(JSC::FTL::DFG::LowerDFGToB3::compileGetTypedArrayLengthAsInt52):
(JSC::FTL::DFG::LowerDFGToB3::compileCheckInBoundsInt52):
(JSC::FTL::DFG::LowerDFGToB3::compilePutByVal):
(JSC::FTL::DFG::LowerDFGToB3::compileNewTypedArray):
(JSC::FTL::DFG::LowerDFGToB3::emitNewTypedArrayWithSize):
(JSC::FTL::DFG::LowerDFGToB3::compileCompareStrictEq):
- ftl/FTLOutput.h:
(JSC::FTL::Output::load64NonNegative):
- jit/IntrinsicEmitter.cpp:
(JSC::IntrinsicGetterAccessCase::emitIntrinsicGetter):
- jit/JITOperations.cpp:
(JSC::putByVal):
(JSC::getByVal):
- llint/LLIntOfflineAsmConfig.h:
- llint/LLIntSlowPaths.cpp:
(JSC::LLInt::getByVal):
(JSC::LLInt::LLINT_SLOW_PATH_DECL):
- llint/LowLevelInterpreter.asm:
- llint/LowLevelInterpreter32_64.asm:
- llint/LowLevelInterpreter64.asm:
- runtime/ArrayBuffer.cpp:
(JSC::SharedArrayBufferContents::SharedArrayBufferContents):
(JSC::ArrayBufferContents::ArrayBufferContents):
(JSC::ArrayBufferContents::tryAllocate):
(JSC::ArrayBuffer::create):
(JSC::ArrayBuffer::createAdopted):
(JSC::ArrayBuffer::createFromBytes):
(JSC::ArrayBuffer::tryCreate):
(JSC::ArrayBuffer::createUninitialized):
(JSC::ArrayBuffer::tryCreateUninitialized):
(JSC::ArrayBuffer::createInternal):
(JSC::ArrayBuffer::clampValue):
(JSC::ArrayBuffer::clampIndex const):
(JSC::ArrayBuffer::sliceWithClampedIndex const):
- runtime/ArrayBuffer.h:
(JSC::ArrayBufferContents::sizeInBytes const):
(JSC::ArrayBuffer::byteLength const):
(JSC::ArrayBuffer::gcSizeEstimateInBytes const):
- runtime/ArrayBufferView.cpp:
(JSC::ArrayBufferView::ArrayBufferView):
- runtime/ArrayBufferView.h:
(JSC::ArrayBufferView::byteOffset const):
(JSC::ArrayBufferView::byteLength const):
(JSC::ArrayBufferView::verifyByteOffsetAlignment):
(JSC::ArrayBufferView::verifySubRangeLength):
(JSC::ArrayBufferView::clampOffsetAndNumElements):
(JSC::ArrayBufferView::setImpl):
(JSC::ArrayBufferView::setRangeImpl):
(JSC::ArrayBufferView::getRangeImpl):
(JSC::ArrayBufferView::zeroRangeImpl):
(JSC::ArrayBufferView::calculateOffsetAndLength): Deleted.
- runtime/AtomicsObject.cpp:
- runtime/DataView.cpp:
(JSC::DataView::DataView):
(JSC::DataView::create):
- runtime/DataView.h:
- runtime/GenericTypedArrayView.h:
- runtime/GenericTypedArrayViewInlines.h:
(JSC::GenericTypedArrayView<Adaptor>::GenericTypedArrayView):
(JSC::GenericTypedArrayView<Adaptor>::create):
(JSC::GenericTypedArrayView<Adaptor>::tryCreate):
(JSC::GenericTypedArrayView<Adaptor>::createUninitialized):
(JSC::GenericTypedArrayView<Adaptor>::tryCreateUninitialized):
(JSC::GenericTypedArrayView<Adaptor>::subarray const): Deleted.
- runtime/JSArrayBufferView.cpp:
(JSC::JSArrayBufferView::ConstructionContext::ConstructionContext):
(JSC::JSArrayBufferView::byteLength const):
(JSC::JSArrayBufferView::slowDownAndWasteMemory):
(JSC::JSArrayBufferView::possiblySharedImpl):
- runtime/JSArrayBufferView.h:
(JSC::JSArrayBufferView::sizeOf):
(JSC::JSArrayBufferView::ConstructionContext::length const):
(JSC::JSArrayBufferView::length const):
- runtime/JSArrayBufferViewInlines.h:
(JSC::JSArrayBufferView::byteOffsetImpl):
(JSC::JSArrayBufferView::byteOffset):
(JSC::JSArrayBufferView::byteOffsetConcurrently):
- runtime/JSCJSValue.h:
- runtime/JSCJSValueInlines.h:
(JSC::JSValue::toIndex const):
(JSC::JSValue::toTypedArrayIndex const):
- runtime/JSDataView.cpp:
(JSC::JSDataView::create):
(JSC::JSDataView::createUninitialized):
(JSC::JSDataView::set):
(JSC::JSDataView::setIndex):
- runtime/JSDataView.h:
- runtime/JSDataViewPrototype.cpp:
(JSC::getData):
(JSC::setData):
- runtime/JSGenericTypedArrayView.h:
- runtime/JSGenericTypedArrayViewConstructorInlines.h:
(JSC::constructGenericTypedArrayViewWithArguments):
(JSC::constructGenericTypedArrayViewImpl):
- runtime/JSGenericTypedArrayViewInlines.h:
(JSC::JSGenericTypedArrayView<Adaptor>::create):
(JSC::JSGenericTypedArrayView<Adaptor>::createWithFastVector):
(JSC::JSGenericTypedArrayView<Adaptor>::createUninitialized):
(JSC::JSGenericTypedArrayView<Adaptor>::validateRange):
(JSC::JSGenericTypedArrayView<Adaptor>::setWithSpecificType):
(JSC::JSGenericTypedArrayView<Adaptor>::set):
- runtime/JSObject.h:
(JSC::JSObject::putByIndexInline):
(JSC::JSObject::tryGetIndexQuickly const):
(JSC::JSObject::trySetIndexQuickly):
(JSC::JSObject::canSetIndexQuickly): Deleted.
- runtime/JSObjectInlines.h:
(JSC::JSObject::getIndexQuicklyForTypedArray const):
(JSC::JSObject::setIndexQuicklyForArrayStorageIndexingType):
(JSC::JSObject::trySetIndexQuicklyForTypedArray):
(JSC::JSObject::canSetIndexQuicklyForTypedArray const): Deleted.
- runtime/Operations.h:
(JSC::getByValWithIndex):
- wasm/WasmPageCount.h:
Source/WebCore:
Some parts of WebCore use TypedArrays, and would not build after I made the length() function on typed arrays return UCPURegister instead of uint32_t.
Most fixes were trivial, the only exception is SerializedScriptValue.cpp, where I had to increment the version number, as ArrayBuffer (and ArrayBufferViews) now write/read their length in a 64-bit field (and same for the byteOffset of ArrayBufferView).
I also had to add a test in PixelBuffer.cpp that the size of the ArrayBuffer it will try to allocate is < INT32_MAX.
Otherwise, the test LayoutTests/fast/shapes/shape-outside-floats/shape-outside-imagedata-overflow.html which checks that very large images are properly rejected without crashing, would timeout.
No new tests, as the code is already extensively covered by existing tests, and I implemented no new features.
- Modules/webaudio/AudioBuffer.cpp:
(WebCore::AudioBuffer::copyFromChannel):
(WebCore::AudioBuffer::copyToChannel):
- Modules/webaudio/RealtimeAnalyser.cpp:
(WebCore::RealtimeAnalyser::getByteFrequencyData):
(WebCore::RealtimeAnalyser::getFloatTimeDomainData):
(WebCore::RealtimeAnalyser::getByteTimeDomainData):
- bindings/js/SerializedScriptValue.cpp:
(WebCore::CloneSerializer::dumpArrayBufferView):
(WebCore::CloneSerializer::dumpImageBitmap):
(WebCore::CloneSerializer::dumpIfTerminal):
(WebCore::CloneDeserializer::readArrayBufferImpl):
(WebCore::CloneDeserializer::readArrayBuffer):
(WebCore::CloneDeserializer::readArrayBufferViewImpl):
(WebCore::CloneDeserializer::readArrayBufferView):
- bindings/js/SerializedScriptValue.h:
(WebCore::SerializedScriptValue::encode const):
(WebCore::SerializedScriptValue::decode):
- fileapi/NetworkSendQueue.cpp:
(WebCore::NetworkSendQueue::enqueue):
- platform/graphics/PixelBuffer.cpp:
(WebCore::PixelBuffer::tryCreate):
- platform/graphics/iso/ISOBox.h:
Source/WTF:
Made some of CheckedArithmetic constexpr, and added isSumSmallerThanOrEqual since it is a commonly used test in ArrayBuffer and easy to get wrong in terms of overflow.
- wtf/CheckedArithmetic.h:
(WTF::isInBounds):
(WTF::convertSafely):
(WTF::isSumSmallerThanOrEqual):
LayoutTests:
Rebaselined three following tests as different or fewer error messages appear on the console.
Also changed currentVersion in serialized-script-value.html from 9 to 10.
- fast/canvas/canvas-getImageData-invalid-result-buffer-crash-expected.txt:
- fast/storage/serialized-script-value.html:
- webaudio/OfflineAudioContext-bad-buffer-crash-expected.txt:
- webaudio/OfflineAudioContext/bad-buffer-length-expected.txt:
- 8:58 PM Changeset in webkit [284329] by
-
- 3 edits in trunk/Source/WebKit
_WKRemoteWebInspectorViewController leaks an instance variable and should use a weak delegate
<https://webkit.org/b/231830>
<rdar://problem/84316056>
Reviewed by Brent Fulgham.
- UIProcess/API/Cocoa/_WKRemoteWebInspectorViewController.h:
- Use a weak reference for the delegate.
- UIProcess/API/Cocoa/_WKRemoteWebInspectorViewController.mm:
(-[_WKRemoteWebInspectorViewController dealloc]): Add.
- Fix leak by releasing _configuration instance variable.
- 4:41 PM Changeset in webkit [284328] by
-
- 2 edits in trunk/LayoutTests
Unreviewed, revert r284181
No longer needed because the root cause was reverted.
- platform/mac-wk2/TestExpectations:
- 4:36 PM Changeset in webkit [284327] by
-
- 4 edits2 adds in trunk
[LFC][IFC] Adjust the logical left side of the line with line spanning inline boxes
https://bugs.webkit.org/show_bug.cgi?id=231851
Reviewed by Antti Koivisto.
Source/WebCore:
This is in preparation for supporting "box-decoration-break: clone", where the
line spanning inline boxes do take up some space on the line with their horizontal margin, border and padding.
Test: fast/inline/inline-box-with-left-decoration-clone.html
- layout/formattingContexts/inline/InlineLine.cpp:
(WebCore::Layout::Line::initialize):
(WebCore::Layout::Line::Run::Run):
- layout/formattingContexts/inline/InlineLine.h:
LayoutTests:
- fast/inline/inline-box-with-left-decoration-clone-expected.html: Added.
- fast/inline/inline-box-with-left-decoration-clone.html: Added.
- 4:35 PM Changeset in webkit [284326] by
-
- 8 edits2 deletes in trunk/Source
Unreviewed, reverting r284143.
Caused a series of assertions in layout tests in EWS
Reverted changeset:
"Scroll To Text Fragment directive parsing"
https://bugs.webkit.org/show_bug.cgi?id=231410
https://commits.webkit.org/r284143
- 3:32 PM Changeset in webkit [284325] by
-
- 2 edits in trunk/Source/WebKit
WebKit ignores inherited GCC_PREPROCESSOR_DEFINITIONS
https://bugs.webkit.org/show_bug.cgi?id=231867
Reviewed by Sam Weinig.
- Configurations/BaseTarget.xcconfig:
Add a $(inherited) here like in every other project, so that we don't
just drop defines that come from above.
- 3:18 PM Changeset in webkit [284324] by
-
- 2 edits in trunk
Add github username for tetsuharuohzeki to contributors.json
https://bugs.webkit.org/show_bug.cgi?id=231864
Patch by Tetsuharu Ohzeki <Tetsuharu Ohzeki> on 2021-10-16
Reviewed by Fujii Hironori.
- metadata/contributors.json:
- 2:14 PM Changeset in webkit [284323] by
-
- 9 edits in trunk/Source/WebCore
[LFC][IFC] Add "line spanning line box start items" to Line
https://bugs.webkit.org/show_bug.cgi?id=231551
Reviewed by Antti Koivisto.
This patch is in preparation for supporting box-decoration-break: clone, where the line spanning
inline boxes may take up space on the line (border/padding).
This patch moves the construction of the spanning inline boxes to an earlier step, from LineBox to Line.
- layout/formattingContexts/inline/InlineLineBuilder.cpp:
(WebCore::Layout::LineBuilder::initialize):
- 1:32 PM Changeset in webkit [284322] by
-
- 4 edits in trunk
Page zoom is messed up after navigating back from a PDF
https://bugs.webkit.org/show_bug.cgi?id=231841
<rdar://72666365>
Reviewed by Tim Horton.
Source/WebKit:
A navigation back from a PDF is a FrameLoadType::Back, so resetting
m_mainFramePluginHandlesPageScaleGesture only for FrameLoadType::Standard is wrong.
For all navigations, the plugins seem to call
pluginScaleFactorDidChange/pluginZoomFactorDidChange/
mainFramePluginHandlesPageScaleGestureDidChange so it's safe to reset them for all
navigation types.
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::didCommitLoadForFrame):
Tools:
- TestWebKitAPI/Tests/WebKitCocoa/PageZoom.mm:
(TestWebKitAPI::TEST):
- 1:16 PM Changeset in webkit [284321] by
-
- 2 edits in trunk/Source/WebKit
Unreviewed, reverting r284300.
https://bugs.webkit.org/show_bug.cgi?id=231866
broke-apple-silicon-performance
Reverted changeset:
"[macOS] Add telemetry for system calls in WP"
https://bugs.webkit.org/show_bug.cgi?id=231836
https://commits.webkit.org/r284300
- 11:37 AM Changeset in webkit [284320] by
-
- 16 edits in branches/safari-612-branch
Revert "Apply patch. rdar://problem/83953730"
This reverts commit ee910ccd94f646fb5f318a78cfd6910432830a1e.
- 11:16 AM Changeset in webkit [284319] by
-
- 2 edits in trunk/Source/WebKit
WebKit::LocalConnection::createCredentialPrivateKey leaks an NSMutableDictionary
<https://webkit.org/b/231814>
<rdar://problem/84307054>
Reviewed by Kate Cheney.
- UIProcess/WebAuthentication/Cocoa/LocalConnection.mm:
(WebKit::LocalConnection::createCredentialPrivateKey const):
- Use RetainPtr<> and adoptNS to fix the leak.
- 10:16 AM Changeset in webkit [284318] by
-
- 3 edits in trunk/LayoutTests
Undo some rebaseline in r284296.
Unreviewed.
- platform/mac-bigsur/fast/text/capitalize-boundaries-expected.txt:
- platform/mac-catalina/fast/text/capitalize-boundaries-expected.txt:
- 9:14 AM Changeset in webkit [284317] by
-
- 4 edits in trunk/Source/WebCore
[LFC][IFC] Move overflowing content creation to LineBuilder::initialize
https://bugs.webkit.org/show_bug.cgi?id=231540
Reviewed by Antti Koivisto.
LineBuilder::initialize is going to handle all overflowing content initialization.
This is in preparation for adding spanning inline box items to the line (to support box-decoration-break: clone).
- layout/formattingContexts/inline/InlineLineBuilder.cpp:
(WebCore::Layout::LineBuilder::layoutInlineContent):
(WebCore::Layout::LineBuilder::computedIntrinsicWidth):
(WebCore::Layout::LineBuilder::initialize):
(WebCore::Layout::LineBuilder::placeInlineContent):
(WebCore::Layout::LineBuilder::candidateContentForLine):
- layout/formattingContexts/inline/InlineLineBuilder.h:
- layout/formattingContexts/inline/InlineTextItem.h:
(WebCore::Layout::InlineTextItem::right const):
- 7:55 AM Changeset in webkit [284316] by
-
- 2 edits in trunk
Add my github username to contributors.json
https://bugs.webkit.org/show_bug.cgi?id=231861
Unreviewed.
- metadata/contributors.json:
- 5:39 AM Changeset in webkit [284315] by
-
- 7 edits in trunk/Source/WebCore
Use inline iterator for SVG reverse BiDI reordering
https://bugs.webkit.org/show_bug.cgi?id=231858
Reviewed by Alan Bujtas.
Share code.
- layout/integration/InlineIteratorLogicalOrderTraversal.cpp:
(WebCore::InlineIterator::makeLineLogicalOrderCache):
(WebCore::InlineIterator::nextLeafOnLineInLogicalOrder):
(WebCore::InlineIterator::previousLeafOnLineInLogicalOrder):
No need to test for the cache, it is always there.
- layout/integration/InlineIteratorLogicalOrderTraversal.h:
(WebCore::InlineIterator::leafBoxesInLogicalOrder):
Make template and move to header.
- rendering/LegacyInlineFlowBox.cpp:
(WebCore::LegacyInlineFlowBox::collectLeafBoxesInLogicalOrder const): Deleted.
Not needed anymore.
- rendering/LegacyInlineFlowBox.h:
- rendering/svg/SVGRootInlineBox.cpp:
(WebCore::SVGRootInlineBox::computePerCharacterLayoutInformation):
(WebCore::reverseInlineBoxRangeAndValueListsIfNeeded):
(WebCore::SVGRootInlineBox::reorderValueListsToLogicalOrder):
(WebCore::SVGRootInlineBox::reorderValueLists): Deleted.
Call the generic version.
- rendering/svg/SVGRootInlineBox.h:
- 3:35 AM Changeset in webkit [284314] by
-
- 3 edits2 adds in trunk
Make sure child layers of top layer elements are rendered and correctly z-ordered (top-layer-stacking.html fails)
https://bugs.webkit.org/show_bug.cgi?id=231832
Reviewed by Antoine Quint.
Source/WebCore:
Top layer elements should create CSS stacking context, per https://fullscreen.spec.whatwg.org/#rendering
I decided to call isInTopLayerOrBackdrop() twice to avoid calling it every time this function
is called. It's a cheap function.
Test: fast/layers/dialog-is-stacking-context.html
- style/StyleAdjuster.cpp:
(WebCore::Style::Adjuster::adjust const):
LayoutTests:
Ref test that compares a dialog with positioned children and one with children place
with margins.
- fast/layers/dialog-is-stacking-context-expected.html: Added.
- fast/layers/dialog-is-stacking-context.html: Added.
- 3:22 AM Changeset in webkit [284313] by
-
- 6 edits in trunk
Accelerated animations on ::backdrop shouldn't affect <dialog> (backdrop-animate-002.html fails)
https://bugs.webkit.org/show_bug.cgi?id=230008
<rdar://problem/82975766>
Reviewed by Simon Fraser and Tim Nguyen.
Source/WebCore:
We did not know how to access the ::backdrop renderer when running accelerated animations. To do so we now
implement full support to access the renderer for known pseudo-elements on Styleable with a new renderer()
method, including ::backdrop. We also make Styleable::fromRenderer() aware of ::backdrop such that the various
call sites for this function that deal with accelerated transform animations access the right element.
- animation/KeyframeEffect.cpp:
(WebCore::KeyframeEffect::renderer const):
- style/Styleable.cpp:
(WebCore::Styleable::fromRenderer):
(WebCore::Styleable::renderer const):
- style/Styleable.h:
(WebCore::Styleable::fromRenderer): Deleted.
LayoutTests:
- TestExpectations: Mark the previously failing test as passing.
- 3:16 AM Changeset in webkit [284312] by
-
- 8 edits2 adds in trunk
CSS Animations creation and sorting is incorrect and may lead to crash
https://bugs.webkit.org/show_bug.cgi?id=231812
<rdar://problem/82980774>
Reviewed by Dean Jackson.
LayoutTests/imported/w3c:
Mark two progressions in a test that now passes entirely.
- web-platform-tests/css/css-animations/Element-getAnimations-dynamic-changes.tentative-expected.txt:
Source/WebCore:
When we parse CSS properties related to CSS Animations, we create as many Animation objects as the maximum number
of values in one of the CSS Animations properties. These Animation objects are stored in an AnimationList which
is owned by RenderStyle and that we use to store all provided values such that they can be read back through the
computed style.
Upon finishing parsing those CSS properties, RenderStyle::adjustAnimations() is called and does two things that
were not quite correct.
First, it would attempt to remove animations that were in fact created for no good reason using the
Animation::isEmpty() method. That method was not quite right as it was only checking if the animation
name wasn't set but not whether the animation was explicitly marked as a "none" animation. This meant
that "none" animations could be considered as bogus animations and any animations after that one would
be mistakenly cleared.
Second, it would finish process the list of remaning animations by making sure that mis-matched CSS properties,
for instance three values for animation-duration and four values for animation-name, would be correctly represented
throughout the Animation objects. However, the function performing this work, AnimationList::fillUnsetProperties(),
used to reset the animation's name in case it wasn't explicitly set, which meant that Animation objects that did not
have a matching animation-name would end up with a valid one. This meant that further down the line, in
Styleable::updateCSSAnimations(), we couldn't distinguish Animation objects that were created without a
matching animation-name and discard those.
We've fixed those incorrect behaviors and we now have the expected number of animations created resulting in an additional
WPT PASS result.
Additionally, this also showed some issues around sorting CSS Animations in compareCSSAnimations() where we weren't
making a pointer comparison. This is now fixed and we now pass another WPT PASS result.
Test: webanimations/css-animation-sorting-crash.html
- animation/WebAnimationUtilities.cpp:
(WebCore::compareCSSAnimations):
- platform/animation/Animation.h:
(WebCore::Animation::isEmpty const):
- platform/animation/AnimationList.cpp:
(WebCore::AnimationList::fillUnsetProperties):
LayoutTests:
Add a new test that used to crash before the source change.
- animations/animation-remove-element-crash.html: Remove a line that was now a failure since only a
single animation should be created.
- webanimations/css-animation-sorting-crash-expected.txt: Added.
- webanimations/css-animation-sorting-crash.html: Added.
- 2:07 AM Changeset in webkit [284311] by
-
- 2 edits in trunk/Source/WebKit
[GTK4] Update signal name to monitor window resize
https://bugs.webkit.org/show_bug.cgi?id=231854
Reviewed by Carlos Garcia Campos.
Using size-changed (previous signal name) makes the MiniBrowser crash
running the WebDriver tests.
The signal name was changed in
https://gitlab.gnome.org/GNOME/gtk/-/commit/b7380543449ea679a2c912b66aab4855b2bb41f2,
as part of GTK 3.99.5.
Covered by existing tests.
- UIProcess/API/glib/WebKitUIClient.cpp:
- 1:22 AM Changeset in webkit [284310] by
-
- 2 edits in trunk
Add github username for myself
https://bugs.webkit.org/show_bug.cgi?id=231857
Reviewed by Yusuke Suzuki.
- metadata/contributors.json:
- 12:58 AM Changeset in webkit [284309] by
-
- 2 edits in trunk/Source/bmalloc
Unreviewed, reverting r284305.
https://bugs.webkit.org/show_bug.cgi?id=231859
webaudio-tests
Reverted changeset:
"[libpas] Enable libpas on macOS"
https://bugs.webkit.org/show_bug.cgi?id=231815
https://commits.webkit.org/r284305
Oct 15, 2021:
- 11:14 PM Changeset in webkit [284308] by
-
- 37 edits10 copies2 adds in branches/safari-612-branch
Apply patch rdar://83952929
- 11:02 PM Changeset in webkit [284307] by
-
- 16 edits in branches/safari-612-branch
Apply patch. rdar://problem/83953730
- 10:31 PM Changeset in webkit [284306] by
-
- 9 edits in trunk
Add flag to turn off Iso heap
https://bugs.webkit.org/show_bug.cgi?id=231823
Reviewed by Yusuke Suzuki.
.:
Added USE_ISO_MALLOC feature flags which is on by default for most platforms.
- Source/cmake/OptionsPlayStation.cmake:
- Source/cmake/WebKitFeatures.cmake:
Source/WTF:
If this flag is off, then all allocations are replaced with FastMalloc.
- wtf/IsoMalloc.h:
- wtf/IsoMallocInlines.h:
- wtf/PlatformUse.h:
Tools:
Added --(no-)iso-malloc feature flag for cmake build.
- Scripts/webkitperl/FeatureList.pm:
- 9:38 PM Changeset in webkit [284305] by
-
- 2 edits in trunk/Source/bmalloc
[libpas] Enable libpas on macOS
https://bugs.webkit.org/show_bug.cgi?id=231815
Reviewed by Saam Barati.
Enabling libpas on x64 macOS. Previously, we enabled it only on AppleSilicon.
This helps stressing libpas on fuzzers more. And it offers large performance
improvement.
- Speedometer2 is 2.1% improved on low-end macOS (MBA8,2) and 1.7% improved on high-end macOS (MBP14,1).
- JetStream2 is neutral on both.
- bmalloc/BPlatform.h:
- 9:11 PM Changeset in webkit [284304] by
-
- 6 edits in trunk
Start using adattributiond on iOS
https://bugs.webkit.org/show_bug.cgi?id=231829
Reviewed by Brady Eidson.
Source/WebKit:
This makes one small change to use adattributiond on iOS by default instead of the network process.
The rest of this patch is to keep the tests doing what they used to.
- UIProcess/API/C/WKWebsiteDataStoreConfigurationRef.cpp:
(WKWebsiteDataStoreConfigurationCopyPCMMachServiceName):
(WKWebsiteDataStoreConfigurationSetPCMMachServiceName):
- UIProcess/API/C/WKWebsiteDataStoreConfigurationRef.h:
- UIProcess/WebsiteData/WebsiteDataStoreConfiguration.cpp:
(WebKit::WebsiteDataStoreConfiguration::WebsiteDataStoreConfiguration):
Tools:
- TestWebKitAPI/Tests/WebKitCocoa/EventAttribution.mm:
(TestWebKitAPI::configurationWithoutUsingDaemon):
(TestWebKitAPI::webViewWithoutUsingDaemon):
(TestWebKitAPI::runBasicPCMTest):
(TestWebKitAPI::TEST):
- TestWebKitAPI/Tests/WebKitCocoa/PrivateClickMeasurement.mm:
(webViewWithResourceLoadStatisticsEnabledInNetworkProcess):
- WebKitTestRunner/TestController.cpp:
(WTR::TestController::configureWebsiteDataStoreTemporaryDirectories):
- 8:17 PM Changeset in webkit [284303] by
-
- 16 edits in trunk
[LFC][Integration] Enable inline boxes with borders
https://bugs.webkit.org/show_bug.cgi?id=231562
Reviewed by Alan Bujtas.
Source/WebCore:
- layout/integration/LayoutIntegrationCoverage.cpp:
(WebCore::LayoutIntegration::printReason):
(WebCore::LayoutIntegration::canUseForRenderInlineChild):
- layout/integration/LayoutIntegrationCoverage.h:
LayoutTests:
- fast/css/pseudo-first-line-border-width-expected.txt:
- fast/text/apply-start-width-after-skipped-text-expected.txt:
- platform/ios/fast/borders/border-image-outset-split-inline-expected.txt:
- platform/ios/fast/css/pseudo-first-line-border-width-expected.txt:
- platform/mac/fast/borders/border-image-outset-split-inline-expected.txt:
- platform/mac/fast/text/basic/015-expected.txt:
- 8:03 PM Changeset in webkit [284302] by
-
- 4 edits in trunk/Source/WebCore
Rename some keyboard-scrolling-related functions on ScrollingEffectsController for clarity
https://bugs.webkit.org/show_bug.cgi?id=231842
Reviewed by Beth Dakin.
Rename beginKeyboardScrolling/stopKeyboardScrolling to willBegin and didStop to make
it clear that they are responding to KeyboardScrollingAnimator state changes.
Add the imperative ScrollingEffectsController::stopKeyboardScrolling() which will get
hooked up soon.
- platform/KeyboardScrollingAnimator.cpp:
(WebCore::KeyboardScrollingAnimator::updateKeyboardScrollPosition):
(WebCore::KeyboardScrollingAnimator::beginKeyboardScrollGesture):
- platform/ScrollingEffectsController.cpp:
(WebCore::ScrollingEffectsController::willBeginKeyboardScrolling):
(WebCore::ScrollingEffectsController::didStopKeyboardScrolling):
(WebCore::ScrollingEffectsController::stopKeyboardScrolling):
(WebCore::ScrollingEffectsController::beginKeyboardScrolling): Deleted.
- platform/ScrollingEffectsController.h:
- 7:59 PM Changeset in webkit [284301] by
-
- 13 edits in trunk
Use attributedBundleIdentifier instead of applicationBundleIdentifier when present for handling PCM attribution
https://bugs.webkit.org/show_bug.cgi?id=231827
Reviewed by Brady Eidson.
Source/WebKit:
This is the same identifier that SafariViewController uses in _setEphemeralUIEventAttribution:forApplicationWithBundleID:
If we don't do this, then SafariViewController looks in the database for PCMs from com.apple.SafariViewService and doesn't find any and doesn't send any reports.
- NetworkProcess/NetworkDataTask.cpp:
(WebKit::NetworkDataTask::attributedBundleIdentifier):
- NetworkProcess/NetworkDataTask.h:
- NetworkProcess/NetworkLoad.cpp:
(WebKit::NetworkLoad::attributedBundleIdentifier):
- NetworkProcess/NetworkLoad.h:
- NetworkProcess/NetworkResourceLoader.cpp:
(WebKit::NetworkResourceLoader::continueWillSendRedirectedRequest):
- NetworkProcess/NetworkResourceLoader.h:
- NetworkProcess/NetworkSession.cpp:
(WebKit::NetworkSession::handlePrivateClickMeasurementConversion):
- NetworkProcess/NetworkSession.h:
- UIProcess/API/Cocoa/WKWebViewPrivateForTesting.h:
- UIProcess/API/Cocoa/WKWebViewTesting.mm:
(-[WKWebView _addEventAttributionWithSourceID:destinationURL:sourceDescription:purchaser:reportEndpoint:optionalNonce:applicationBundleID:ephemeral:]):
(-[WKWebView _addEventAttributionWithSourceID:destinationURL:sourceDescription:purchaser:reportEndpoint:optionalNonce:applicationBundleID:]): Deleted.
Tools:
- TestWebKitAPI/Tests/WebKitCocoa/EventAttribution.mm:
(TestWebKitAPI::runBasicPCMTest):
(TestWebKitAPI::TEST):
- 6:43 PM Changeset in webkit [284300] by
-
- 2 edits in trunk/Source/WebKit
[macOS] Add telemetry for system calls in WP
https://bugs.webkit.org/show_bug.cgi?id=231836
<rdar://problem/84317842>
Reviewed by Brent Fulgham.
Add telemetry for system calls in WP to understand in which context they are being used.
- WebProcess/com.apple.WebProcess.sb.in:
- 5:49 PM Changeset in webkit [284299] by
-
- 4 edits2 deletes in trunk
Unreviewed, reverting r284245.
https://bugs.webkit.org/show_bug.cgi?id=231848
Caused
Reverted changeset:
"AX: WebKit should not expose redundant AXGroups with missing
role when the label is the same as the contents"
https://bugs.webkit.org/show_bug.cgi?id=169924
https://commits.webkit.org/r284245
- 5:44 PM Changeset in webkit [284298] by
-
- 20 edits in trunk
Realize Mac CMake build of WebCore and WebKit
https://bugs.webkit.org/show_bug.cgi?id=231749
Reviewed by Alex Christensen.
.:
- Source/cmake/OptionsMac.cmake:
- Source/cmake/WebKitMacros.cmake:
Source/JavaScriptCore:
- PlatformMac.cmake:
- shell/PlatformMac.cmake:
Source/ThirdParty/ANGLE:
- Compiler.cmake:
Source/WebCore:
- CMakeLists.txt:
- PlatformMac.cmake:
Source/WebCore/PAL:
- pal/PlatformMac.cmake:
Source/WebKit:
- CMakeLists.txt:
- PlatformMac.cmake:
Source/WTF:
- wtf/PlatformMac.cmake:
Tools:
- PlatformMac.cmake:
- 5:44 PM Changeset in webkit [284297] by
-
- 2 edits in trunk/LayoutTests
REBASELINE: fast/text/capitalize-boundaries.html is a constant text failure
https://bugs.webkit.org/show_bug.cgi?id=228200
Uneviewed tes gardening/Removal of no longer needed expectation.
- platform/ios-wk2/TestExpectations:
- 5:39 PM Changeset in webkit [284296] by
-
- 5 edits in trunk/LayoutTests
REBASELINE: fast/text/capitalize-boundaries.html is a constant text failure
https://bugs.webkit.org/show_bug.cgi?id=228200
Unreviewed test gardening/rebase.
- platform/ios-wk2/fast/text/capitalize-boundaries-expected.txt:
- platform/mac-bigsur/fast/text/capitalize-boundaries-expected.txt:
- platform/mac-catalina/fast/text/capitalize-boundaries-expected.txt:
- platform/mac/fast/text/capitalize-boundaries-expected.png: Added.
- platform/mac/fast/text/capitalize-boundaries-expected.txt:
- 5:34 PM Changeset in webkit [284295] by
-
- 22 edits2 moves4 adds in trunk/Source
[iOS] Support getDisplayMedia
https://bugs.webkit.org/show_bug.cgi?id=231455
<rdar://problem/84044495>
Reviewed by Youenn Fablet and Jer Noble.
Source/WebCore:
Implement screen capture for iOS using ReplayKit. ReplayKit only captures when the
host application is in the foreground, so the MediaStream track is muted when the
app is backgrounded.
getDisplayMedia availability to JavaScript is controlled by the
ScreenCaptureEnabled
setting, which is disabled by default on iOS.
I haven't figured out how to test this automatically yet because ReplayKit always
shows its own modal user prompt before it allows capture to begin.
- SourcesCocoa.txt: Add ReplayKitCaptureSource.mm. Rename DisplayCaptureSourceMac.cpp
to DisplayCaptureSourceCocoa.cpp.
- WebCore.xcodeproj/project.pbxproj: Add new files.
- en.lproj/Localizable.strings: Add localizable strings for getDisplayMedia prompt.
- platform/graphics/cv/ImageTransferSessionVT.h:
- platform/graphics/cv/ImageTransferSessionVT.mm:
(WebCore::ImageTransferSessionVT::convertCMSampleBuffer): Add an optional MediaTime parameter.
(WebCore::ImageTransferSessionVT::createMediaSample): Add a MediaTime parameter.
- platform/mediastream/ios/ReplayKitCaptureSource.h: Added.
- platform/mediastream/ios/ReplayKitCaptureSource.mm: Added.
(-[WebCoreReplayKitScreenRecorderHelper initWithCallback:]):
(-[WebCoreReplayKitScreenRecorderHelper disconnect]):
(-[WebCoreReplayKitScreenRecorderHelper observeValueForKeyPath:ofObject:change:context:]):
(WebCore::ReplayKitCaptureSource::isAvailable): Check ReplayKit availability.
(WebCore::ReplayKitCaptureSource::create):
(WebCore::ReplayKitCaptureSource::ReplayKitCaptureSource):
(WebCore::ReplayKitCaptureSource::~ReplayKitCaptureSource):
(WebCore::ReplayKitCaptureSource::start): Start screen capture only.
(WebCore::ReplayKitCaptureSource::screenRecorderDidOutputVideoSample): Retain the
the new frame, set intrinsic size to the image size.
(WebCore::ReplayKitCaptureSource::captureStateDidChange): Update observer if interruption
state or recorder state changes so it can update the track's 'muted' state.
(WebCore::ReplayKitCaptureSource::stop): Stop capture.
(WebCore::ReplayKitCaptureSource::generateFrame):
(WebCore::ReplayKitCaptureSource::verifyCaptureIsActive): ReplayKit doesn't notify
when capture is paused, so watch for changes by monitoring the frame count.
(WebCore::ReplayKitCaptureSource::startCaptureWatchdogTimer): Start the timer that
will monitor for capture pausing/resuming.
(WebCore::screenDeviceUUID):
(WebCore::screenDevice):
(WebCore::ReplayKitCaptureSource::screenCaptureDeviceWithPersistentID):
(WebCore::ReplayKitCaptureSource::screenCaptureDevices):
- platform/mediastream/mac/CGDisplayStreamCaptureSource.cpp:
(WebCore::CGDisplayStreamCaptureSource::generateFrame): DisplayCaptureSourceMac was
renamed DisplayCaptureSourceCocoa.
(WebCore::CGDisplayStreamCaptureSource::newFrame): Take a RetainPtr<IOSurfaceRef>
instead of a DisplaySurface.
(WebCore::CGDisplayStreamCaptureSource::frameAvailableHandler): Ditto.
- platform/mediastream/mac/CGDisplayStreamCaptureSource.h:
(WebCore::CGDisplayStreamCaptureSource::DisplaySurface::DisplaySurface): Deleted.
(WebCore::CGDisplayStreamCaptureSource::DisplaySurface::~DisplaySurface): Deleted.
(WebCore::CGDisplayStreamCaptureSource::DisplaySurface::operator=): Deleted.
(WebCore::CGDisplayStreamCaptureSource::DisplaySurface::ioSurface const): Deleted.
- platform/mediastream/mac/CGDisplayStreamScreenCaptureSource.h:
- platform/mediastream/mac/CGDisplayStreamScreenCaptureSource.mm:
(WebCore::CGDisplayStreamScreenCaptureSource::create): DisplayCaptureSourceMac was
renamed DisplayCaptureSourceCocoa.
- platform/mediastream/mac/DisplayCaptureManagerCocoa.cpp:
(WebCore::DisplayCaptureManagerCocoa::updateDisplayCaptureDevices): Use
ReplayKitCaptureSource on iOS.
- platform/mediastream/mac/DisplayCaptureSourceCocoa.cpp: Renamed from Source/WebCore/platform/mediastream/mac/DisplayCaptureSourceMac.cpp.
(WebCore::DisplayCaptureSourceCocoa::create):
(WebCore::DisplayCaptureSourceCocoa::DisplayCaptureSourceCocoa):
(WebCore::DisplayCaptureSourceCocoa::~DisplayCaptureSourceCocoa):
(WebCore::DisplayCaptureSourceCocoa::capabilities):
(WebCore::DisplayCaptureSourceCocoa::settings):
(WebCore::DisplayCaptureSourceCocoa::settingsDidChange):
(WebCore::DisplayCaptureSourceCocoa::startProducingData):
(WebCore::DisplayCaptureSourceCocoa::stopProducingData):
(WebCore::DisplayCaptureSourceCocoa::elapsedTime):
(WebCore::DisplayCaptureSourceCocoa::updateFrameSize):
(WebCore::DisplayCaptureSourceCocoa::emitFrame): Support capturer returning a CMSampleBuffer.
(WebCore::DisplayCaptureSourceCocoa::setLogger):
(WebCore::DisplayCaptureSourceCocoa::Capturer::setLogger): Set the capturer's logger.
(WebCore::DisplayCaptureSourceCocoa::Capturer::logChannel const):
(WebCore::DisplayCaptureSourceCocoa::Capturer::Observer::~Observer):
(WebCore::DisplayCaptureSourceCocoa::Capturer::setObserver):
(WebCore::DisplayCaptureSourceCocoa::Capturer::capturerIsRunningChanged):
- platform/mediastream/mac/DisplayCaptureSourceCocoa.h: Renamed from Source/WebCore/platform/mediastream/mac/DisplayCaptureSourceMac.h.
- platform/mediastream/mac/RealtimeMediaSourceCenterMac.cpp:
(WebCore::DisplayCaptureSourceFactoryMac::createDisplayCaptureSource): DisplayCaptureSourceMac
renamed to DisplayCaptureSourceCocoa.
- platform/mock/MockRealtimeMediaSourceCenter.cpp:
(WebCore::MockDisplayCapturer::generateFrame): Ditto.
Source/WebCore/PAL:
- PAL.xcodeproj/project.pbxproj:
- pal/ios/ReplayKitSoftLink.h: Added.
- pal/ios/ReplayKitSoftLink.mm: Added.
Source/WebKit:
- UIProcess/Cocoa/MediaPermissionUtilities.mm:
(WebKit::alertMessageText): Add text for default screen capture prompt.
(WebKit::allowButtonText): Ditto.
(WebKit::doNotAllowButtonText): Ditto.
- UIProcess/Cocoa/UIDelegate.mm:
(WebKit::UIDelegate::UIClient::decidePolicyForUserMediaPermissionRequest): Call
default getDisplayMedia prompt if the delegate doesn't implement the private
prompt selector.
- UIProcess/MediaPermissionUtilities.h:
- UIProcess/UserMediaPermissionRequestProxy.cpp:
(WebKit::UserMediaPermissionRequestProxy::promptForGetDisplayMedia): New default
getDisplayMedia prompt.
(WebKit::UserMediaPermissionRequestProxy::promptForGetUserMedia):
(WebKit::UserMediaPermissionRequestProxy::doDefaultAction): Call promptForGetDisplayMedia
or promptForGetUserMedia according to the request type.
(WebKit::UserMediaPermissionRequestProxy::canPromptForGetDisplayMedia):
(WebKit::UserMediaPermissionRequestProxy::prompt): Deleted.
- UIProcess/UserMediaPermissionRequestProxy.h:
(WebKit::UserMediaPermissionRequestProxy::doDefaultAction): Deleted.
- 5:00 PM Changeset in webkit [284294] by
-
- 5 edits in trunk/Source/WebKit
[iOS] Screen Sharing doesn't switch to AirPlay when <video> enters fullscreen mode
https://bugs.webkit.org/show_bug.cgi?id=231807
<rdar://82995799>
Reviewed by Eric Carlson.
WebKit will allow AVPlayer to switch to AirPlay Video mode from Screen Sharing when a
<video> element is in fullscreen mode. However, the fullscreen state this code depends on
is not stored in the GPU process.
Implement RemoteMediaPlayerProxy::mediaPlayerFullscreenMode()
and ::mediaPlayerIsVideoFullscreenStandby().
- GPUProcess/media/RemoteMediaPlayerProxy.cpp:
(WebKit::RemoteMediaPlayerProxy::setVideoFullscreenMode):
(WebKit::RemoteMediaPlayerProxy::videoFullscreenStandbyChanged):
(WebKit::RemoteMediaPlayerProxy::mediaPlayerFullscreenMode const):
(WebKit::RemoteMediaPlayerProxy::mediaPlayerIsVideoFullscreenStandby const):
- GPUProcess/media/RemoteMediaPlayerProxy.h:
- GPUProcess/media/RemoteMediaPlayerProxy.messages.in:
- WebProcess/GPU/media/MediaPlayerPrivateRemote.cpp:
(WebKit::MediaPlayerPrivateRemote::videoFullscreenStandbyChanged):
- 4:57 PM Changeset in webkit [284293] by
-
- 2 edits in trunk/Source/ThirdParty/ANGLE
REGRESSION (r283667): webgl/2.0.0/deqp/functional/gles3/lifetime.html fails
https://bugs.webkit.org/show_bug.cgi?id=231682
Transform feedback should avoid appending _u for
builtin output variables.
Reviewed by Kimmo Kinnunen.
- src/libANGLE/renderer/metal/mtl_glslang_mtl_utils.mm:
(rx::mtl::GenerateTransformFeedbackVaryingOutput):
- 4:46 PM Changeset in webkit [284292] by
-
- 8 edits in branches/safari-612-branch/Source
Apply patch. rdar://problem/83955481
- 4:45 PM Changeset in webkit [284291] by
-
- 2 edits in trunk/Source/WebKit
Some canvas tests are failing
https://bugs.webkit.org/show_bug.cgi?id=231837
<rdar://problem/84318280>
Reviewed by Brent Fulgham.
To be able to receive the Launch Services database over XPC, a Network process XPC endpoint has to be sent to the
GPU process. This was being sent in GPUProcessProxy::didFinishLaunching, but since the session ID and Website data
store is not always available there, it was sometimes not being sent. Instead, send the endpoint in
GPUProcessProxy::addSession, where the Website data store is always available.
- UIProcess/GPU/GPUProcessProxy.cpp:
(WebKit::GPUProcessProxy::didFinishLaunching):
(WebKit::GPUProcessProxy::addSession):
- 4:44 PM Changeset in webkit [284290] by
-
- 1 edit6 adds in trunk/LayoutTests
[ iOS 15 ] Rebaselining platform/ios/ios/fast/text/opticalFontWithWeight.html.
https://bugs.webkit.org/show_bug.cgi?id=231380
Unreviewed test gardening.
- platform/ios-14/platform/ios/ios/fast/text/opticalFontWithWeight-expected.txt: Added.
- 4:43 PM Changeset in webkit [284289] by
-
- 91 edits13 copies4 adds in branches/safari-612-branch
Apply patch. rdar://problem/83955868
- 4:37 PM Changeset in webkit [284288] by
-
- 2 edits162 adds in branches/safari-612-branch/LayoutTests/imported/w3c
Cherry-pick r281769. rdar://problem/84234711
Import file-system-access tests from WPT
https://bugs.webkit.org/show_bug.cgi?id=229593
Reviewed by Ryosuke Niwa.
- resources/import-expectations.json:
- web-platform-tests/file-system-access/META.yml: Added.
- web-platform-tests/file-system-access/README.md: Added.
- web-platform-tests/file-system-access/idlharness.https.any-expected.txt: Added.
- web-platform-tests/file-system-access/idlharness.https.any.html: Added.
- web-platform-tests/file-system-access/idlharness.https.any.js: Added.
- web-platform-tests/file-system-access/idlharness.https.any.worker-expected.txt: Added.
- web-platform-tests/file-system-access/idlharness.https.any.worker.html: Added.
- web-platform-tests/file-system-access/opaque-origin.https.window-expected.txt: Added.
- web-platform-tests/file-system-access/opaque-origin.https.window.html: Added.
- web-platform-tests/file-system-access/opaque-origin.https.window.js: Added. (add_iframe): (async verify_does_not_exist_in_data_uri_iframe): (async verify_results_from_sandboxed_child_window):
- web-platform-tests/file-system-access/resources/data/testfile.txt: Added.
- web-platform-tests/file-system-access/resources/data/w3c-import.log: Added.
- web-platform-tests/file-system-access/resources/local-fs-test-helpers.js: Added. (const.directory_promise.async await): (const.directory_promise): (directory_test): (async directory_test):
- web-platform-tests/file-system-access/resources/message-target-dedicated-worker.js: Added.
- web-platform-tests/file-system-access/resources/message-target-service-worker.js: Added.
- web-platform-tests/file-system-access/resources/message-target-shared-worker.js: Added.
- web-platform-tests/file-system-access/resources/message-target.html: Added.
- web-platform-tests/file-system-access/resources/message-target.js: Added. (async receiver): (add_message_event_handlers):
- web-platform-tests/file-system-access/resources/messaging-blob-helpers.js: Added. (async create_message_target_blob_url): (async create_message_target_data_uri): (async create_message_target_html_without_subresources): (async fetch_text):
- web-platform-tests/file-system-access/resources/messaging-helpers.js: Added. (create_dedicated_worker): (async create_service_worker): (async add_iframe): (async open_window): (async wait_for_loaded_message): (create_message_channel): (async create_file_system_handles): (async do_post_message_test): (async do_message_port_test):
- web-platform-tests/file-system-access/resources/messaging-serialize-helpers.js: Added. (async serialize_handles): (async serialize_handle): (async serialize_file_system_handle): (async serialize_file_system_file_handle): (async serialize_file_system_directory_handle): (async assert_equals_cloned_handles): (assert_equals_serialized_handles): (assert_equals_serialized_handle): (assert_equals_serialized_file_system_handle): (assert_equals_serialized_file_system_file_handle): (assert_equals_serialized_file_system_directory_handle): (serialize_message_error_event): (assert_equals_serialized_message_error_event):
- web-platform-tests/file-system-access/resources/opaque-origin-sandbox.html: Added.
- web-platform-tests/file-system-access/resources/sandboxed-fs-test-helpers.js: Added. (async cleanupSandboxedFileSystem):
- web-platform-tests/file-system-access/resources/sync-access-handle-test.js: Added. (async cleanupSandboxedFileSystem):
- web-platform-tests/file-system-access/resources/test-helpers.js: Added. (navigator.userAgent.includes): (async getFileSize): (async getFileContents): (async getDirectoryEntryCount): (async getSortedDirectoryEntries): (async createFileWithContents): (garbageCollect):
- web-platform-tests/file-system-access/resources/w3c-import.log: Added.
- web-platform-tests/file-system-access/sandboxed_FileSystemBaseHandle-IndexedDB.https.any-expected.txt: Added.
- web-platform-tests/file-system-access/sandboxed_FileSystemBaseHandle-IndexedDB.https.any.html: Added.
- web-platform-tests/file-system-access/sandboxed_FileSystemBaseHandle-IndexedDB.https.any.js: Added.
- web-platform-tests/file-system-access/sandboxed_FileSystemBaseHandle-IndexedDB.https.any.worker-expected.txt: Added.
- web-platform-tests/file-system-access/sandboxed_FileSystemBaseHandle-IndexedDB.https.any.worker.html: Added.
- web-platform-tests/file-system-access/sandboxed_FileSystemBaseHandle-isSameEntry.https.any-expected.txt: Added.
- web-platform-tests/file-system-access/sandboxed_FileSystemBaseHandle-isSameEntry.https.any.html: Added.
- web-platform-tests/file-system-access/sandboxed_FileSystemBaseHandle-isSameEntry.https.any.js: Added.
- web-platform-tests/file-system-access/sandboxed_FileSystemBaseHandle-isSameEntry.https.any.worker-expected.txt: Added.
- web-platform-tests/file-system-access/sandboxed_FileSystemBaseHandle-isSameEntry.https.any.worker.html: Added.
- web-platform-tests/file-system-access/sandboxed_FileSystemBaseHandle-postMessage-BroadcastChannel.https.window-expected.txt: Added.
- web-platform-tests/file-system-access/sandboxed_FileSystemBaseHandle-postMessage-BroadcastChannel.https.window.html: Added.
- web-platform-tests/file-system-access/sandboxed_FileSystemBaseHandle-postMessage-BroadcastChannel.https.window.js: Added.
- web-platform-tests/file-system-access/sandboxed_FileSystemBaseHandle-postMessage-Error.https.window-expected.txt: Added.
- web-platform-tests/file-system-access/sandboxed_FileSystemBaseHandle-postMessage-Error.https.window.html: Added.
- web-platform-tests/file-system-access/sandboxed_FileSystemBaseHandle-postMessage-Error.https.window.js: Added.
- web-platform-tests/file-system-access/sandboxed_FileSystemBaseHandle-postMessage-MessagePort-frames.https.window-expected.txt: Added.
- web-platform-tests/file-system-access/sandboxed_FileSystemBaseHandle-postMessage-MessagePort-frames.https.window.html: Added.
- web-platform-tests/file-system-access/sandboxed_FileSystemBaseHandle-postMessage-MessagePort-frames.https.window.js: Added.
- web-platform-tests/file-system-access/sandboxed_FileSystemBaseHandle-postMessage-MessagePort-windows.https.window-expected.txt: Added.
- web-platform-tests/file-system-access/sandboxed_FileSystemBaseHandle-postMessage-MessagePort-windows.https.window.html: Added.
- web-platform-tests/file-system-access/sandboxed_FileSystemBaseHandle-postMessage-MessagePort-windows.https.window.js: Added.
- web-platform-tests/file-system-access/sandboxed_FileSystemBaseHandle-postMessage-MessagePort-workers.https.window-expected.txt: Added.
- web-platform-tests/file-system-access/sandboxed_FileSystemBaseHandle-postMessage-MessagePort-workers.https.window.html: Added.
- web-platform-tests/file-system-access/sandboxed_FileSystemBaseHandle-postMessage-MessagePort-workers.https.window.js: Added.
- web-platform-tests/file-system-access/sandboxed_FileSystemBaseHandle-postMessage-frames.https.window-expected.txt: Added.
- web-platform-tests/file-system-access/sandboxed_FileSystemBaseHandle-postMessage-frames.https.window.html: Added.
- web-platform-tests/file-system-access/sandboxed_FileSystemBaseHandle-postMessage-frames.https.window.js: Added.
- web-platform-tests/file-system-access/sandboxed_FileSystemBaseHandle-postMessage-windows.https.window-expected.txt: Added.
- web-platform-tests/file-system-access/sandboxed_FileSystemBaseHandle-postMessage-windows.https.window.html: Added.
- web-platform-tests/file-system-access/sandboxed_FileSystemBaseHandle-postMessage-windows.https.window.js: Added.
- web-platform-tests/file-system-access/sandboxed_FileSystemBaseHandle-postMessage-workers.https.window-expected.txt: Added.
- web-platform-tests/file-system-access/sandboxed_FileSystemBaseHandle-postMessage-workers.https.window.html: Added.
- web-platform-tests/file-system-access/sandboxed_FileSystemBaseHandle-postMessage-workers.https.window.js: Added.
- web-platform-tests/file-system-access/sandboxed_FileSystemBaseHandle-remove.https.any-expected.txt: Added.
- web-platform-tests/file-system-access/sandboxed_FileSystemBaseHandle-remove.https.any.html: Added.
- web-platform-tests/file-system-access/sandboxed_FileSystemBaseHandle-remove.https.any.js: Added.
- web-platform-tests/file-system-access/sandboxed_FileSystemBaseHandle-remove.https.any.worker-expected.txt: Added.
- web-platform-tests/file-system-access/sandboxed_FileSystemBaseHandle-remove.https.any.worker.html: Added.
- web-platform-tests/file-system-access/sandboxed_FileSystemDirectoryHandle-getDirectoryHandle.https.any-expected.txt: Added.
- web-platform-tests/file-system-access/sandboxed_FileSystemDirectoryHandle-getDirectoryHandle.https.any.html: Added.
- web-platform-tests/file-system-access/sandboxed_FileSystemDirectoryHandle-getDirectoryHandle.https.any.js: Added.
- web-platform-tests/file-system-access/sandboxed_FileSystemDirectoryHandle-getDirectoryHandle.https.any.worker-expected.txt: Added.
- web-platform-tests/file-system-access/sandboxed_FileSystemDirectoryHandle-getDirectoryHandle.https.any.worker.html: Added.
- web-platform-tests/file-system-access/sandboxed_FileSystemDirectoryHandle-getFileHandle.https.any-expected.txt: Added.
- web-platform-tests/file-system-access/sandboxed_FileSystemDirectoryHandle-getFileHandle.https.any.html: Added.
- web-platform-tests/file-system-access/sandboxed_FileSystemDirectoryHandle-getFileHandle.https.any.js: Added.
- web-platform-tests/file-system-access/sandboxed_FileSystemDirectoryHandle-getFileHandle.https.any.worker-expected.txt: Added.
- web-platform-tests/file-system-access/sandboxed_FileSystemDirectoryHandle-getFileHandle.https.any.worker.html: Added.
- web-platform-tests/file-system-access/sandboxed_FileSystemDirectoryHandle-iteration.https.any-expected.txt: Added.
- web-platform-tests/file-system-access/sandboxed_FileSystemDirectoryHandle-iteration.https.any.html: Added.
- web-platform-tests/file-system-access/sandboxed_FileSystemDirectoryHandle-iteration.https.any.js: Added.
- web-platform-tests/file-system-access/sandboxed_FileSystemDirectoryHandle-iteration.https.any.worker-expected.txt: Added.
- web-platform-tests/file-system-access/sandboxed_FileSystemDirectoryHandle-iteration.https.any.worker.html: Added.
- web-platform-tests/file-system-access/sandboxed_FileSystemDirectoryHandle-removeEntry.https.any-expected.txt: Added.
- web-platform-tests/file-system-access/sandboxed_FileSystemDirectoryHandle-removeEntry.https.any.html: Added.
- web-platform-tests/file-system-access/sandboxed_FileSystemDirectoryHandle-removeEntry.https.any.js: Added.
- web-platform-tests/file-system-access/sandboxed_FileSystemDirectoryHandle-removeEntry.https.any.worker-expected.txt: Added.
- web-platform-tests/file-system-access/sandboxed_FileSystemDirectoryHandle-removeEntry.https.any.worker.html: Added.
- web-platform-tests/file-system-access/sandboxed_FileSystemDirectoryHandle-resolve.https.any-expected.txt: Added.
- web-platform-tests/file-system-access/sandboxed_FileSystemDirectoryHandle-resolve.https.any.html: Added.
- web-platform-tests/file-system-access/sandboxed_FileSystemDirectoryHandle-resolve.https.any.js: Added.
- web-platform-tests/file-system-access/sandboxed_FileSystemDirectoryHandle-resolve.https.any.worker-expected.txt: Added.
- web-platform-tests/file-system-access/sandboxed_FileSystemDirectoryHandle-resolve.https.any.worker.html: Added.
- web-platform-tests/file-system-access/sandboxed_FileSystemFileHandle-create-sync-access-handle-dedicated-worker.https.tentative.window-expected.txt: Added.
- web-platform-tests/file-system-access/sandboxed_FileSystemFileHandle-create-sync-access-handle-dedicated-worker.https.tentative.window.html: Added.
- web-platform-tests/file-system-access/sandboxed_FileSystemFileHandle-create-sync-access-handle-dedicated-worker.https.tentative.window.js: Added.
- web-platform-tests/file-system-access/sandboxed_FileSystemFileHandle-getFile.https.any-expected.txt: Added.
- web-platform-tests/file-system-access/sandboxed_FileSystemFileHandle-getFile.https.any.html: Added.
- web-platform-tests/file-system-access/sandboxed_FileSystemFileHandle-getFile.https.any.js: Added.
- web-platform-tests/file-system-access/sandboxed_FileSystemFileHandle-getFile.https.any.worker-expected.txt: Added.
- web-platform-tests/file-system-access/sandboxed_FileSystemFileHandle-getFile.https.any.worker.html: Added.
- web-platform-tests/file-system-access/sandboxed_FileSystemFileHandle-sync-access-handle-lock.https.tentative.worker-expected.txt: Added.
- web-platform-tests/file-system-access/sandboxed_FileSystemFileHandle-sync-access-handle-lock.https.tentative.worker.html: Added.
- web-platform-tests/file-system-access/sandboxed_FileSystemFileHandle-sync-access-handle-lock.https.tentative.worker.js: Added. (promise_test.async t):
- web-platform-tests/file-system-access/sandboxed_FileSystemSyncAccessHandle-close.https.tentative.worker-expected.txt: Added.
- web-platform-tests/file-system-access/sandboxed_FileSystemSyncAccessHandle-close.https.tentative.worker.html: Added.
- web-platform-tests/file-system-access/sandboxed_FileSystemSyncAccessHandle-close.https.tentative.worker.js: Added. (sync_access_handle_test.async testCase):
- web-platform-tests/file-system-access/sandboxed_FileSystemSyncAccessHandle-flush.https.tentative.worker-expected.txt: Added.
- web-platform-tests/file-system-access/sandboxed_FileSystemSyncAccessHandle-flush.https.tentative.worker.html: Added.
- web-platform-tests/file-system-access/sandboxed_FileSystemSyncAccessHandle-flush.https.tentative.worker.js: Added. (sync_access_handle_test.async t): (sync_access_handle_test.async testCase):
- web-platform-tests/file-system-access/sandboxed_FileSystemSyncAccessHandle-getSize.https.tentative.worker-expected.txt: Added.
- web-platform-tests/file-system-access/sandboxed_FileSystemSyncAccessHandle-getSize.https.tentative.worker.html: Added.
- web-platform-tests/file-system-access/sandboxed_FileSystemSyncAccessHandle-getSize.https.tentative.worker.js: Added. (sync_access_handle_test.async testCase):
- web-platform-tests/file-system-access/sandboxed_FileSystemSyncAccessHandle-read-write.https.tentative.worker-expected.txt: Added.
- web-platform-tests/file-system-access/sandboxed_FileSystemSyncAccessHandle-read-write.https.tentative.worker.html: Added.
- web-platform-tests/file-system-access/sandboxed_FileSystemSyncAccessHandle-read-write.https.tentative.worker.js: Added. (sync_access_handle_test):
- web-platform-tests/file-system-access/sandboxed_FileSystemSyncAccessHandle-truncate.https.tentative.worker-expected.txt: Added.
- web-platform-tests/file-system-access/sandboxed_FileSystemSyncAccessHandle-truncate.https.tentative.worker.html: Added.
- web-platform-tests/file-system-access/sandboxed_FileSystemSyncAccessHandle-truncate.https.tentative.worker.js: Added. (sync_access_handle_test.async testCase):
- web-platform-tests/file-system-access/sandboxed_FileSystemWritableFileStream-piped.https.any-expected.txt: Added.
- web-platform-tests/file-system-access/sandboxed_FileSystemWritableFileStream-piped.https.any.html: Added.
- web-platform-tests/file-system-access/sandboxed_FileSystemWritableFileStream-piped.https.any.js: Added.
- web-platform-tests/file-system-access/sandboxed_FileSystemWritableFileStream-piped.https.any.worker-expected.txt: Added.
- web-platform-tests/file-system-access/sandboxed_FileSystemWritableFileStream-piped.https.any.worker.html: Added.
- web-platform-tests/file-system-access/sandboxed_FileSystemWritableFileStream-write.https.any-expected.txt: Added.
- web-platform-tests/file-system-access/sandboxed_FileSystemWritableFileStream-write.https.any.html: Added.
- web-platform-tests/file-system-access/sandboxed_FileSystemWritableFileStream-write.https.any.js: Added.
- web-platform-tests/file-system-access/sandboxed_FileSystemWritableFileStream-write.https.any.worker-expected.txt: Added.
- web-platform-tests/file-system-access/sandboxed_FileSystemWritableFileStream-write.https.any.worker.html: Added.
- web-platform-tests/file-system-access/sandboxed_FileSystemWritableFileStream.https.any-expected.txt: Added.
- web-platform-tests/file-system-access/sandboxed_FileSystemWritableFileStream.https.any.html: Added.
- web-platform-tests/file-system-access/sandboxed_FileSystemWritableFileStream.https.any.js: Added.
- web-platform-tests/file-system-access/sandboxed_FileSystemWritableFileStream.https.any.worker-expected.txt: Added.
- web-platform-tests/file-system-access/sandboxed_FileSystemWritableFileStream.https.any.worker.html: Added.
- web-platform-tests/file-system-access/script-tests/FileSystemBaseHandle-IndexedDB.js: Added. (directory_test.async t):
- web-platform-tests/file-system-access/script-tests/FileSystemBaseHandle-isSameEntry.js: Added. (directory_test.async t):
- web-platform-tests/file-system-access/script-tests/FileSystemBaseHandle-postMessage-BroadcastChannel.js: Added. (async create_broadcast_channel): (directory_test.async t):
- web-platform-tests/file-system-access/script-tests/FileSystemBaseHandle-postMessage-Error.js: Added. (async do_send_message_error_test): (async do_receive_message_error_test): (async do_send_and_receive_message_error_test): (async do_send_message_port_error_test): (async do_receive_message_port_error_test): (async do_send_and_receive_message_port_error_test): (directory_test.async t):
- web-platform-tests/file-system-access/script-tests/FileSystemBaseHandle-postMessage-MessagePort-frames.js: Added. (directory_test.async t):
- web-platform-tests/file-system-access/script-tests/FileSystemBaseHandle-postMessage-MessagePort-windows.js: Added. (directory_test.async t):
- web-platform-tests/file-system-access/script-tests/FileSystemBaseHandle-postMessage-MessagePort-workers.js: Added. (directory_test.async t): (self.SharedWorker.undefined.directory_test.async t):
- web-platform-tests/file-system-access/script-tests/FileSystemBaseHandle-postMessage-frames.js: Added. (directory_test.async t):
- web-platform-tests/file-system-access/script-tests/FileSystemBaseHandle-postMessage-windows.js: Added. (directory_test.async t):
- web-platform-tests/file-system-access/script-tests/FileSystemBaseHandle-postMessage-workers.js: Added. (directory_test.async t): (self.SharedWorker.undefined.directory_test.async t):
- web-platform-tests/file-system-access/script-tests/FileSystemBaseHandle-remove.js: Added. (directory_test.async t):
- web-platform-tests/file-system-access/script-tests/FileSystemDirectoryHandle-getDirectoryHandle.js: Added. (directory_test.async t):
- web-platform-tests/file-system-access/script-tests/FileSystemDirectoryHandle-getFileHandle.js: Added. (directory_test.async t):
- web-platform-tests/file-system-access/script-tests/FileSystemDirectoryHandle-iteration.js: Added. (directory_test.async t):
- web-platform-tests/file-system-access/script-tests/FileSystemDirectoryHandle-removeEntry.js: Added. (directory_test.async t):
- web-platform-tests/file-system-access/script-tests/FileSystemDirectoryHandle-resolve.js: Added. (directory_test.async t):
- web-platform-tests/file-system-access/script-tests/FileSystemFileHandle-create-sync-access-handle-dedicated-worker.js: Added. (directory_test.async t):
- web-platform-tests/file-system-access/script-tests/FileSystemFileHandle-getFile.js: Added. (directory_test.async t):
- web-platform-tests/file-system-access/script-tests/FileSystemSyncAccessHandle-flush.js: Added. (sync_access_handle_test.async handle):
- web-platform-tests/file-system-access/script-tests/FileSystemWritableFileStream-piped.js: Added. (directory_test.async t):
- web-platform-tests/file-system-access/script-tests/FileSystemWritableFileStream-write.js: Added. (directory_test.async t):
- web-platform-tests/file-system-access/script-tests/FileSystemWritableFileStream.js: Added. (directory_test.async t):
- web-platform-tests/file-system-access/script-tests/w3c-import.log: Added.
- web-platform-tests/file-system-access/showPicker-errors.https.window-expected.txt: Added.
- web-platform-tests/file-system-access/showPicker-errors.https.window.html: Added.
- web-platform-tests/file-system-access/showPicker-errors.https.window.js: Added. (promise_test.async t): (define_file_picker_error_tests.async promise_test): (define_file_picker_error_tests.async const): (define_file_picker_error_tests): (define_file_picker_extension_error_test):
- web-platform-tests/file-system-access/w3c-import.log: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@281769 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 4:35 PM Changeset in webkit [284287] by
-
- 9 edits6 adds in trunk
[iOS] Support accent-color for button-like controls
https://bugs.webkit.org/show_bug.cgi?id=231764
rdar://84261821
Reviewed by Tim Horton.
Source/WebCore:
Apply accent-color to buttons, date inputs, and <select> elements.
Tests: fast/css/accent-color/button.html
fast/css/accent-color/date.html
fast/css/accent-color/submit.html
- html/HTMLButtonElement.cpp:
(WebCore::HTMLButtonElement::isExplicitlySetSubmitButton const):
Return true if the author has explicitly made the <button> a
submit button. This is necessary, as submit buttons have an appearance
that is different from a standard button on iOS.
- html/HTMLButtonElement.h:
- rendering/RenderThemeIOS.h:
- rendering/RenderThemeIOS.mm:
(WebCore::RenderThemeIOS::adjustMenuListButtonStyle const):
(WebCore::RenderThemeIOS::isSubmitStyleButton const):
(WebCore::RenderThemeIOS::adjustButtonLikeControlStyle const):
(WebCore::RenderThemeIOS::adjustButtonStyle const):
(WebCore::RenderThemeIOS::adjustPressedStyle const): Deleted.
LayoutTests:
Add new tests for iOS and mark newly passing test.
- TestExpectations:
- fast/css/accent-color/button-expected-mismatch.html: Added.
- fast/css/accent-color/button.html: Added.
- fast/css/accent-color/date-expected-mismatch.html: Added.
- fast/css/accent-color/date.html: Added.
- fast/css/accent-color/submit-expected-mismatch.html: Added.
- fast/css/accent-color/submit.html: Added.
- platform/ios/TestExpectations:
- platform/mac/TestExpectations:
- 4:35 PM Changeset in webkit [284286] by
-
- 2 edits78 adds in branches/safari-612-branch/LayoutTests/imported/w3c
Cherry-pick r282088. rdar://problem/84234366
Import storage tests from WPT
https://bugs.webkit.org/show_bug.cgi?id=229965
Reviewed by Youenn Fablet.
- resources/import-expectations.json:
- web-platform-tests/storage/META.yml: Added.
- web-platform-tests/storage/README.md: Added.
- web-platform-tests/storage/buckets/META.yml: Added.
- web-platform-tests/storage/buckets/w3c-import.log: Added.
- web-platform-tests/storage/estimate-indexeddb.https.any-expected.txt: Added.
- web-platform-tests/storage/estimate-indexeddb.https.any.html: Added.
- web-platform-tests/storage/estimate-indexeddb.https.any.js: Added. (indexedDbOpenRequest): (promise_test.async t):
- web-platform-tests/storage/estimate-indexeddb.https.any.worker-expected.txt: Added.
- web-platform-tests/storage/estimate-indexeddb.https.any.worker.html: Added.
- web-platform-tests/storage/estimate-parallel.https.any-expected.txt: Added.
- web-platform-tests/storage/estimate-parallel.https.any.html: Added.
- web-platform-tests/storage/estimate-parallel.https.any.js: Added. (promise_test.async t):
- web-platform-tests/storage/estimate-parallel.https.any.worker-expected.txt: Added.
- web-platform-tests/storage/estimate-parallel.https.any.worker.html: Added.
- web-platform-tests/storage/estimate-usage-details-application-cache.https.tentative-expected.txt: Added.
- web-platform-tests/storage/estimate-usage-details-application-cache.https.tentative.html: Added.
- web-platform-tests/storage/estimate-usage-details-caches.https.tentative.any-expected.txt: Added.
- web-platform-tests/storage/estimate-usage-details-caches.https.tentative.any.html: Added.
- web-platform-tests/storage/estimate-usage-details-caches.https.tentative.any.js: Added. (promise_test.async t):
- web-platform-tests/storage/estimate-usage-details-caches.https.tentative.any.worker-expected.txt: Added.
- web-platform-tests/storage/estimate-usage-details-caches.https.tentative.any.worker.html: Added.
- web-platform-tests/storage/estimate-usage-details-indexeddb.https.tentative.any-expected.txt: Added.
- web-platform-tests/storage/estimate-usage-details-indexeddb.https.tentative.any.html: Added.
- web-platform-tests/storage/estimate-usage-details-indexeddb.https.tentative.any.js: Added. (promise_test.async t):
- web-platform-tests/storage/estimate-usage-details-indexeddb.https.tentative.any.worker-expected.txt: Added.
- web-platform-tests/storage/estimate-usage-details-indexeddb.https.tentative.any.worker.html: Added.
- web-platform-tests/storage/estimate-usage-details-service-workers.https.tentative.window-expected.txt: Added.
- web-platform-tests/storage/estimate-usage-details-service-workers.https.tentative.window.html: Added.
- web-platform-tests/storage/estimate-usage-details-service-workers.https.tentative.window.js: Added. (promise_test.async t):
- web-platform-tests/storage/estimate-usage-details.https.tentative.any-expected.txt: Added.
- web-platform-tests/storage/estimate-usage-details.https.tentative.any.html: Added.
- web-platform-tests/storage/estimate-usage-details.https.tentative.any.js: Added. (promise_test.async t):
- web-platform-tests/storage/estimate-usage-details.https.tentative.any.worker-expected.txt: Added.
- web-platform-tests/storage/estimate-usage-details.https.tentative.any.worker.html: Added.
- web-platform-tests/storage/helpers.js: Added. (createDB):
- web-platform-tests/storage/idlharness.https.any-expected.txt: Added.
- web-platform-tests/storage/idlharness.https.any.html: Added.
- web-platform-tests/storage/idlharness.https.any.js: Added.
- web-platform-tests/storage/idlharness.https.any.worker-expected.txt: Added.
- web-platform-tests/storage/idlharness.https.any.worker.html: Added.
- web-platform-tests/storage/opaque-origin.https.window-expected.txt: Added.
- web-platform-tests/storage/opaque-origin.https.window.html: Added.
- web-platform-tests/storage/opaque-origin.https.window.js: Added. (load_iframe): (wait_for_message.return.new.Promise): (forEach.snippet.assert_equals):
- web-platform-tests/storage/permission-query.https.any-expected.txt: Added.
- web-platform-tests/storage/permission-query.https.any.html: Added.
- web-platform-tests/storage/permission-query.https.any.js: Added. (promise_test.async t):
- web-platform-tests/storage/permission-query.https.any.worker-expected.txt: Added.
- web-platform-tests/storage/permission-query.https.any.worker.html: Added.
- web-platform-tests/storage/persisted.https.any-expected.txt: Added.
- web-platform-tests/storage/persisted.https.any.html: Added.
- web-platform-tests/storage/persisted.https.any.js: Added. (test): (promise_test):
- web-platform-tests/storage/persisted.https.any.worker-expected.txt: Added.
- web-platform-tests/storage/persisted.https.any.worker.html: Added.
- web-platform-tests/storage/quotachange-in-detached-iframe.tentative.https-expected.txt: Added.
- web-platform-tests/storage/quotachange-in-detached-iframe.tentative.https.html: Added.
- web-platform-tests/storage/resources/appcache.manifest: Added.
- web-platform-tests/storage/resources/iframe_with_appcache_manifest.html: Added.
- web-platform-tests/storage/resources/w3c-import.log: Added.
- web-platform-tests/storage/storagemanager-estimate.https.any-expected.txt: Added.
- web-platform-tests/storage/storagemanager-estimate.https.any.html: Added.
- web-platform-tests/storage/storagemanager-estimate.https.any.js: Added. (test): (promise_test):
- web-platform-tests/storage/storagemanager-estimate.https.any.worker-expected.txt: Added.
- web-platform-tests/storage/storagemanager-estimate.https.any.worker.html: Added.
- web-platform-tests/storage/storagemanager-persist.https.window-expected.txt: Added.
- web-platform-tests/storage/storagemanager-persist.https.window.html: Added.
- web-platform-tests/storage/storagemanager-persist.https.window.js: Added. (promise_test):
- web-platform-tests/storage/storagemanager-persist.https.worker-expected.txt: Added.
- web-platform-tests/storage/storagemanager-persist.https.worker.html: Added.
- web-platform-tests/storage/storagemanager-persist.https.worker.js: Added. (test):
- web-platform-tests/storage/storagemanager-persisted.https.any-expected.txt: Added.
- web-platform-tests/storage/storagemanager-persisted.https.any.html: Added.
- web-platform-tests/storage/storagemanager-persisted.https.any.js: Added. (promise_test):
- web-platform-tests/storage/storagemanager-persisted.https.any.worker-expected.txt: Added.
- web-platform-tests/storage/storagemanager-persisted.https.any.worker.html: Added.
- web-platform-tests/storage/w3c-import.log: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@282088 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 4:24 PM Changeset in webkit [284285] by
-
- 2 edits in trunk/Source/JavaScriptCore
[JSC] Optimize Structure::getConcurrently
https://bugs.webkit.org/show_bug.cgi?id=231825
Reviewed by Filip Pizlo.
From artrace data, we found that Structure::getConcurrently is taking fair amount of time
in Speedometer2 *in the main thread*! This is because Structure::getConcurrently is used
in PropertyCondition, and its validation can be called in the main thread when watched
Structure transition happens, ObjectPropertyConditionSet is created for IC etc.
Structure::getConcurrently is slow since it is using Structure::forEachPropertyConcurrently.
We can optimize Structure::getConcurrently since,
- We do not need to track seen properties via seenProperties HashSet.
- We can handle TransitionKind::PropertyDeletion.
- We can use PropertyTable::get.
We are seeing consistent 0.4% improvement in Speedometer2 (I ran 120 Speedometer2 runs twice and both said 0.4% improvement).
| subtest | ms | ms | b / a | pValue (significance using False Discovery Rate) |
| Elm-TodoMVC |106.201667 |106.030000 |0.998384 | 0.666695 |
| VueJS-TodoMVC |21.955000 |21.985000 |1.001366 | 0.898294 |
| EmberJS-TodoMVC |120.720000 |119.938333 |0.993525 | 0.055063 |
| BackboneJS-TodoMVC |40.306667 |40.023333 |0.992971 | 0.054858 |
| Preact-TodoMVC |16.273333 |15.968333 |0.981258 | 0.135893 |
| AngularJS-TodoMVC |123.325000 |122.596667 |0.994094 | 0.079212 |
| Vanilla-ES2015-TodoMVC |60.116667 |60.168333 |1.000859 | 0.691981 |
| Inferno-TodoMVC |58.945000 |58.538333 |0.993101 | 0.155753 |
| Flight-TodoMVC |57.846667 |57.808333 |0.999337 | 0.868408 |
| Angular2-TypeScript-TodoMVC |38.595000 |38.260000 |0.991320 | 0.392602 |
| VanillaJS-TodoMVC |50.316667 |50.185000 |0.997383 | 0.609335 |
| jQuery-TodoMVC |208.376667 |208.933333 |1.002671 | 0.196406 |
| EmberJS-Debug-TodoMVC |338.481667 |336.755000 |0.994899 | 0.007485 |
| React-TodoMVC |82.533333 |82.091667 |0.994649 | 0.037482 |
| React-Redux-TodoMVC |133.703333 |133.258333 |0.996672 | 0.069242 |
| Vanilla-ES2015-Babel-Webpack-TodoMVC |59.346667 |59.600000 |1.004269 | 0.203370 |
a mean = 282.95715
b mean = 284.07606
pValue = 0.0013877157
(Bigger means are better.)
1.004 times better
Results ARE significant
- runtime/Structure.cpp:
(JSC::Structure::getConcurrently):
- 4:02 PM Changeset in webkit [284284] by
-
- 9 edits in branches/safari-612-branch/Source
Revert "Cherry-pick r283572. rdar://problem/83953133"
This reverts commit r284279.
- 3:51 PM Changeset in webkit [284283] by
-
- 6 edits in trunk/Tools
[webkitscmpy] Allow repositories to define custom setup commands
https://bugs.webkit.org/show_bug.cgi?id=231345
<rdar://problem/83960249>
Reviewed by Dewei Zhu.
- Scripts/git-webkit: Define changelog conflict resolver.
- Scripts/libraries/webkitscmpy/setup.py: Add inspect2 as dependency, bump version.
- Scripts/libraries/webkitscmpy/webkitscmpy/init.py: Ditto.
- Scripts/libraries/webkitscmpy/webkitscmpy/program/init.py:
(main): Attempt to resolve additional_setup function.
- Scripts/libraries/webkitscmpy/webkitscmpy/program/setup.py:
(Setup.github): Invoke additional_setup function, if it exists.
(Setup.git): Ditto.
- 3:41 PM Changeset in webkit [284282] by
-
- 5 edits in branches/safari-612-branch
Cherry-pick r281964. rdar://problem/83954640
[ BigSur arm64 Debug EWS ] ASSERTION FAILED: m_uncommittedState.state == State::Provisional
https://bugs.webkit.org/show_bug.cgi?id=229769
<rdar://problem/82645706>
Reviewed by Alex Christensen.
Source/WebKit:
I am unable to reproduce the crash but we know that we're crashing when committing the load
after a process-swap, because the WebPageProxy doesn't know that a provisional load is going
on. One possible explanation for this, and the most likely one is that the WebPageProxy got
a DidFailProvisionalLoadForFrame IPC from the current process while the provisional load is
proceeding in the new provisional process. We had logic in WebPageProxy::didFailProvisionalLoadForFrame()
to try and discard such IPC but the check was relying on the navigationID and was therefore
fragile. I updated the check in didFailProvisionalLoadForFrame() to ignore all
DidFailProvisionalLoadForFrame IPCs for the main frame from the current process when there
is a ProvisionalPageProxy, without relying on the navigationID. This should be more robust
and will hopefully fix this flaky crash.
No new tests, unskipped existing tests.
- UIProcess/ProvisionalPageProxy.cpp: (WebKit::ProvisionalPageProxy::didFailProvisionalLoadForFrame):
- UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::didFailProvisionalLoadForFrame): (WebKit::WebPageProxy::didFailProvisionalLoadForFrameShared):
- UIProcess/WebPageProxy.h:
LayoutTests:
Unskip test that should no longer be flakily crashing in debug.
- platform/mac-wk2/TestExpectations:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@281964 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 3:41 PM Changeset in webkit [284281] by
-
- 2 edits in trunk/LayoutTests
[GLIB] Update test expectations for known failures. Unreviewed test gardening.
https://bugs.webkit.org/show_bug.cgi?id=231820
Patch by Arcady Goldmints-Orlov <Arcady Goldmints-Orlov> on 2021-10-15
- platform/glib/TestExpectations:
- 3:38 PM Changeset in webkit [284280] by
-
- 4 edits in branches/safari-612-branch/Source/WebCore
Cherry-pick r281879. rdar://problem/83954217
Improve time precision when cross-origin isolated via COOP+COEP
https://bugs.webkit.org/show_bug.cgi?id=228137
<rdar://problem/81197138>
Reviewed by Ryosuke Niwa.
Increase the precision of our high precision time (used by performance.now()) from
1ms to 20us when cross-origin isolated via COOP=same-origin + COEP=require-corp.
Precision remains the same (1ms) when not cross-origin isolated.
This aligns our behavior with Firefox.
Note that Chrome provides higher precision (100us in general and 5us when
cross-origin-isolated).
- dom/ScriptExecutionContext.cpp: (WebCore::ScriptExecutionContext::setCrossOriginMode):
- page/Performance.cpp: (WebCore::Performance::reduceTimeResolution): (WebCore::Performance::allowHighPrecisionTime):
- page/Performance.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@281879 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 3:37 PM Changeset in webkit [284279] by
-
- 9 edits in branches/safari-612-branch/Source
Cherry-pick r283572. rdar://problem/83953133
Web Inspector: Show color space for canvases in the Graphics tab on the overview cards
https://bugs.webkit.org/show_bug.cgi?id=231205
Reviewed by Devin Rousso.
Source/JavaScriptCore:
Use an enum instead of strings for color space values sent to the frontend.
- inspector/protocol/Canvas.json:
- inspector/scripts/codegen/generator.py:
Source/WebCore:
Use an enum instead of strings for color space values sent to the frontend.
- inspector/InspectorCanvas.cpp: (WebCore::buildObjectForCanvasContextAttributes):
Source/WebInspectorUI:
For canvas context's with a color space attribute, show the color space next to the context type in the header
of each context card in the Graphics tab.
- UserInterface/Models/Canvas.js: (WI.Canvas.displayNameForColorSpace):
- UserInterface/Views/CanvasContentView.js: (WI.CanvasContentView.prototype.initialLayout):
- UserInterface/Views/CanvasOverviewContentView.css: (.content-view.canvas-overview > .content-view.canvas > header > .titles > :matches(.subtitle, .color-space),): (.content-view.canvas-overview > .content-view.canvas > header .color-space::before):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@283572 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 3:36 PM Changeset in webkit [284278] by
-
- 2 edits in trunk
Add github username for Dewei Zhu
Unreviewed.
- metadata/contributors.json:
- 3:25 PM Changeset in webkit [284277] by
-
- 5 edits in trunk/Source/WebKit
Unreviewed, reverting r283925.
https://bugs.webkit.org/show_bug.cgi?id=231839
Incorrect
Reverted changeset:
"[macOS] Grant access in sandbox to 'system-privilege' for
root"
https://bugs.webkit.org/show_bug.cgi?id=231501
https://commits.webkit.org/r283925
- 3:18 PM Changeset in webkit [284276] by
-
- 2 edits in trunk/Source/WebKit
Explicitly link adattributiond with Foundation and CoreFoundation
https://bugs.webkit.org/show_bug.cgi?id=231835
Reviewed by Brady Eidson.
Apply the same treatment to adattributiond as was done for webpushd in r284250.
- Configurations/adattributiond.xcconfig:
- 3:16 PM Changeset in webkit [284275] by
-
- 28 edits2 adds in branches/safari-612-branch
Cherry-pick r283033. rdar://problem/83953190
[IOS 15] Video track does not get unmuted in case of tab was inactive less than ~500 ms
https://bugs.webkit.org/show_bug.cgi?id=230538
<rdar://problem/83355705>
Reviewed by Eric Carlson.
Source/WebCore:
Add support for interrupting mock cameras.
Update internals to handle the case of out of main thread videoSampleAvailable calls.
Update Page::setMuted to trigger setMuted logic even if Page muted state did not change.
This ensures we can restart capture in case a track is muted without the page being muted itself.
When a source is muted and is in producing data state, it is interrupted.
When setMuted(false) is called, we need to uninterrupt.
To do so, we do a stop/start cycle
Test: fast/mediastream/media-stream-video-track-interrupted.html
- page/Page.cpp: (WebCore::Page::setMuted):
- platform/mediastream/RealtimeMediaSource.cpp: (WebCore::RealtimeMediaSource::setMuted):
- platform/mock/MockRealtimeMediaSourceCenter.cpp: (WebCore::MockRealtimeMediaSourceCenter::setMockCameraIsInterrupted):
- platform/mock/MockRealtimeMediaSourceCenter.h:
- platform/mock/MockRealtimeVideoSource.cpp: (WebCore::MockRealtimeVideoSource::MockRealtimeVideoSource): (WebCore::MockRealtimeVideoSource::~MockRealtimeVideoSource): (WebCore::MockRealtimeVideoSource::setIsInterrupted):
- platform/mock/MockRealtimeVideoSource.h:
- testing/Internals.cpp: (WebCore::Internals::videoSampleAvailable):
- testing/Internals.h:
Source/WebKit:
Add support for mock capture interruption.
When receiving a notification that GPUProcess source is muted, we consider it is interrupted.
In that case, we notify the source is muted instead of calling setMuted (which would set the source as muted AND stop producing data).
It is important to not stop the source so that it can continue receiving interruption notifications.
- GPUProcess/GPUProcess.cpp: (WebKit::GPUProcess::setMockCameraIsInterrupted):
- GPUProcess/GPUProcess.h:
- GPUProcess/GPUProcess.messages.in:
- UIProcess/API/C/WKPage.cpp: (WKPageIsMockRealtimeMediaSourceCenterEnabled): (WKPageSetMockCameraIsInterrupted):
- UIProcess/API/C/WKPagePrivate.h:
- UIProcess/GPU/GPUProcessProxy.cpp: (WebKit::GPUProcessProxy::setMockCameraIsInterrupted):
- UIProcess/GPU/GPUProcessProxy.h:
- WebProcess/cocoa/RemoteRealtimeAudioSource.h:
- WebProcess/cocoa/RemoteRealtimeVideoSource.h:
- WebProcess/cocoa/UserMediaCaptureManager.cpp: (WebKit::UserMediaCaptureManager::sourceMutedChanged):
Tools:
Add mock API to mock camera interruption.
- WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
- WebKitTestRunner/InjectedBundle/TestRunner.cpp: (WTR::TestRunner::setMockCameraIsInterrupted):
- WebKitTestRunner/InjectedBundle/TestRunner.h:
- WebKitTestRunner/TestController.cpp: (WTR::TestController::setMockCameraIsInterrupted):
- WebKitTestRunner/TestController.h:
- WebKitTestRunner/TestInvocation.cpp: (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
LayoutTests:
- fast/mediastream/media-stream-video-track-interrupted-expected.txt: Added.
- fast/mediastream/media-stream-video-track-interrupted.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@283033 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 2:45 PM Changeset in webkit [284274] by
-
- 2 edits in trunk/LayoutTests
[ iOS 15 ] imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/pbkdf2.https.any.worker.html is flaky timing out.
https://bugs.webkit.org/show_bug.cgi?id=231544
Unreviewed test gardening.
- platform/ios-wk2/TestExpectations: Marked the test slow
- 2:27 PM Changeset in webkit [284273] by
-
- 2 edits in trunk/Source/WTF
Enable Storage API by default
https://bugs.webkit.org/show_bug.cgi?id=231826
Reviewed by Alexey Shvayka.
- Scripts/Preferences/WebPreferencesExperimental.yaml:
- 2:11 PM Changeset in webkit [284272] by
-
- 2 edits in trunk/Source/WTF
Clean up font-related USE(...) macros
https://bugs.webkit.org/show_bug.cgi?id=231793
Reviewed by Wenson Hsieh.
IOS_FAMILY is true for tvOS and watchOS, so we should be using
(PLATFORM(IOS) PLATFORM(MACCATALYST) instead. Also, the simulator is not special here - it should get the same policy as the system it's
simulating.
- wtf/PlatformUse.h:
- 2:09 PM Changeset in webkit [284271] by
-
- 2 edits in trunk/LayoutTests
[ macOS wk2 ] http/tests/xmlhttprequest/access-control-repeated-failed-preflight-crash.html is a flaky crash.
https://bugs.webkit.org/show_bug.cgi?id=231831
Unreviewed test gardening.
- platform/mac-wk2/TestExpectations:
- 2:06 PM Changeset in webkit [284270] by
-
- 1 copy in tags/Safari-613.1.5
Tag Safari-613.1.5.
- 1:29 PM Changeset in webkit [284269] by
-
- 21 edits2 adds in trunk/Source/WebCore
[LFC][Integration] Factor line logical order traversal out of iterator
https://bugs.webkit.org/show_bug.cgi?id=231800
Reviewed by Alan Bujtas.
Similar to text logical order traversal, use standalone traversal functions with order cache
owned by the caller.
Make the code generic so it will work with IFC BiDi.
Factor all traversal functions to a file of their own, InlineIteratorLogicalOrderTraversal.h/cpp.
- Headers.cmake:
- Sources.txt:
- WebCore.xcodeproj/project.pbxproj:
- dom/Position.cpp:
- editing/CompositeEditCommand.cpp:
- editing/TextIterator.h:
- editing/VisiblePosition.cpp:
(WebCore::VisiblePosition::leftVisuallyDistinctCandidate const):
(WebCore::VisiblePosition::rightVisuallyDistinctCandidate const):
- editing/VisibleUnits.cpp:
(WebCore::previousTextOrLineBreakRun):
(WebCore::nextTextOrLineBreakRun):
(WebCore::startTextOrLineBreakRun):
(WebCore::endTextOrLineBreakRun):
(WebCore::logicallyPreviousRun):
(WebCore::logicallyNextRun):
(WebCore::wordBreakIteratorForMinOffsetBoundary):
(WebCore::wordBreakIteratorForMaxOffsetBoundary):
(WebCore::startPositionForLine):
(WebCore::endPositionForLine):
- layout/integration/InlineIteratorBox.cpp:
(WebCore::InlineIterator::LeafBoxIterator::traversePreviousOnLineIgnoringLineBreak):
(WebCore::InlineIterator::LeafBoxIterator::traverseNextOnLineInLogicalOrder): Deleted.
(WebCore::InlineIterator::LeafBoxIterator::traversePreviousOnLineInLogicalOrder): Deleted.
- layout/integration/InlineIteratorBox.h:
(WebCore::InlineIterator::BoxIterator::BoxIterator):
- layout/integration/InlineIteratorBoxLegacyPath.h:
(WebCore::InlineIterator::BoxLegacyPath::BoxLegacyPath):
(WebCore::InlineIterator::BoxLegacyPath::traverseNextOnLineInLogicalOrder): Deleted.
(WebCore::InlineIterator::BoxLegacyPath::traversePreviousOnLineInLogicalOrder): Deleted.
(WebCore::InlineIterator::BoxLegacyPath::initializeLogicalOrderCacheForLine): Deleted.
(WebCore::InlineIterator::BoxLegacyPath::traverseNextInlineBoxInCacheOrder): Deleted.
(WebCore::InlineIterator::BoxLegacyPath::traversePreviousInlineBoxInCacheOrder): Deleted.
- layout/integration/InlineIteratorBoxModernPath.h:
(WebCore::InlineIterator::BoxModernPath::traverseNextOnLineInLogicalOrder): Deleted.
(WebCore::InlineIterator::BoxModernPath::traversePreviousOnLineInLogicalOrder): Deleted.
- layout/integration/InlineIteratorLine.cpp:
(WebCore::InlineIterator::Line::logicalStartRun const): Deleted.
(WebCore::InlineIterator::Line::logicalEndRun const): Deleted.
(WebCore::InlineIterator::Line::logicalStartRunWithNode const): Deleted.
(WebCore::InlineIterator::Line::logicalEndRunWithNode const): Deleted.
- layout/integration/InlineIteratorLine.h:
- layout/integration/InlineIteratorLineLegacyPath.h:
(WebCore::InlineIterator::LineIteratorLegacyPath::logicalStartRun const): Deleted.
(WebCore::InlineIterator::LineIteratorLegacyPath::logicalEndRun const): Deleted.
- layout/integration/InlineIteratorLineModernPath.h:
(WebCore::InlineIterator::LineIteratorModernPath::logicalStartRun const): Deleted.
(WebCore::InlineIterator::LineIteratorModernPath::logicalEndRun const): Deleted.
- layout/integration/InlineIteratorLogicalOrderTraversal.cpp: Added.
(WebCore::InlineIterator::makeTextLogicalOrderCacheIfNeeded):
(WebCore::InlineIterator::updateTextLogicalOrderCacheIfNeeded):
(WebCore::InlineIterator::firstTextBoxInLogicalOrderFor):
(WebCore::InlineIterator::nextTextBoxInLogicalOrder):
(WebCore::InlineIterator::makeLineLogicalOrderCacheIfNeeded):
(WebCore::InlineIterator::updateLineLogicalOrderCacheIfNeeded):
(WebCore::InlineIterator::firstLeafOnLineInLogicalOrder):
(WebCore::InlineIterator::lastLeafOnLineInLogicalOrder):
(WebCore::InlineIterator::nextLeafOnLineInLogicalOrder):
(WebCore::InlineIterator::previousLeafOnLineInLogicalOrder):
(WebCore::InlineIterator::firstLeafOnLineInLogicalOrderWithNode):
(WebCore::InlineIterator::lastLeafOnLineInLogicalOrderWithNode):
- layout/integration/InlineIteratorLogicalOrderTraversal.h: Added.
- layout/integration/InlineIteratorTextBox.cpp:
(WebCore::InlineIterator::firstTextBoxInLogicalOrderFor): Deleted.
(WebCore::InlineIterator::nextTextBoxInLogicalOrder): Deleted.
- layout/integration/InlineIteratorTextBox.h:
(): Deleted.
- rendering/RenderBlockFlow.cpp:
(WebCore::RenderBlockFlow::positionForPointWithInlineChildren):
- rendering/RenderText.cpp:
- 1:25 PM Changeset in webkit [284268] by
-
- 2 edits in trunk/Source/WebKit
Import AuthenticationServicesCore's public module as well
https://bugs.webkit.org/show_bug.cgi?id=231806
<rdar://84299174>
Patch by Garrett Davidson <garrett_davidson@apple.com> on 2021-10-15
Reviewed by Wenson Hsieh.
Import the public module explicitly before the private module.
- Platform/spi/Cocoa/AuthenticationServicesCoreSPI.h:
- 1:13 PM Changeset in webkit [284267] by
-
- 3 edits3 copies3 adds in trunk/LayoutTests
REBASELINE 2 tables/mozilla tests failing constantly
https://bugs.webkit.org/show_bug.cgi?id=228200
Unreviewed test gardening/rebase for Monterey.
- platform/mac-bigsur/tables/mozilla/bugs/bug2479-3-expected.txt: Copied from LayoutTests/platform/mac/tables/mozilla/bugs/bug2479-3-expected.txt.
- platform/mac-bigsur/tables/mozilla/bugs/bug26178-expected.txt: Copied from LayoutTests/platform/mac/tables/mozilla/bugs/bug26178-expected.txt.
- platform/mac-catalina/tables/mozilla/bugs/bug26178-expected.txt: Copied from LayoutTests/platform/mac/tables/mozilla/bugs/bug26178-expected.txt.
- platform/mac/tables/mozilla/bugs/bug2479-3-expected.txt:
- platform/mac/tables/mozilla/bugs/bug26178-expected.txt:
- 12:59 PM Changeset in webkit [284266] by
-
- 10 edits in trunk/Source/WebCore
Calls to AXCoreObject::widget() have to be dispatch to the main thread in isolated tree mode.
https://bugs.webkit.org/show_bug.cgi?id=231766
<rdar://problem/84271039>
Reviewed by Chris Fleizach.
This patch fixes several dozens of tests that were crashing or timing out in isolated tree mode.
The WebAccessibilityObjectWrapper was calling the widget() method on the
AX thread, which creates problems because this object is not thread
safe and it is created on the main thread. To avoid this problem, we
have to dispatch those calls to the main thread. Since widget() is
called very often now, for every request of the children of a leaf node,
added AXCoreObject::isWidget() to be able to check for it without having
to return the Widget object. The IsWidget property is cached in the
AXIsolatedObject, hence limiting the number of times we have to hit the
main thread.
- accessibility/AccessibilityNodeObject.cpp:
Removed include header that is not used in this cpp.
- accessibility/AccessibilityObject.h:
- accessibility/AccessibilityObjectInterface.h:
- accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::isWidget const):
(WebCore::AccessibilityRenderObject::widget const):
- accessibility/AccessibilityRenderObject.h:
- accessibility/isolatedtree/AXIsolatedObject.cpp:
(WebCore::AXIsolatedObject::initializeAttributeData):
(WebCore::AXIsolatedObject::widget const):
- accessibility/isolatedtree/AXIsolatedObject.h:
- accessibility/isolatedtree/AXIsolatedTree.h:
- accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
(-[WebAccessibilityObjectWrapper renderWidgetChildren]):
(-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):
(isMatchingPlugin):
- 12:43 PM Changeset in webkit [284265] by
-
- 2 edits in trunk/Source/WebKit
[macOS] Sort unix syscall list in WP sandbox
https://bugs.webkit.org/show_bug.cgi?id=231810
<rdar://problem/84305761>
Unreviewed formatting change. No change in behavior.
- WebProcess/com.apple.WebProcess.sb.in:
- 12:16 PM Changeset in webkit [284264] by
-
- 9 edits in trunk
[Cocoa] Web Inspector: handle Promise objects returned from evaluateScriptInExtensionTab
https://bugs.webkit.org/show_bug.cgi?id=231709
<rdar://problem/84224179>
Reviewed by Timothy Hatcher.
Source/WebCore:
New API test: WKInspectorExtension.EvaluateScriptInExtensionTabCanReturnPromises
- inspector/InspectorFrontendAPIDispatcher.cpp:
(WebCore::InspectorFrontendAPIDispatcher::evaluateOrQueueExpression):
Add JSLockHolders for when we are poking at the result value.
Source/WebInspectorUI:
This patch improves the handling of promises and exceptions that come from
InspectorFrontendHost.evaluateScriptInExtensionTab().
For promises, wait for the returned promise to settle before fulfilling our returned value.
For errors, perform a better stringification of the Error instance. The is needed because
the default toString implementation leaves out most of the relevant details of the error.
- UserInterface/Controllers/WebInspectorExtensionController.js:
(WI.WebInspectorExtensionController.prototype.evaluateScriptInExtensionTab):
- UserInterface/Protocol/InspectorFrontendAPI.js:
Fix incorrect header docs for InspectorFrontendAPI.evaluateScriptForExtension.
Copy the improved header doc for InspectorFrontendAPI.evaluateScriptInExtensionTab
since it now has the same calling convention.
Source/WebKit:
- WebProcess/Inspector/WebInspectorUIExtensionController.cpp:
(WebKit::WebInspectorUIExtensionController::evaluateScriptForExtension):
(WebKit::WebInspectorUIExtensionController::evaluateScriptInExtensionTab):
Add JSLockHolders for when we are poking at the result value.
Drive-by, fix a typo in logging code.
Tools:
Add a new test:
WKInspectorExtension.EvaluateScriptInExtensionTabCanReturnPromises
- TestWebKitAPI/Tests/WebKitCocoa/WKInspectorExtension.mm:
(TEST):
- 12:14 PM Changeset in webkit [284263] by
-
- 4 edits in trunk/Tools
[webkitscmpy] Refactor PR branch management (Follow-up fix)
https://bugs.webkit.org/show_bug.cgi?id=230432
<rdar://problem/83258413>
Reviewed by Stephanie Lewis.
When we are uploading a change that includes multiple commits,
the second commit will be on the same branch as the first, but that
branch will be editable. We should not declare that "no commits
have been found on an editable branch," because that's not true.
- Scripts/libraries/webkitscmpy/setup.py: Bump version.
- Scripts/libraries/webkitscmpy/webkitscmpy/init.py: Ditto.
- Scripts/libraries/webkitscmpy/webkitscmpy/program/branch.py:
(Branch.branch_point): Log the found commit for branches with multiple commits.
- 12:13 PM Changeset in webkit [284262] by
-
- 2 edits in trunk/Tools
Make submit to ews error messages readable
https://bugs.webkit.org/show_bug.cgi?id=231824
Reviewed by Ryan Haddad.
- CISupport/ews-app/ews/views/submittoews.py:
(SubmitToEWS.post):
- 12:12 PM Changeset in webkit [284261] by
-
- 5 edits in trunk
REGRESSION (r284079): [Debug] IPCTestingAPI.CanReceiveSharedMemory is timing out
https://bugs.webkit.org/show_bug.cgi?id=231701
<rdar://problem/84219000>
Reviewed by Tim Horton.
Source/WebKit:
Implement two new methods on JSIPCStreamClientConnection:
sendMessage()
andsendSyncMessage()
, which can be
used to send IPC messages through the IPC stream client connection. To do this, we match the existing methods of
the same names on JSIPC by creating a message encoder and sending it over the stream connection's IPC
connection, effectively treating all IPC messages as out-of-line.
In the future, this should be changed so that we only try to send out-of-line messages if the message itself is
not stream encodable; for the time being, this at least allows us to fix the failing API test, and still makes
it possible to test sending arbitrary IPC through the connection stream, such that we'll be able to exercise
WebGL and display list IPC via these special JS IPC bindings.
- Platform/IPC/StreamClientConnection.h:
- WebProcess/WebPage/IPCTestingAPI.cpp:
Declare several static helper functions near the top of this source file, so that we can use them in
JSIPCStreamClientConnection below.
(WebKit::IPCTestingAPI::JSIPCStreamClientConnection::create):
(WebKit::IPCTestingAPI::JSIPCStreamClientConnection::JSIPCStreamClientConnection):
(WebKit::IPCTestingAPI::JSIPCStreamClientConnection::staticFunctions):
Drive-by fix: make the pointer from JSIPCStreamConnectionBuffer to JSIPCStreamClientConnection a WeakPtr, to
prevent the stream connection buffer from keeping the client connection alive for longer than necessary. The
JSIPCStreamConnectionBuffer is always intended to be outlived by JSIPCStreamClientConnection when using JS IPC.
(WebKit::IPCTestingAPI::extractIPCStreamMessageInfo):
Pull logic for extracting a destination ID, message name, and IPC timeout into a common helper method.
(WebKit::IPCTestingAPI::JSIPCStreamClientConnection::prepareToSendOutOfStreamMessage):
Add a helper method that encodes the given message and prepares the stream connection for sending this as an
out-of-stream message by setting the destination ID (if needed) and appending theProcessOutOfStreamMessage
message to indicate that the recipient should expect an out-of-stream message.
(WebKit::IPCTestingAPI::JSIPCStreamClientConnection::sendMessage):
(WebKit::IPCTestingAPI::JSIPCStreamClientConnection::sendSyncMessage):
(WebKit::IPCTestingAPI::JSIPC::createStreamClientConnection):
Tools:
Fix the failing API test by using the new
sendSyncMessage()
method on JSIPCStreamClientConnection to send
the "RemoteRenderingBackend::UpdateSharedMemoryForGetPixelBuffer" stream message and decode the result into a
buffer of shared memory.
- TestWebKitAPI/Tests/WebKitCocoa/IPCTestingAPI.mm:
(TEST):
- 12:10 PM Changeset in webkit [284260] by
-
- 6 edits4 deletes in trunk
Unreviewed, reverting r284244.
https://bugs.webkit.org/show_bug.cgi?id=231813
Introduced
Reverted changeset:
"AX: Return AXEmptyGroup subrole for groups with no accessible
content"
https://bugs.webkit.org/show_bug.cgi?id=231528
https://commits.webkit.org/r284244
- 12:08 PM Changeset in webkit [284259] by
-
- 2 edits in trunk/Source/WTF
[Cocoa] Design System UI fonts exist on MacCatalyst
https://bugs.webkit.org/show_bug.cgi?id=231792
<rdar://problem/84273929>
Reviewed by Wenson Hsieh.
They shouldn't be disabled there.
- wtf/PlatformHave.h:
- 11:45 AM Changeset in webkit [284258] by
-
- 2 edits in branches/safari-612-branch/Source/WebKit
Cherry-pick r283846. rdar://problem/84117092
Fix crash in NetworkProcess preconnect due to dereferencing deallocated session
https://bugs.webkit.org/show_bug.cgi?id=231456
<rdar://problem/83752148>
Reviewed by Chris Dumez.
We capture a raw NetworkSession reference in the preconnect completion handler. This
reference could point to a deallocated object if the NetworkSession dies before the
preconnect finishes.
- NetworkProcess/NetworkProcess.cpp: (WebKit::NetworkProcess::preconnectTo):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@283846 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 11:31 AM Changeset in webkit [284257] by
-
- 2 edits in trunk/LayoutTests
[ iOS ] http/tests/workers/service/client-removed-from-clients-while-in-page-cache.html is a flaky timeout.
https://bugs.webkit.org/show_bug.cgi?id=230376
Unreviewed test gardening.
- platform/ios-wk2/TestExpectations: Removed test expectations
- 11:23 AM Changeset in webkit [284256] by
-
- 2 edits in trunk/LayoutTests
[ iOS ] http/wpt/webaudio/the-audio-api/the-audioworklet-interface/context-already-rendering.html is flaky.
https://bugs.webkit.org/show_bug.cgi?id=230421
Unreviewed test gardening.
- platform/ios-wk2/TestExpectations: Removed test expectations
- 10:40 AM Changeset in webkit [284255] by
-
- 13 edits in trunk/Source/JavaScriptCore
[JSC][32bit] Fix CSR restore on DFG tail calls, add extra register on ARMv7
https://bugs.webkit.org/show_bug.cgi?id=230622
Patch by Geza Lore <Geza Lore> on 2021-10-15
Reviewed by Saam Barati.
This patch does two things:
- Adds an extra callee save register (CSR) to be available to DFG on
ARMv7. To do this properly required the following:
- Implements the necessary shuffling in CallFrameShuffler on 32-bit
architectures that is required to restore CSRs properly after a tail
call on these architectures. This also fixes the remaining failures in
the 32-bit build of the unlinked baseline JIT.
- bytecode/ValueRecovery.cpp:
(JSC::ValueRecovery::dumpInContext const):
- bytecode/ValueRecovery.h:
(JSC::ValueRecovery::calleeSaveRegDisplacedInJSStack):
(JSC::ValueRecovery::isInJSStack const):
(JSC::ValueRecovery::dataFormat const):
(JSC::ValueRecovery::withLocalsOffset const):
- dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::emitCall):
- jit/CachedRecovery.cpp:
(JSC::CachedRecovery::loadsIntoGPR const):
- jit/CallFrameShuffleData.cpp:
(JSC::CallFrameShuffleData::setupCalleeSaveRegisters):
- jit/CallFrameShuffleData.h:
- jit/CallFrameShuffler.cpp:
(JSC::CallFrameShuffler::CallFrameShuffler):
- jit/CallFrameShuffler.h:
(JSC::CallFrameShuffler::snapshot const):
(JSC::CallFrameShuffler::addNew):
- jit/CallFrameShuffler32_64.cpp:
(JSC::CallFrameShuffler::emitLoad):
(JSC::CallFrameShuffler::emitDisplace):
- jit/GPRInfo.h:
(JSC::GPRInfo::toRegister):
(JSC::GPRInfo::toIndex):
- jit/RegisterSet.cpp:
(JSC::RegisterSet::dfgCalleeSaveRegisters):
- llint/LowLevelInterpreter32_64.asm:
- 10:39 AM Changeset in webkit [284254] by
-
- 97 edits5 adds in trunk
CSP: Implement src-elem and src-attr directives
https://bugs.webkit.org/show_bug.cgi?id=231751
<rdar://problem/83332874>
Reviewed by Brent Fulgham.
LayoutTests/imported/w3c:
- web-platform-tests/content-security-policy/child-src/child-src-blocked.sub-expected.txt:
- web-platform-tests/content-security-policy/child-src/child-src-redirect-blocked.sub-expected.txt:
- web-platform-tests/content-security-policy/default-src-inline-blocked.sub-expected.txt: Added.
- web-platform-tests/content-security-policy/default-src/default-src-inline-blocked.sub-expected.txt:
- web-platform-tests/content-security-policy/generic/generic-0_1-img-src-expected.txt:
- web-platform-tests/content-security-policy/generic/generic-0_1-script-src-expected.txt:
- web-platform-tests/content-security-policy/meta/combine-header-and-meta-policies.sub-expected.txt:
- web-platform-tests/content-security-policy/navigation/javascript-url-navigation-inherits-csp-expected.txt:
- web-platform-tests/content-security-policy/navigation/to-javascript-parent-initiated-parent-csp-expected.txt:
- web-platform-tests/content-security-policy/reporting/report-uri-effective-directive-expected.txt:
- web-platform-tests/content-security-policy/script-src-attr-elem/script-src-attr-allowed-src-blocked-expected.txt:
- web-platform-tests/content-security-policy/script-src-attr-elem/script-src-attr-blocked-src-allowed-expected.txt:
- web-platform-tests/content-security-policy/script-src-attr-elem/script-src-elem-allowed-attr-blocked-expected.txt:
- web-platform-tests/content-security-policy/script-src-attr-elem/script-src-elem-allowed-src-blocked-expected.txt:
- web-platform-tests/content-security-policy/script-src-attr-elem/script-src-elem-blocked-attr-allowed-expected.txt:
- web-platform-tests/content-security-policy/script-src-attr-elem/script-src-elem-blocked-src-allowed-expected.txt:
- web-platform-tests/content-security-policy/script-src/injected-inline-script-blocked.sub-expected.txt:
- web-platform-tests/content-security-policy/script-src/script-src-1_1-expected.txt:
- web-platform-tests/content-security-policy/script-src/script-src-1_10-expected.txt:
- web-platform-tests/content-security-policy/script-src/script-src-1_2-expected.txt:
- web-platform-tests/content-security-policy/script-src/script-src-1_2_1-expected.txt:
- web-platform-tests/content-security-policy/script-src/script-src-report-only-policy-works-with-hash-policy-expected.txt:
- web-platform-tests/content-security-policy/script-src/scriptnonce-and-scripthash.sub-expected.txt:
- web-platform-tests/content-security-policy/script-src/scriptnonce-basic-blocked.sub-expected.txt:
- web-platform-tests/content-security-policy/script-src/scriptnonce-ignore-unsafeinline.sub-expected.txt:
- web-platform-tests/content-security-policy/script-src/srcdoc-doesnt-bypass-script-src.sub-expected.txt:
- web-platform-tests/content-security-policy/style-src-attr-elem/style-src-attr-allowed-src-blocked-expected.txt:
- web-platform-tests/content-security-policy/style-src-attr-elem/style-src-attr-blocked-src-allowed-expected.txt:
- web-platform-tests/content-security-policy/style-src-attr-elem/style-src-elem-allowed-attr-blocked-expected.txt:
- web-platform-tests/content-security-policy/style-src-attr-elem/style-src-elem-allowed-src-blocked-expected.txt:
- web-platform-tests/content-security-policy/style-src-attr-elem/style-src-elem-blocked-attr-allowed-expected.txt:
- web-platform-tests/content-security-policy/style-src-attr-elem/style-src-elem-blocked-src-allowed-expected.txt:
- web-platform-tests/content-security-policy/style-src/injected-inline-script-blocked.sub-expected.txt: Added.
- web-platform-tests/content-security-policy/style-src/injected-inline-style-blocked.sub-expected.txt:
- web-platform-tests/content-security-policy/style-src/inline-style-allowed-while-cloning-objects.sub-expected.txt:
- web-platform-tests/content-security-policy/style-src/inline-style-attribute-blocked-expected.txt: Added.
- web-platform-tests/content-security-policy/style-src/inline-style-attribute-blocked.sub-expected.txt:
- web-platform-tests/content-security-policy/style-src/style-src-hash-blocked-expected.txt:
- web-platform-tests/content-security-policy/style-src/style-src-injected-inline-style-blocked-expected.txt:
- web-platform-tests/content-security-policy/style-src/style-src-inline-style-attribute-blocked-expected.txt:
- web-platform-tests/content-security-policy/style-src/style-src-inline-style-blocked-expected.txt:
- web-platform-tests/content-security-policy/style-src/style-src-inline-style-nonce-blocked-expected.txt:
- web-platform-tests/content-security-policy/style-src/stylehash-basic-blocked.sub-expected.txt:
- web-platform-tests/content-security-policy/style-src/stylenonce-allowed.sub-expected.txt:
- web-platform-tests/content-security-policy/style-src/stylenonce-blocked.sub-expected.txt:
- web-platform-tests/content-security-policy/unsafe-hashes/javascript_src_denied_missing_unsafe_hashes-href-expected.txt:
- web-platform-tests/content-security-policy/unsafe-hashes/javascript_src_denied_missing_unsafe_hashes-href_blank-expected.txt:
- web-platform-tests/content-security-policy/unsafe-hashes/javascript_src_denied_missing_unsafe_hashes-window_open-expected.txt:
- web-platform-tests/content-security-policy/unsafe-hashes/javascript_src_denied_wrong_hash-href-expected.txt:
- web-platform-tests/content-security-policy/unsafe-hashes/javascript_src_denied_wrong_hash-href_blank-expected.txt:
- web-platform-tests/content-security-policy/unsafe-hashes/javascript_src_denied_wrong_hash-window_open-expected.txt:
- web-platform-tests/content-security-policy/unsafe-hashes/script_event_handlers_denied_missing_unsafe_hashes-expected.txt:
- web-platform-tests/content-security-policy/unsafe-hashes/script_event_handlers_denied_wrong_hash-expected.txt:
- web-platform-tests/content-security-policy/unsafe-hashes/style_attribute_denied_missing_unsafe_hashes-expected.txt:
- web-platform-tests/content-security-policy/unsafe-hashes/style_attribute_denied_wrong_hash-expected.txt:
- web-platform-tests/content-security-policy/blob/blob-urls-do-not-match-self.sub-expected.txt:
- web-platform-tests/content-security-policy/generic/generic-0_10_1.sub-expected.txt:
- web-platform-tests/content-security-policy/generic/generic-0_2_2.sub-expected.txt:
- web-platform-tests/content-security-policy/generic/generic-0_2_3-expected.txt:
- web-platform-tests/content-security-policy/script-src/script-src-report-only-policy-works-with-external-hash-policy-expected.txt:
- web-platform-tests/content-security-policy/style-src/style-blocked.sub-expected.txt:
- web-platform-tests/content-security-policy/style-src/style-src-imported-style-blocked-expected.txt:
- web-platform-tests/content-security-policy/style-src/style-src-injected-stylesheet-blocked.sub-expected.txt:
- web-platform-tests/content-security-policy/style-src/style-src-none-blocked-expected.txt:
- web-platform-tests/content-security-policy/style-src/style-src-stylesheet-nonce-blocked-expected.txt:
- web-platform-tests/content-security-policy/svg/svg-inline.sub-expected.txt:
Source/WebCore:
Implement script-src-elem, script-src-attr, style-src-elem, and
style-src-attr directives. *-elem directives specify load policy for
<script> and <style> elements. *-attr directives specify load policy
for inline event handlers or inline style applied to individual DOM elements.
To match behavior of wpt tests and other browsers, we should report
the violated directive as accurately as possible even if a more
general directive was specified in the policy. For example, reporting
the violated directive as script-src even if default-src was
specified, and script-src-elem even if only script-src was specified.
To do this I added a nameForReporting() method in the
ContentSecurityPolicySourceListDirective class that gets set when we
check the load for violations.
Console messages should not change, in fact, we should consider making
them more specific in the future.
- page/csp/ContentSecurityPolicy.cpp:
(WebCore::ContentSecurityPolicy::allowJavaScriptURLs const):
(WebCore::ContentSecurityPolicy::allowInlineEventHandlers const):
(WebCore::ContentSecurityPolicy::allowInlineScript const):
(WebCore::ContentSecurityPolicy::allowInlineStyle const):
We can reuse the check for unsafe hashes to determine if we should
report a style-src-elem or style-src-attr violation.
(WebCore::ContentSecurityPolicy::reportViolation const):
- page/csp/ContentSecurityPolicyDirective.cpp:
(WebCore::ContentSecurityPolicyDirective::~ContentSecurityPolicyDirective):
Need a destructor now that we have virtual functions.
- page/csp/ContentSecurityPolicyDirective.h:
(WebCore::ContentSecurityPolicyDirective::nameForReporting const):
- page/csp/ContentSecurityPolicyDirectiveList.cpp:
(WebCore::ContentSecurityPolicyDirectiveList::create):
unsafe-eval should still have script-src as a violated directive.
(WebCore::ContentSecurityPolicyDirectiveList::operativeDirective const):
(WebCore::ContentSecurityPolicyDirectiveList::operativeDirectiveScript const):
(WebCore::ContentSecurityPolicyDirectiveList::operativeDirectiveStyle const):
elem/attr directives fall back to their respective general directives
if the more specific ones do not exist.
(WebCore::ContentSecurityPolicyDirectiveList::violatedDirectiveForUnsafeEval const):
(WebCore::ContentSecurityPolicyDirectiveList::violatedDirectiveForUnsafeHashScript const):
(WebCore::ContentSecurityPolicyDirectiveList::violatedDirectiveForUnsafeHashStyle const):
(WebCore::ContentSecurityPolicyDirectiveList::violatedDirectiveForParserInsertedScript const):
(WebCore::ContentSecurityPolicyDirectiveList::violatedDirectiveForUnsafeInlineScriptElement const):
(WebCore::ContentSecurityPolicyDirectiveList::violatedDirectiveForUnsafeInlineScriptAttribute const):
(WebCore::ContentSecurityPolicyDirectiveList::violatedDirectiveForUnsafeInlineStyleElement const):
(WebCore::ContentSecurityPolicyDirectiveList::violatedDirectiveForUnsafeInlineStyleAttribute const):
(WebCore::ContentSecurityPolicyDirectiveList::violatedDirectiveForScriptHash const):
(WebCore::ContentSecurityPolicyDirectiveList::violatedDirectiveForStyleHash const):
(WebCore::ContentSecurityPolicyDirectiveList::violatedDirectiveForScriptNonce const):
(WebCore::ContentSecurityPolicyDirectiveList::violatedDirectiveForStyleNonce const):
(WebCore::ContentSecurityPolicyDirectiveList::violatedDirectiveForChildContext const):
(WebCore::ContentSecurityPolicyDirectiveList::violatedDirectiveForConnectSource const):
(WebCore::ContentSecurityPolicyDirectiveList::violatedDirectiveForFont const):
(WebCore::ContentSecurityPolicyDirectiveList::violatedDirectiveForFrame const):
(WebCore::ContentSecurityPolicyDirectiveList::violatedDirectiveForImage const):
(WebCore::ContentSecurityPolicyDirectiveList::violatedDirectiveForManifest const):
(WebCore::ContentSecurityPolicyDirectiveList::violatedDirectiveForMedia const):
(WebCore::ContentSecurityPolicyDirectiveList::violatedDirectiveForObjectSource const):
(WebCore::ContentSecurityPolicyDirectiveList::violatedDirectiveForScript const):
(WebCore::ContentSecurityPolicyDirectiveList::violatedDirectiveForStyle const):
(WebCore::ContentSecurityPolicyDirectiveList::addDirective):
(WebCore::ContentSecurityPolicyDirectiveList::strictDynamicIncluded):
(WebCore::ContentSecurityPolicyDirectiveList::violatedDirectiveForUnsafeInlineScript const): Deleted.
(WebCore::ContentSecurityPolicyDirectiveList::violatedDirectiveForUnsafeInlineStyle const): Deleted.
- page/csp/ContentSecurityPolicyDirectiveList.h:
- page/csp/ContentSecurityPolicyDirectiveNames.cpp:
- page/csp/ContentSecurityPolicyDirectiveNames.h:
- page/csp/ContentSecurityPolicySourceListDirective.h:
(WebCore::ContentSecurityPolicySourceListDirective::setNameForReporting):
LayoutTests:
- http/tests/security/contentSecurityPolicy/1.1/report-uri-effective-directive-expected.txt:
- http/tests/security/contentSecurityPolicy/1.1/script-blocked-sends-multiple-reports-expected.txt:
- http/tests/security/contentSecurityPolicy/1.1/scripthash-allowed-by-enforced-policy-and-blocked-by-report-policy-expected.txt:
- http/tests/security/contentSecurityPolicy/1.1/scripthash-allowed-by-enforced-policy-and-blocked-by-report-policy2-expected.txt:
- http/tests/security/contentSecurityPolicy/1.1/scripthash-allowed-by-legacy-enforced-policy-and-blocked-by-report-policy-expected.txt:
- http/tests/security/contentSecurityPolicy/1.1/scripthash-allowed-by-legacy-enforced-policy-and-blocked-by-report-policy2-expected.txt:
- http/tests/security/contentSecurityPolicy/1.1/scripthash-blocked-by-enforced-policy-and-allowed-by-report-policy-expected.txt:
- http/tests/security/contentSecurityPolicy/1.1/scripthash-blocked-by-legacy-enforced-policy-and-blocked-by-report-policy-expected.txt:
- http/tests/security/contentSecurityPolicy/1.1/scripthash-blocked-by-legacy-enforced-policy-and-blocked-by-report-policy2-expected.txt:
- http/tests/security/contentSecurityPolicy/1.1/scriptnonce-blocked-by-enforced-policy-and-allowed-by-report-policy-expected.txt:
- http/tests/security/contentSecurityPolicy/1.1/securityviolationpolicy-block-frame-using-child-src-expected.txt:
- http/tests/security/contentSecurityPolicy/1.1/securityviolationpolicy-block-frame-using-default-src-expected.txt:
These should both be reproting frame-src as the violated directive,
confirmed this behavior against Chrome.
- http/tests/security/contentSecurityPolicy/report-and-enforce-expected.txt:
- http/tests/security/contentSecurityPolicy/report-only-expected.txt:
- http/tests/security/contentSecurityPolicy/report-only-from-header-expected.txt:
- http/tests/security/contentSecurityPolicy/report-only-upgrade-insecure-expected.txt:
- http/tests/security/contentSecurityPolicy/report-status-code-zero-when-using-https-expected.txt:
- http/tests/security/contentSecurityPolicy/report-uri-expected.txt:
- http/tests/security/contentSecurityPolicy/report-uri-from-child-frame-expected.txt:
- http/tests/security/contentSecurityPolicy/report-uri-scheme-relative-expected.txt:
- 10:34 AM Changeset in webkit [284253] by
-
- 2 edits in trunk/LayoutTests
[ iOS Catalina ] imported/w3c/web-platform-tests/css/css-transforms/crashtests/transform-marquee-resize-div-image-001.html is a flaky failure.
https://bugs.webkit.org/show_bug.cgi?id=231816
Unreviewed test gardning.
- platform/ios-wk2/TestExpectations:
- 10:33 AM Changeset in webkit [284252] by
-
- 4 edits in trunk/Source/WebKit
[macOS] Update sandboxes to support finer-grained XPC services in the media stack
https://bugs.webkit.org/show_bug.cgi?id=231782
<rdar://problem/84275671>
Reviewed by Eric Carlson.
CoreMedia is refactoring to limit the features accessible through a given XPC service.
We need to add an additional service name. This new name just exposes features already
exposed through other XPC endpoints we already allow.
- GPUProcess/mac/com.apple.WebKit.GPUProcess.sb.in: Always allow access to the new service.
- UIProcess/WebPageProxy.cpp:
(WebKit::mediaRelatedMachServices): Updated for new service name.
- WebProcess/com.apple.WebProcess.sb.in: Conditionally consume the new extension
if the GPU process is turned off.
- 9:43 AM Changeset in webkit [284251] by
-
- 2 edits in trunk/Source/WebKit
Unreviewed maccatalyst build fix.
- GPUProcess/cocoa/GPUConnectionToWebProcessCocoa.mm:
(WebKit::GPUConnectionToWebProcess::setTCCIdentity):
- 9:14 AM Changeset in webkit [284250] by
-
- 2 edits in trunk/Source/WebKit
Explicitly link webpushd with Foundation and CoreFoundation
https://bugs.webkit.org/show_bug.cgi?id=231808
<rdar://84302128>
Reviewed by Brady Eidson.
There is a build environment where the linker can't find a bunch of symbols from Foundation and CoreFoundation.
This should fix that build.
- Configurations/webpushd.xcconfig:
- 8:50 AM Changeset in webkit [284249] by
-
- 2 edits in trunk/Source/WebKit
[iOS][GPUP] Block access to Launch Services Database service
https://bugs.webkit.org/show_bug.cgi?id=231504
<rdar://problem/84091679>
Reviewed by Brent Fulgham.
After <https://commits.webkit.org/242382@main>, access to this service is no longer required.
- Resources/SandboxProfiles/ios/com.apple.WebKit.GPU.sb:
- 8:47 AM Changeset in webkit [284248] by
-
- 2 edits in trunk/Source/WebKit
Unreviewed, revert an unintentional sandbox change in r284079
I accidentally included the below change as a part of r284079, since it was necessary in order to avoid several
layout test failures on macOS Monterey:
- fast/canvas/toDataURL-supportedTypes.html
- fast/canvas/canvas-blending-image-over-image.html
- fast/canvas/canvas-blending-image-over-gradient.html
- fast/canvas/canvas-blending-image-over-color.html
- fast/canvas/toDataURL-not-empty.html
...but forgot to revert this change when landing the final patch.
- GPUProcess/mac/com.apple.WebKit.GPUProcess.sb.in:
- 8:25 AM Changeset in webkit [284247] by
-
- 3 edits2 adds in trunk
REGRESSION (r276370): Elements with animated transform property might not properly rendered
https://bugs.webkit.org/show_bug.cgi?id=230753
Reviewed by Myles C. Maxfield.
Source/WebCore:
The change in r276370 was incorrect, resulting in the geometry map being used when
an element had a transform andtransform-style: preserves-3d
.
Fix by going back to testing for the presence of the various transform properties which
affect geometry. hasTransformRelatedProperty() is still useful as a fast bit-check.
Test: fast/repaint/transform-preserve-3d-repaint.html
- rendering/RenderGeometryMap.cpp:
(WebCore::canMapBetweenRenderersViaLayers):
LayoutTests:
- fast/repaint/transform-preserve-3d-repaint-expected.txt: Added.
- fast/repaint/transform-preserve-3d-repaint.html: Added.
- 8:13 AM Changeset in webkit [284246] by
-
- 5 edits2 adds in trunk
AX: role="math" elements are no longer considered to have presentational children
https://bugs.webkit.org/show_bug.cgi?id=231756
Patch by Tyler Wilcock <Tyler Wilcock> on 2021-10-15
Reviewed by Chris Fleizach and Darin Adler.
Source/WebCore:
As of WAI-ARIA 1.2, role="math" elements are no longer considered to
have presentational children.
Test: accessibility/math-has-non-presentational-children.html
- accessibility/AccessibilityNodeObject.cpp:
(WebCore::AccessibilityNodeObject::canHaveChildren const):
Allow AccessibilityRole::DocumentMath elements to have children.
LayoutTests:
- accessibility/math-has-non-presentational-children-expected.txt: Added.
- accessibility/math-has-non-presentational-children.html: Added.
- accessibility/presentational-children-expected.txt:
- accessibility/presentational-children.html:
Remove the role="math" element from this test because as of WAI-ARIA
1.2 role="math" is no longer considered to have presentational children.
Also change this test to ensure role="meter" elements are considered to
have presentational children because that testcase was missing.
- 8:10 AM WebKitGTK/2.34.x edited by
- (diff)
- 8:09 AM WebKitGTK/2.32.x edited by
- (diff)
- 7:35 AM Changeset in webkit [284245] by
-
- 4 edits2 adds in trunk
AX: WebKit should not expose redundant AXGroups with missing role when the label is the same as the contents
https://bugs.webkit.org/show_bug.cgi?id=169924
Patch by Tyler Wilcock <Tyler Wilcock> on 2021-10-15
Reviewed by Andres Gonzalez.
Source/WebCore:
Don't expose groups with redundant accessibility text on the Mac.
Here's an example of one such group:
<div aria-label="1">1</div>
This group is not useful to accessibility clients. Instead, we
expose the text contents directly.
Test: accessibility/ignore-redundant-accessibility-text-groups.html
- accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::textUnderElement const):
Instead of asserting when we try to get the text of an element in a
document that needs a style update, return an empty string.
- accessibility/mac/AccessibilityObjectMac.mm:
(WebCore::shouldIgnoreGroup): Added.
(WebCore::AccessibilityObject::accessibilityPlatformIncludesObject const):
LayoutTests:
Add a test ensuring WebKit appropriately does and doesn't expose
groups with redundant accessibility text.
- accessibility/mac/ignore-redundant-accessibility-text-groups-expected.txt: Added.
- accessibility/mac/ignore-redundant-accessibility-text-groups.html: Added.
- 7:32 AM Changeset in webkit [284244] by
-
- 6 edits4 adds in trunk
AX: Return AXEmptyGroup subrole for groups with no accessible content
https://bugs.webkit.org/show_bug.cgi?id=231528
Patch by Tyler Wilcock <Tyler Wilcock> on 2021-10-15
Reviewed by Andres Gonzalez.
Source/WebCore:
Return a subrole of "AXEmptyGroup" for groups without any exposed
children. WebKit can calculate this more efficiently than AX clients,
so it makes more sense to do here.
Test: accessibility/mac/empty-group-computation.html
- accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
(-[WebAccessibilityObjectWrapper subrole]):
LayoutTests:
- accessibility/mac/aria-divs-not-ignored-expected.txt:
- accessibility/mac/aria-divs-not-ignored.html:
Expect a subrole of AXEmptyGroup because this group has no content.
- accessibility/mac/empty-group-computation-expected.txt: Added.
- accessibility/mac/empty-group-computation.html: Added.
- platform/mac/accessibility/lists-expected.txt: Added.
- platform/mac/accessibility/plugin-expected.txt: Added.
Add these Mac-specific expectations for these tests because this patch
only causes Mac to expose the AXEmptyGroup subrole.
- platform/mac/accessibility/svg-element-with-aria-role-expected.txt:
Add an expected subrole of AXEmptyGroup.
- 7:01 AM Changeset in webkit [284243] by
-
- 2 edits in trunk
Change Andres Gonzalez status to reviewer.
https://bugs.webkit.org/show_bug.cgi?id=231738
Reviewed by Chris Fleizach.
- metadata/contributors.json:
- 6:33 AM Changeset in webkit [284242] by
-
- 3 edits2 adds in trunk
[LFC][IFC] Do not break the word-wrap: break-word content on inline box boundary
https://bugs.webkit.org/show_bug.cgi?id=231761
Reviewed by Antti Koivisto.
Source/WebCore:
When the text content is breakable at arbitrary position and it is not the overflowing content (the overflowing content is not breakable)
we just return the text run as the trailing run as it surely fits e.g.
<span style="word-wrap: break-word">this_content_is_breakable</span>and_this_content_overflows
- There's no soft wrapping opportunity between the two text runs (they form a continuous set)
- The trailing run overflow but can't be split
we go backwards on the set to find a breakable one. In this case the first text run is breakable (see CSS property) and
since we know it fits the line we just simply declare the end of the run as the breaking position.
However we should try to keep the runs and their adjacent inline box boundary runs together and instead find the end of the </span> as
the breaking position. It's mostly noticeable when the inline box has some visual decoration e.g. border.
Test: fast/inline/wordbreak-at-inline-box-boundary.html
- layout/formattingContexts/inline/InlineContentBreaker.cpp:
(WebCore::Layout::InlineContentBreaker::tryBreakingTextRun const):
(WebCore::Layout::InlineContentBreaker::tryBreakingPreviousNonOverflowingRuns const):
LayoutTests:
- fast/inline/wordbreak-at-inline-box-boundary-expected.html: Added.
- fast/inline/wordbreak-at-inline-box-boundary.html: Added.
- 3:24 AM Changeset in webkit [284241] by
-
- 14 edits in trunk
[WebIDL] JSDOMBuiltinConstructor instances should support subclassing
https://bugs.webkit.org/show_bug.cgi?id=231689
Reviewed by Youenn Fablet.
LayoutTests/imported/w3c:
- web-platform-tests/streams/queuing-strategies.any-expected.txt:
- web-platform-tests/streams/queuing-strategies.any.worker-expected.txt:
- web-platform-tests/streams/readable-streams/general.any-expected.txt:
- web-platform-tests/streams/readable-streams/general.any.worker-expected.txt:
- web-platform-tests/streams/transform-streams/general.any-expected.txt:
- web-platform-tests/streams/transform-streams/general.any.worker-expected.txt:
Source/WebCore:
This patch:
- Removes JSDOMObjectInspector and related conditional createJSObject() / callConstructor() overloads: they aren't necessary because code generator guarantees that built-in constructors are called only on JSDOMObjectInspector<JSClass>::isBuiltin objects.
- Implements proper subclassing [1] for built-in constructors, ensuring exception checking and rare cases are kept off the fast path. For simplicity and consistency with JSC built-ins and setSubclassStructureIfNeeded(), getFunctionRealm() is called before "prototype" lookup, which is non-observable.
- Further improves constructor's fast path by replacing slowish argument-copying callFunctionWithCurrentArguments() with ArgList(CallFrame*) constructor.
[1] https://webidl.spec.whatwg.org/#internally-create-a-new-object-implementing-the-interface (step 3)
Tests: imported/w3c/web-platform-tests/streams/queuing-strategies.any.js
imported/w3c/web-platform-tests/streams/readable-streams/general.any.js
imported/w3c/web-platform-tests/streams/transform-streams/general.any.js
- bindings/js/JSDOMBuiltinConstructor.h:
(WebCore::JSDOMBuiltinConstructor<JSClass>::getDOMStructureForJSObject):
(WebCore::JSDOMBuiltinConstructor<JSClass>::construct):
(WebCore::JSDOMBuiltinConstructor<JSClass>::callConstructor): Deleted.
(WebCore::createJSObject): Deleted.
- bindings/js/JSDOMBuiltinConstructorBase.cpp:
(WebCore::JSDOMBuiltinConstructorBase::callFunctionWithCurrentArguments): Deleted.
- bindings/js/JSDOMBuiltinConstructorBase.h:
- bindings/js/JSDOMWrapper.h:
- bindings/scripts/CodeGeneratorJS.pm:
(AddJSBuiltinIncludesIfNeeded):
Removes [JSBuiltin] check because it's superseded by HasJSBuiltinConstructor helper.
- bindings/scripts/IDLAttributes.json:
Removes unused [JSBuiltinConstructor] extended attribute:
[JSBuiltin] on constructor() or interface should be used instead.
- 2:26 AM Changeset in webkit [284240] by
-
- 16 edits2 copies1 add in trunk/Source
WebKit Managed Notifications: Skeleton NotificationProvider.
<rdar://84275562> and https://bugs.webkit.org/show_bug.cgi?id=231786
Reviewed by Alex Christensen.
Source/WebKit:
No new tests (No behavior change yet)
Currently WebNotificationManagerProxy manages dispatching out stuff to the NotificationProvider SPI
that - for example - Safari on Mac implements.
The interface between the ManagerProxy and the Provider is already the perfect way to add an alternative behavior.
This introduces the skeleton class of an alternative NotificationProvider that will eventually implement
WebKit-managed notifications.
While under development it will have a global runtime switch so we can A/B test between the client-managed and
WebKit-managed notifications. That switch would eventually be replaced by full compile-time behavior which would
be decided by a shipping vendor.
Note: This patch enables the new flag BUILT_IN_NOTIFICATIONS to get the new mechanisms building, but that flag by
itself doesn't expose Notifications interfaces in WebCore.
That will still require enabling NOTIFICATIONS separately.
- SourcesCocoa.txt:
- UIProcess/API/APINotificationProvider.h:
(API::NotificationProvider::isClientReplaceable const): A temporary mechanism to prevent API clients from overriding
the built-in NotificationProvider if the feature is enabled. Useful right now because existing Safari does that with existing SPI.
- UIProcess/API/APIUIClient.h:
(API::UIClient::decidePolicyForNotificationPermissionRequest):
- UIProcess/API/Cocoa/WKUIDelegatePrivate.h:
- UIProcess/Cocoa/UIDelegate.h:
- UIProcess/Cocoa/UIDelegate.mm:
(WebKit::UIDelegate::setDelegate):
(WebKit::UIDelegate::UIClient::decidePolicyForNotificationPermissionRequest):
- UIProcess/Notifications/Cocoa/WebNotificationProviderCocoa.h: Copied from Source/WebKit/UIProcess/API/APINotificationProvider.h.
- UIProcess/Notifications/Cocoa/WebNotificationProviderCocoa.mm: Added.
(WebKit::WebNotificationProviderCocoa::createIfEnabled):
(WebKit::WebNotificationProviderCocoa::WebNotificationProviderCocoa):
(WebKit::WebNotificationProviderCocoa::show):
(WebKit::WebNotificationProviderCocoa::cancel):
(WebKit::WebNotificationProviderCocoa::didDestroyNotification):
(WebKit::WebNotificationProviderCocoa::clearNotifications):
(WebKit::WebNotificationProviderCocoa::addNotificationManager):
(WebKit::WebNotificationProviderCocoa::removeNotificationManager):
(WebKit::WebNotificationProviderCocoa::notificationPermissions):
- UIProcess/Notifications/WebNotificationManagerProxy.cpp:
(WebKit::WebNotificationManagerProxy::WebNotificationManagerProxy):
(WebKit::WebNotificationManagerProxy::setProvider):
Fix changes to the Unified Build:
- UIProcess/ios/WKHoverPlatter.h:
- UIProcess/ios/WKHoverPlatter.mm:
- WebKit.xcodeproj/project.pbxproj:
Source/WebKitLegacy/mac:
- WebCoreSupport/WebNotificationClient.mm:
(-[WebNotificationPolicyListener NO_RETURN_DUE_TO_ASSERT]):
(-[WebNotificationPolicyListener denyOnlyThisRequest]): Deleted.
Source/WTF:
- Scripts/Preferences/WebPreferencesDebug.yaml:
- wtf/PlatformEnableCocoa.h:
- 2:03 AM Changeset in webkit [284239] by
-
- 3 edits in trunk/Source/WebCore
[WPE][GTK] Update user agent browser versions
https://bugs.webkit.org/show_bug.cgi?id=231772
Patch by Michael Catanzaro <Michael Catanzaro> on 2021-10-15
Reviewed by Carlos Garcia Campos.
- platform/UserAgentQuirks.cpp:
(WebCore::UserAgentQuirks::stringForQuirk):
- platform/glib/UserAgentGLib.cpp:
(WebCore::buildUserAgentString):
- 1:42 AM Changeset in webkit [284238] by
-
- 3 edits in trunk
Unreviewed. Fix GTK build with ubuntu 18.04
GLib version bump in r284152 was too high for ubuntu 18.04 even though it followed our dependencies policy.
- Source/cmake/OptionsGTK.cmake:
- Source/cmake/OptionsWPE.cmake:
- 12:35 AM Changeset in webkit [284237] by
-
- 91 edits3 deletes in trunk
Revert r284230, my last fixes to the watch build make it break tests
https://bugs.webkit.org/show_bug.cgi?id=231797
Unreviewed.
JSTests:
- stress/big-wasm-memory-grow-no-max.js:
(test):
- stress/big-wasm-memory-grow.js:
(test):
- stress/big-wasm-memory.js:
(test):
- stress/typed-array-always-large.js: Removed.
(getArrayLength): Deleted.
(getByVal): Deleted.
(putByVal): Deleted.
(test): Deleted.
- stress/typed-array-eventually-large.js: Removed.
(getArrayLength): Deleted.
(getByVal): Deleted.
(putByVal): Deleted.
(test): Deleted.
- stress/typed-array-large-eventually-oob.js: Removed.
(getArrayLength): Deleted.
(getByVal): Deleted.
(putByVal): Deleted.
(test): Deleted.
- wasm/regress/wasm-memory-requested-more-than-MAX_ARRAY_BUFFER_SIZE-2.js:
- wasm/regress/wasm-memory-requested-more-than-MAX_ARRAY_BUFFER_SIZE.js:
Source/JavaScriptCore:
Revert "Allow WASM to use up to 4GB"
- assembler/AbstractMacroAssembler.cpp:
- assembler/AbstractMacroAssembler.h:
(JSC::AbstractMacroAssembler::TrustedImmPtr::TrustedImmPtr):
(JSC::AbstractMacroAssembler::TrustedImmPtr::asIntptr):
(JSC::AbstractMacroAssembler::TrustedImmPtr::asPtr):
(JSC::AbstractMacroAssembler::ImmPtr::ImmPtr):
(JSC::AbstractMacroAssembler::ImmPtr::asTrustedImmPtr):
(JSC::AbstractMacroAssembler::TrustedImm32::TrustedImm32):
(JSC::AbstractMacroAssembler::Imm32::Imm32):
(JSC::AbstractMacroAssembler::Imm32::asTrustedImm32 const):
(JSC::AbstractMacroAssembler::TrustedImm64::TrustedImm64):
(JSC::AbstractMacroAssembler::Imm64::Imm64):
(JSC::AbstractMacroAssembler::Imm64::asTrustedImm64 const):
(JSC::AbstractMacroAssembler::canBlind):
(JSC::AbstractMacroAssembler::shouldBlindForSpecificArch):
- assembler/MacroAssembler.h:
(JSC::MacroAssembler::and64):
(JSC::MacroAssembler::branch64): Deleted.
- assembler/MacroAssemblerARM64.h:
(JSC::MacroAssemblerARM64::shouldBlindForSpecificArch):
- assembler/MacroAssemblerARM64E.h:
(JSC::MacroAssemblerARM64E::untagArrayPtrLength32):
(JSC::MacroAssemblerARM64E::untagArrayPtrLength64): Deleted.
- assembler/MacroAssemblerX86Common.h:
(JSC::MacroAssemblerX86Common::canBlind):
(JSC::MacroAssemblerX86Common::shouldBlindForSpecificArch):
- bytecode/AccessCase.cpp:
(JSC::AccessCase::needsScratchFPR const):
(JSC::AccessCase::generateWithGuard):
- bytecode/ArrayProfile.h:
(JSC::UnlinkedArrayProfile::update):
(JSC::ArrayProfile::setMayBeLargeTypedArray): Deleted.
(JSC::ArrayProfile::mayBeLargeTypedArray const): Deleted.
(JSC::UnlinkedArrayProfile::UnlinkedArrayProfile): Deleted.
- dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
- dfg/DFGArgumentsEliminationPhase.cpp:
- dfg/DFGArrayMode.cpp:
(JSC::DFG::ArrayMode::refine const):
- dfg/DFGArrayMode.h:
(JSC::DFG::ArrayMode::ArrayMode):
(JSC::DFG::ArrayMode::action const):
(JSC::DFG::ArrayMode::withSpeculation const):
(JSC::DFG::ArrayMode::withArrayClass const):
(JSC::DFG::ArrayMode::withSpeculationFromProfile const):
(JSC::DFG::ArrayMode::withProfile const):
(JSC::DFG::ArrayMode::withType const):
(JSC::DFG::ArrayMode::withConversion const):
(JSC::DFG::ArrayMode::withTypeAndConversion const):
(JSC::DFG::ArrayMode::operator== const):
(JSC::DFG::ArrayMode::mayBeLargeTypedArray const): Deleted.
(JSC::DFG::ArrayMode::withArrayClassAndSpeculationAndMayBeLargeTypedArray const): Deleted.
(JSC::DFG::ArrayMode::speculationFromProfile): Deleted.
- dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::handleIntrinsicGetter):
- dfg/DFGClobberize.h:
(JSC::DFG::clobberize):
- dfg/DFGCommon.h:
(JSC::DFG::enableInt52):
- dfg/DFGConstantFoldingPhase.cpp:
(JSC::DFG::ConstantFoldingPhase::foldConstants):
- dfg/DFGDoesGC.cpp:
(JSC::DFG::doesGC):
- dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupNode):
(JSC::DFG::FixupPhase::prependGetArrayLength):
- dfg/DFGGenerationInfo.h:
- dfg/DFGHeapLocation.cpp:
(WTF::printInternal):
- dfg/DFGHeapLocation.h:
- dfg/DFGIntegerRangeOptimizationPhase.cpp:
- dfg/DFGNode.h:
(JSC::DFG::Node::hasStorageChild const):
(JSC::DFG::Node::storageChildIndex):
(JSC::DFG::Node::hasArrayMode):
- dfg/DFGNodeType.h:
- dfg/DFGOperations.cpp:
(JSC::DFG::putByVal):
(JSC::DFG::newTypedArrayWithSize):
(JSC::DFG::JSC_DEFINE_JIT_OPERATION):
- dfg/DFGOperations.h:
- dfg/DFGPredictionPropagationPhase.cpp:
- dfg/DFGSSALoweringPhase.cpp:
(JSC::DFG::SSALoweringPhase::handleNode):
(JSC::DFG::SSALoweringPhase::lowerBoundsCheck):
- dfg/DFGSafeToExecute.h:
(JSC::DFG::safeToExecute):
- dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::jumpForTypedArrayOutOfBounds):
(JSC::DFG::SpeculativeJIT::emitTypedArrayBoundsCheck):
(JSC::DFG::SpeculativeJIT::compileGetByValOnIntTypedArray):
(JSC::DFG::SpeculativeJIT::compilePutByValForIntTypedArray):
(JSC::DFG::SpeculativeJIT::compileGetByValOnFloatTypedArray):
(JSC::DFG::SpeculativeJIT::compilePutByValForFloatTypedArray):
(JSC::DFG::SpeculativeJIT::cageTypedArrayStorage):
(JSC::DFG::SpeculativeJIT::compileGetTypedArrayByteOffset):
(JSC::DFG::SpeculativeJIT::compileGetArrayLength):
(JSC::DFG::SpeculativeJIT::compileNewTypedArrayWithSize):
(JSC::DFG::SpeculativeJIT::compileNewTypedArray):
(JSC::DFG::SpeculativeJIT::emitNewTypedArrayWithSizeInRegister): Deleted.
- dfg/DFGSpeculativeJIT.h:
- dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compileGetByVal):
(JSC::DFG::SpeculativeJIT::compile):
- dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
(JSC::DFG::SpeculativeJIT::compileNewTypedArrayWithInt52Size): Deleted.
(JSC::DFG::SpeculativeJIT::compileGetTypedArrayLengthAsInt52): Deleted.
(JSC::DFG::SpeculativeJIT::compileGetTypedArrayByteOffsetAsInt52): Deleted.
- dfg/DFGTypeCheckHoistingPhase.cpp:
(JSC::DFG::TypeCheckHoistingPhase::identifyRedundantStructureChecks):
(JSC::DFG::TypeCheckHoistingPhase::identifyRedundantArrayChecks):
- dfg/DFGValidate.cpp:
- ftl/FTLCapabilities.cpp:
(JSC::FTL::canCompile):
- ftl/FTLLowerDFGToB3.cpp:
(JSC::FTL::DFG::LowerDFGToB3::validateAIState):
(JSC::FTL::DFG::LowerDFGToB3::compileNode):
(JSC::FTL::DFG::LowerDFGToB3::compileGetTypedArrayByteOffset):
(JSC::FTL::DFG::LowerDFGToB3::compileGetArrayLength):
(JSC::FTL::DFG::LowerDFGToB3::compilePutByVal):
(JSC::FTL::DFG::LowerDFGToB3::compileNewTypedArray):
(JSC::FTL::DFG::LowerDFGToB3::compileCompareStrictEq):
(JSC::FTL::DFG::LowerDFGToB3::emitGetTypedArrayByteOffsetExceptSettingResult): Deleted.
(JSC::FTL::DFG::LowerDFGToB3::compileGetTypedArrayByteOffsetAsInt52): Deleted.
(JSC::FTL::DFG::LowerDFGToB3::compileGetTypedArrayLengthAsInt52): Deleted.
(JSC::FTL::DFG::LowerDFGToB3::compileCheckInBoundsInt52): Deleted.
(JSC::FTL::DFG::LowerDFGToB3::emitNewTypedArrayWithSize): Deleted.
- ftl/FTLOutput.h:
(JSC::FTL::Output::load32NonNegative):
(JSC::FTL::Output::load64NonNegative): Deleted.
- jit/IntrinsicEmitter.cpp:
(JSC::IntrinsicGetterAccessCase::emitIntrinsicGetter):
- jit/JITOperations.cpp:
(JSC::putByVal):
(JSC::getByVal):
- llint/LLIntOfflineAsmConfig.h:
- llint/LLIntSlowPaths.cpp:
(JSC::LLInt::getByVal):
(JSC::LLInt::LLINT_SLOW_PATH_DECL):
- llint/LowLevelInterpreter.asm:
- llint/LowLevelInterpreter32_64.asm:
- llint/LowLevelInterpreter64.asm:
- runtime/ArrayBuffer.cpp:
(JSC::SharedArrayBufferContents::SharedArrayBufferContents):
(JSC::ArrayBufferContents::ArrayBufferContents):
(JSC::ArrayBufferContents::tryAllocate):
(JSC::ArrayBuffer::create):
(JSC::ArrayBuffer::createAdopted):
(JSC::ArrayBuffer::createFromBytes):
(JSC::ArrayBuffer::tryCreate):
(JSC::ArrayBuffer::createUninitialized):
(JSC::ArrayBuffer::tryCreateUninitialized):
(JSC::ArrayBuffer::createInternal):
(JSC::ArrayBuffer::clampValue):
(JSC::ArrayBuffer::clampIndex const):
(JSC::ArrayBuffer::sliceWithClampedIndex const):
- runtime/ArrayBuffer.h:
(JSC::ArrayBufferContents::sizeInBytes const):
(JSC::ArrayBuffer::byteLength const):
(JSC::ArrayBuffer::gcSizeEstimateInBytes const):
- runtime/ArrayBufferView.cpp:
(JSC::ArrayBufferView::ArrayBufferView):
- runtime/ArrayBufferView.h:
(JSC::ArrayBufferView::byteOffset const):
(JSC::ArrayBufferView::byteLength const):
(JSC::ArrayBufferView::verifyByteOffsetAlignment):
(JSC::ArrayBufferView::verifySubRangeLength):
(JSC::ArrayBufferView::clampOffsetAndNumElements):
(JSC::ArrayBufferView::setImpl):
(JSC::ArrayBufferView::setRangeImpl):
(JSC::ArrayBufferView::getRangeImpl):
(JSC::ArrayBufferView::zeroRangeImpl):
(JSC::ArrayBufferView::calculateOffsetAndLength):
- runtime/AtomicsObject.cpp:
- runtime/DataView.cpp:
(JSC::DataView::DataView):
(JSC::DataView::create):
- runtime/DataView.h:
- runtime/GenericTypedArrayView.h:
- runtime/GenericTypedArrayViewInlines.h:
(JSC::GenericTypedArrayView<Adaptor>::GenericTypedArrayView):
(JSC::GenericTypedArrayView<Adaptor>::create):
(JSC::GenericTypedArrayView<Adaptor>::tryCreate):
(JSC::GenericTypedArrayView<Adaptor>::createUninitialized):
(JSC::GenericTypedArrayView<Adaptor>::tryCreateUninitialized):
(JSC::GenericTypedArrayView<Adaptor>::subarray const):
- runtime/JSArrayBufferView.cpp:
(JSC::JSArrayBufferView::ConstructionContext::ConstructionContext):
(JSC::JSArrayBufferView::byteLength const):
(JSC::JSArrayBufferView::slowDownAndWasteMemory):
(JSC::JSArrayBufferView::possiblySharedImpl):
- runtime/JSArrayBufferView.h:
(JSC::JSArrayBufferView::sizeOf):
(JSC::JSArrayBufferView::ConstructionContext::length const):
(JSC::JSArrayBufferView::length const):
- runtime/JSArrayBufferViewInlines.h:
(JSC::JSArrayBufferView::byteOffsetImpl):
(JSC::JSArrayBufferView::byteOffset):
(JSC::JSArrayBufferView::byteOffsetConcurrently):
- runtime/JSCJSValue.h:
- runtime/JSCJSValueInlines.h:
(JSC::JSValue::toIndex const):
(JSC::JSValue::toTypedArrayIndex const): Deleted.
- runtime/JSDataView.cpp:
(JSC::JSDataView::create):
(JSC::JSDataView::createUninitialized):
(JSC::JSDataView::set):
(JSC::JSDataView::setIndex):
- runtime/JSDataView.h:
- runtime/JSDataViewPrototype.cpp:
(JSC::getData):
(JSC::setData):
- runtime/JSGenericTypedArrayView.h:
- runtime/JSGenericTypedArrayViewConstructorInlines.h:
(JSC::constructGenericTypedArrayViewWithArguments):
(JSC::constructGenericTypedArrayViewImpl):
- runtime/JSGenericTypedArrayViewInlines.h:
(JSC::JSGenericTypedArrayView<Adaptor>::create):
(JSC::JSGenericTypedArrayView<Adaptor>::createWithFastVector):
(JSC::JSGenericTypedArrayView<Adaptor>::createUninitialized):
(JSC::JSGenericTypedArrayView<Adaptor>::validateRange):
(JSC::JSGenericTypedArrayView<Adaptor>::setWithSpecificType):
(JSC::JSGenericTypedArrayView<Adaptor>::set):
- runtime/JSObject.h:
(JSC::JSObject::putByIndexInline):
(JSC::JSObject::tryGetIndexQuickly const):
(JSC::JSObject::canSetIndexQuickly):
(JSC::JSObject::trySetIndexQuickly): Deleted.
- runtime/JSObjectInlines.h:
(JSC::JSObject::canSetIndexQuicklyForTypedArray const):
(JSC::JSObject::getIndexQuicklyForTypedArray const):
(JSC::JSObject::setIndexQuicklyForArrayStorageIndexingType): Deleted.
(JSC::JSObject::trySetIndexQuicklyForTypedArray): Deleted.
- runtime/Operations.h:
(JSC::getByValWithIndex):
- wasm/WasmPageCount.h:
Source/WebCore:
Revert "Allow WASM to use up to 4GB"
- Modules/webaudio/AudioBuffer.cpp:
(WebCore::AudioBuffer::copyFromChannel):
(WebCore::AudioBuffer::copyToChannel):
- Modules/webaudio/RealtimeAnalyser.cpp:
(WebCore::RealtimeAnalyser::getByteFrequencyData):
(WebCore::RealtimeAnalyser::getFloatTimeDomainData):
(WebCore::RealtimeAnalyser::getByteTimeDomainData):
- bindings/js/SerializedScriptValue.cpp:
(WebCore::CloneSerializer::dumpArrayBufferView):
(WebCore::CloneSerializer::dumpImageBitmap):
(WebCore::CloneSerializer::dumpIfTerminal):
(WebCore::CloneSerializer::write):
(WebCore::CloneDeserializer::read):
(WebCore::CloneDeserializer::readArrayBuffer):
(WebCore::CloneDeserializer::readArrayBufferView):
(WebCore::CloneDeserializer::readImageBitmap):
(WebCore::CloneDeserializer::readArrayBufferImpl): Deleted.
(WebCore::CloneDeserializer::readArrayBufferViewImpl): Deleted.
- bindings/js/SerializedScriptValue.h:
(WebCore::SerializedScriptValue::encode const):
(WebCore::SerializedScriptValue::decode):
- fileapi/NetworkSendQueue.cpp:
(WebCore::NetworkSendQueue::enqueue):
- platform/graphics/PixelBuffer.cpp:
(WebCore::PixelBuffer::tryCreate):
- platform/graphics/iso/ISOBox.h:
Source/WTF:
Revert "Allow WASM to use up to 4GB"
- wtf/CheckedArithmetic.h:
(WTF::isInBounds):
(WTF::convertSafely):
(WTF::isSumSmallerThanOrEqual): Deleted.
- wtf/PlatformUse.h:
LayoutTests:
Revert "Allow WASM to use up to 4GB"
- fast/storage/serialized-script-value.html:
- webaudio/OfflineAudioContext-bad-buffer-crash-expected.txt:
- webaudio/OfflineAudioContext/bad-buffer-length-expected.txt:
Oct 14, 2021:
- 11:33 PM Changeset in webkit [284236] by
-
- 2 edits in trunk/Source/WebCore
MediaCapabilities should enqueue a task to resolve promises
https://bugs.webkit.org/show_bug.cgi?id=231569
Reviewed by Eric Carlson.
- Modules/mediacapabilities/MediaCapabilities.cpp:
We should resolve promises inside an event loop task.
To do this, instead of enqueuing a task to do some work that can be asynchronous, we do the asynchronous work and then enqueue a task to resolve the promise.
- 11:24 PM Changeset in webkit [284235] by
-
- 4 edits in trunk
Fix grid-auto-repeat-dynamic-003.html
https://bugs.webkit.org/show_bug.cgi?id=231592
Patch by Rob Buis <rbuis@igalia.com> on 2021-10-14
Reviewed by Alan Bujtas.
Source/WebCore:
Also call dirtyForLayoutFromPercentageHeightDescendants when laying out inline children, since
they may have a percentage height dependency as well as grid-auto-repeat-dynamic-003.html shows.
Test: imported/w3c/web-platform-tests/css/css-grid/grid-definition/grid-auto-repeat-dynamic-003.html
- rendering/RenderBlockFlow.cpp:
(WebCore::RenderBlockFlow::layoutBlock):
(WebCore::RenderBlockFlow::layoutBlockChildren):
LayoutTests:
- 10:04 PM Changeset in webkit [284234] by
-
- 2 edits in trunk/Source/WebCore
Add UNUSED_PARAM to WebSpeechRecognizerTaskMock.mm
https://bugs.webkit.org/show_bug.cgi?id=231788
Reviewed by Simon Fraser.
- Modules/speech/cocoa/WebSpeechRecognizerTaskMock.mm:
(-[WebSpeechRecognizerTaskMock initWithIdentifier:locale:doMultipleRecognitions:reportInterimResults:maxAlternatives:delegateCallback:]):
(-[WebSpeechRecognizerTaskMock audioSamplesAvailable:]):
- 9:47 PM Changeset in webkit [284233] by
-
- 5 edits1 add in trunk/Source
Add AdAttributionDaemon plist on iOS
https://bugs.webkit.org/show_bug.cgi?id=231309
Patch by Alex Christensen <achristensen@webkit.org> on 2021-10-14
Reviewed by John Wilander.
Source/WebKit:
This adds a plist that tells launchd where to find AdAttributionDaemon and how to launch it.
In another patch I'll add a change to WebsiteDataStoreConfiguration to tell WebKit to use the daemon.
- Shared/EntryPointUtilities/Cocoa/Daemon/PCMDaemonEntryPoint.mm:
(WebKit::registerScheduledActivityHandler):
- Shared/EntryPointUtilities/Cocoa/Daemon/com.apple.webkit.adattributiond.plist: Added.
- WebKit.xcodeproj/project.pbxproj:
Source/WTF:
- wtf/spi/darwin/XPCSPI.h:
- 9:25 PM Changeset in webkit [284232] by
-
- 7 edits in trunk
[iOS] Support accent-color for controls without text
https://bugs.webkit.org/show_bug.cgi?id=231762
rdar://84261702
Reviewed by Tim Horton.
Source/WebCore:
Add support for 'accent-color' on checkboxes, radio buttons,
<input type=range>, <progress> elements, and the <datalist>
indicator button.
- rendering/RenderThemeIOS.h:
- rendering/RenderThemeIOS.mm:
(WebCore::RenderThemeIOS::controlTintColor):
(WebCore::RenderThemeIOS::checkboxRadioBackgroundColor):
(WebCore::RenderThemeIOS::paintCheckbox):
(WebCore::RenderThemeIOS::paintRadio):
(WebCore::RenderThemeIOS::paintProgressBarWithFormControlRefresh):
(WebCore::RenderThemeIOS::paintListButton):
(WebCore::RenderThemeIOS::paintSliderTicks):
(WebCore::RenderThemeIOS::paintSliderTrackWithFormControlRefresh):
LayoutTests:
Add new "Pass" results.
- TestExpectations:
- platform/ios/TestExpectations:
- platform/mac/TestExpectations:
- 8:20 PM Changeset in webkit [284231] by
-
- 2 edits in trunk/LayoutTests
WPT progression after turning on the IFC codepath for inline boxes with background decoration (r284194).
Unreviewed.
- 8:05 PM Changeset in webkit [284230] by
-
- 91 edits3 adds in trunk
Allow WASM to use up to 4GB
https://bugs.webkit.org/show_bug.cgi?id=229353
rdar://81603447
Reviewed by Yusuke Suzuki.
JSTests:
The big-wasm-memory/wasm-memory-requested... tests used to simply expect an OOM at 2GB.
They now expect success at 4GB, and failure at 4GB+1.
The exceptions they expect are now more specific, as previously there was a rounding issue that was causing the specific exceptions not to be thrown (resulting in the generic OOM exception later in the code).
Finally I made them only run on 64-bit platforms since we don't support typed arrays >=2GB on 32-bits, and I made them only run in one configuration since they can take a little bit of time.
I also added a few new tests, specifically checking our handling of large typed arrays, and especially of indices above INT32_MAX.
- stress/big-wasm-memory-grow-no-max.js:
(test):
- stress/big-wasm-memory-grow.js:
(test):
- stress/big-wasm-memory.js:
(test):
- stress/typed-array-always-large.js: Added.
(getArrayLength):
(getByVal):
(putByVal):
(test):
- stress/typed-array-eventually-large.js: Added.
(getArrayLength):
(getByVal):
(putByVal):
(test):
- stress/typed-array-large-eventually-oob.js: Added.
(getArrayLength):
(getByVal):
(putByVal):
(test):
- wasm/regress/wasm-memory-requested-more-than-MAX_ARRAY_BUFFER_SIZE-2.js:
- wasm/regress/wasm-memory-requested-more-than-MAX_ARRAY_BUFFER_SIZE.js:
Source/JavaScriptCore:
While increasing MAX_ARRAY_BUFFER_SIZE to 4GB was easy, it was not remotely the only thing required to get this to work:
- 4GB is not representable in a uint32_t, so I changed all length of ArrayBuffer/TypedArray/etc.. to being UCPURegister.
- This also required changing NewTypedArray in all of LLInt/Baseline/DFG/FTL to accept a non-int32 size.
In order to avoid performance regressions, I had to add speculation in the DFG/FTL, which now have two versions of NewTypedArray (one that takes an Int32 and one that takes a StrictInt52)
- Similarly, GetArrayLength and GetTypedArrayByteOffset now can either return an Int32 or a larger number.
I also had to split them in the DFG/FTL, see GetTypedArrayLengthAsInt52 and GetTypedArrayByteOffsetAsInt52 for examples
- In turns, I had to add CheckInBoundsInt52 since CheckInBounds could not accept the result of GetTypedArrayLengthAsInt52
- I modified the runtime functions for GetByVal/PutByVal/DataViewGet/DataViewSet/AtomicsXXX to accept non-Int32 indices, since for {Int8/UInt8/UInt8Clamped}Array, a maximum size of 4GB implies indices > 2B.
- I added a "mayBeLargeTypedArray" bit to ArrayProfile/UnlinkedArrayProfile/DFG::ArrayMode to track whether such a non-Int32 index was seen to allow proper speculation and specialization of fast paths in the DFG/FTL.
I then updated the runtime functions used by the slow paths to correctly update it.
Unfortunately I ran out of time to add all the speculations/update all the fast paths.
So the following will have to wait for a follow-up patch:
- Accepting large indices in the fast path of GetByVal in the LLInt
- Accepting large indices in the fast paths generated by AccessCase/PolymorphicAccess
- Accepting large indices in the fast paths generated by the DFG/FTL for each of GetByVal/PutByVal/DataViewGet/DataViewSet/AtomicsXXX
The current patch is functional, it will just have dreadful performance if trying to use indices >2B in a {Int8/UInt8/UInt8Clamped}Array.
Other minor changes in this patch:
- Fixed an undefined behavior in ArrayBuffer::createInternal where memcpy could be called on nullptr (the spec explicitly bans this even when length is 0)
- Replaced some repetitive and error-prone bounds checking by calls to WTF::isSumSmallerThanOrEqual, which is clearer, shorter, and reuse CheckedArithmetic facilities to avoid overflow issues.
- Fixed a variety of obsolete comments
- Added support for branch64(RelationalCondition cond, RegisterID left, Imm64 right)
(there was already support for the same but with TrustedImm64)
- Made various AbstractMacroAssembler function constexpr as part of the previous point
- assembler/AbstractMacroAssembler.cpp:
- assembler/AbstractMacroAssembler.h:
(JSC::AbstractMacroAssembler::TrustedImmPtr::TrustedImmPtr):
(JSC::AbstractMacroAssembler::TrustedImmPtr::asIntptr):
(JSC::AbstractMacroAssembler::TrustedImmPtr::asPtr):
(JSC::AbstractMacroAssembler::ImmPtr::ImmPtr):
(JSC::AbstractMacroAssembler::ImmPtr::asTrustedImmPtr):
(JSC::AbstractMacroAssembler::TrustedImm32::TrustedImm32):
(JSC::AbstractMacroAssembler::Imm32::Imm32):
(JSC::AbstractMacroAssembler::Imm32::asTrustedImm32 const):
(JSC::AbstractMacroAssembler::TrustedImm64::TrustedImm64):
(JSC::AbstractMacroAssembler::Imm64::Imm64):
(JSC::AbstractMacroAssembler::Imm64::asTrustedImm64 const):
(JSC::AbstractMacroAssembler::canBlind):
(JSC::AbstractMacroAssembler::shouldBlindForSpecificArch):
- assembler/MacroAssembler.h:
(JSC::MacroAssembler::branch64):
- assembler/MacroAssemblerARM64.h:
(JSC::MacroAssemblerARM64::shouldBlindForSpecificArch):
(JSC::MacroAssemblerARM64::branch64):
- assembler/MacroAssemblerARM64E.h:
(JSC::MacroAssemblerARM64E::untagArrayPtrLength64):
(JSC::MacroAssemblerARM64E::untagArrayPtrLength32): Deleted.
- assembler/MacroAssemblerX86Common.h:
(JSC::MacroAssemblerX86Common::canBlind):
(JSC::MacroAssemblerX86Common::shouldBlindForSpecificArch):
- bytecode/AccessCase.cpp:
(JSC::AccessCase::needsScratchFPR const):
(JSC::AccessCase::generateWithGuard):
- bytecode/ArrayProfile.h:
(JSC::ArrayProfile::setMayBeLargeTypedArray):
(JSC::ArrayProfile::mayBeLargeTypedArray const):
(JSC::UnlinkedArrayProfile::UnlinkedArrayProfile):
(JSC::UnlinkedArrayProfile::update):
- dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
- dfg/DFGArgumentsEliminationPhase.cpp:
- dfg/DFGArrayMode.cpp:
(JSC::DFG::ArrayMode::refine const):
- dfg/DFGArrayMode.h:
(JSC::DFG::ArrayMode::ArrayMode):
(JSC::DFG::ArrayMode::mayBeLargeTypedArray const):
(JSC::DFG::ArrayMode::withType const):
(JSC::DFG::ArrayMode::withSpeculation const):
(JSC::DFG::ArrayMode::withConversion const):
(JSC::DFG::ArrayMode::withTypeAndConversion const):
(JSC::DFG::ArrayMode::withArrayClassAndSpeculationAndMayBeLargeTypedArray const):
(JSC::DFG::ArrayMode::speculationFromProfile):
(JSC::DFG::ArrayMode::withSpeculationFromProfile const):
(JSC::DFG::ArrayMode::withProfile const):
(JSC::DFG::ArrayMode::operator== const):
(JSC::DFG::ArrayMode::withArrayClass const): Deleted.
- dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::handleIntrinsicGetter):
- dfg/DFGClobberize.h:
(JSC::DFG::clobberize):
- dfg/DFGCommon.h:
(JSC::DFG::enableInt52):
- dfg/DFGConstantFoldingPhase.cpp:
(JSC::DFG::ConstantFoldingPhase::foldConstants):
- dfg/DFGDoesGC.cpp:
(JSC::DFG::doesGC):
- dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupNode):
(JSC::DFG::FixupPhase::convertToGetArrayLength):
(JSC::DFG::FixupPhase::prependGetArrayLength): Deleted.
- dfg/DFGGenerationInfo.h:
- dfg/DFGHeapLocation.cpp:
(WTF::printInternal):
- dfg/DFGHeapLocation.h:
- dfg/DFGIntegerRangeOptimizationPhase.cpp:
- dfg/DFGNode.h:
(JSC::DFG::Node::hasStorageChild const):
(JSC::DFG::Node::storageChildIndex):
(JSC::DFG::Node::hasArrayMode):
- dfg/DFGNodeType.h:
- dfg/DFGOperations.cpp:
(JSC::DFG::putByVal):
(JSC::DFG::newTypedArrayWithSize):
(JSC::DFG::JSC_DEFINE_JIT_OPERATION):
- dfg/DFGOperations.h:
- dfg/DFGPredictionPropagationPhase.cpp:
- dfg/DFGSSALoweringPhase.cpp:
(JSC::DFG::SSALoweringPhase::handleNode):
(JSC::DFG::SSALoweringPhase::lowerBoundsCheck):
- dfg/DFGSafeToExecute.h:
(JSC::DFG::safeToExecute):
- dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::jumpForTypedArrayOutOfBounds):
(JSC::DFG::SpeculativeJIT::emitTypedArrayBoundsCheck):
(JSC::DFG::SpeculativeJIT::compileGetByValOnIntTypedArray):
(JSC::DFG::SpeculativeJIT::compilePutByValForIntTypedArray):
(JSC::DFG::SpeculativeJIT::compileGetByValOnFloatTypedArray):
(JSC::DFG::SpeculativeJIT::compilePutByValForFloatTypedArray):
(JSC::DFG::SpeculativeJIT::cageTypedArrayStorage):
(JSC::DFG::SpeculativeJIT::compileGetTypedArrayByteOffset):
(JSC::DFG::SpeculativeJIT::compileGetArrayLength):
(JSC::DFG::SpeculativeJIT::compileNewTypedArrayWithSize):
(JSC::DFG::SpeculativeJIT::emitNewTypedArrayWithSizeInRegister):
(JSC::DFG::SpeculativeJIT::compileNewTypedArray):
- dfg/DFGSpeculativeJIT.h:
- dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compileGetByVal):
(JSC::DFG::SpeculativeJIT::compile):
- dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compileNewTypedArrayWithInt52Size):
(JSC::DFG::SpeculativeJIT::compileGetTypedArrayLengthAsInt52):
(JSC::DFG::SpeculativeJIT::compileGetTypedArrayByteOffsetAsInt52):
(JSC::DFG::SpeculativeJIT::compile):
- dfg/DFGTypeCheckHoistingPhase.cpp:
(JSC::DFG::TypeCheckHoistingPhase::identifyRedundantStructureChecks):
(JSC::DFG::TypeCheckHoistingPhase::identifyRedundantArrayChecks):
- dfg/DFGValidate.cpp:
- ftl/FTLCapabilities.cpp:
(JSC::FTL::canCompile):
- ftl/FTLLowerDFGToB3.cpp:
(JSC::FTL::DFG::LowerDFGToB3::validateAIState):
(JSC::FTL::DFG::LowerDFGToB3::compileNode):
(JSC::FTL::DFG::LowerDFGToB3::emitGetTypedArrayByteOffsetExceptSettingResult):
(JSC::FTL::DFG::LowerDFGToB3::compileGetTypedArrayByteOffset):
(JSC::FTL::DFG::LowerDFGToB3::compileGetTypedArrayByteOffsetAsInt52):
(JSC::FTL::DFG::LowerDFGToB3::compileGetArrayLength):
(JSC::FTL::DFG::LowerDFGToB3::compileGetTypedArrayLengthAsInt52):
(JSC::FTL::DFG::LowerDFGToB3::compileCheckInBoundsInt52):
(JSC::FTL::DFG::LowerDFGToB3::compilePutByVal):
(JSC::FTL::DFG::LowerDFGToB3::compileNewTypedArray):
(JSC::FTL::DFG::LowerDFGToB3::emitNewTypedArrayWithSize):
(JSC::FTL::DFG::LowerDFGToB3::compileCompareStrictEq):
- ftl/FTLOutput.h:
(JSC::FTL::Output::load64NonNegative):
- jit/IntrinsicEmitter.cpp:
(JSC::IntrinsicGetterAccessCase::emitIntrinsicGetter):
- jit/JITOperations.cpp:
(JSC::putByVal):
(JSC::getByVal):
- llint/LLIntOfflineAsmConfig.h:
- llint/LLIntSlowPaths.cpp:
(JSC::LLInt::getByVal):
(JSC::LLInt::LLINT_SLOW_PATH_DECL):
- llint/LowLevelInterpreter.asm:
- llint/LowLevelInterpreter32_64.asm:
- llint/LowLevelInterpreter64.asm:
- runtime/ArrayBuffer.cpp:
(JSC::SharedArrayBufferContents::SharedArrayBufferContents):
(JSC::ArrayBufferContents::ArrayBufferContents):
(JSC::ArrayBufferContents::tryAllocate):
(JSC::ArrayBuffer::create):
(JSC::ArrayBuffer::createAdopted):
(JSC::ArrayBuffer::createFromBytes):
(JSC::ArrayBuffer::tryCreate):
(JSC::ArrayBuffer::createUninitialized):
(JSC::ArrayBuffer::tryCreateUninitialized):
(JSC::ArrayBuffer::createInternal):
(JSC::ArrayBuffer::clampValue):
(JSC::ArrayBuffer::clampIndex const):
(JSC::ArrayBuffer::sliceWithClampedIndex const):
- runtime/ArrayBuffer.h:
(JSC::ArrayBufferContents::sizeInBytes const):
(JSC::ArrayBuffer::byteLength const):
(JSC::ArrayBuffer::gcSizeEstimateInBytes const):
- runtime/ArrayBufferView.cpp:
(JSC::ArrayBufferView::ArrayBufferView):
- runtime/ArrayBufferView.h:
(JSC::ArrayBufferView::byteOffset const):
(JSC::ArrayBufferView::byteLength const):
(JSC::ArrayBufferView::verifyByteOffsetAlignment):
(JSC::ArrayBufferView::verifySubRangeLength):
(JSC::ArrayBufferView::clampOffsetAndNumElements):
(JSC::ArrayBufferView::setImpl):
(JSC::ArrayBufferView::setRangeImpl):
(JSC::ArrayBufferView::getRangeImpl):
(JSC::ArrayBufferView::zeroRangeImpl):
(JSC::ArrayBufferView::calculateOffsetAndLength): Deleted.
- runtime/AtomicsObject.cpp:
- runtime/DataView.cpp:
(JSC::DataView::DataView):
(JSC::DataView::create):
- runtime/DataView.h:
- runtime/GenericTypedArrayView.h:
- runtime/GenericTypedArrayViewInlines.h:
(JSC::GenericTypedArrayView<Adaptor>::GenericTypedArrayView):
(JSC::GenericTypedArrayView<Adaptor>::create):
(JSC::GenericTypedArrayView<Adaptor>::tryCreate):
(JSC::GenericTypedArrayView<Adaptor>::createUninitialized):
(JSC::GenericTypedArrayView<Adaptor>::tryCreateUninitialized):
(JSC::GenericTypedArrayView<Adaptor>::subarray const): Deleted.
- runtime/JSArrayBufferView.cpp:
(JSC::JSArrayBufferView::ConstructionContext::ConstructionContext):
(JSC::JSArrayBufferView::byteLength const):
(JSC::JSArrayBufferView::slowDownAndWasteMemory):
(JSC::JSArrayBufferView::possiblySharedImpl):
- runtime/JSArrayBufferView.h:
(JSC::JSArrayBufferView::sizeOf):
(JSC::JSArrayBufferView::ConstructionContext::length const):
(JSC::JSArrayBufferView::length const):
- runtime/JSArrayBufferViewInlines.h:
(JSC::JSArrayBufferView::byteOffsetImpl):
(JSC::JSArrayBufferView::byteOffset):
(JSC::JSArrayBufferView::byteOffsetConcurrently):
- runtime/JSCJSValue.h:
- runtime/JSCJSValueInlines.h:
(JSC::JSValue::toIndex const):
(JSC::JSValue::toTypedArrayIndex const):
- runtime/JSDataView.cpp:
(JSC::JSDataView::create):
(JSC::JSDataView::createUninitialized):
(JSC::JSDataView::set):
(JSC::JSDataView::setIndex):
- runtime/JSDataView.h:
- runtime/JSDataViewPrototype.cpp:
(JSC::getData):
(JSC::setData):
- runtime/JSGenericTypedArrayView.h:
- runtime/JSGenericTypedArrayViewConstructorInlines.h:
(JSC::constructGenericTypedArrayViewWithArguments):
(JSC::constructGenericTypedArrayViewImpl):
- runtime/JSGenericTypedArrayViewInlines.h:
(JSC::JSGenericTypedArrayView<Adaptor>::create):
(JSC::JSGenericTypedArrayView<Adaptor>::createWithFastVector):
(JSC::JSGenericTypedArrayView<Adaptor>::createUninitialized):
(JSC::JSGenericTypedArrayView<Adaptor>::validateRange):
(JSC::JSGenericTypedArrayView<Adaptor>::setWithSpecificType):
(JSC::JSGenericTypedArrayView<Adaptor>::set):
- runtime/JSObject.h:
(JSC::JSObject::putByIndexInline):
(JSC::JSObject::tryGetIndexQuickly const):
(JSC::JSObject::trySetIndexQuickly):
(JSC::JSObject::canSetIndexQuickly): Deleted.
- runtime/JSObjectInlines.h:
(JSC::JSObject::getIndexQuicklyForTypedArray const):
(JSC::JSObject::setIndexQuicklyForArrayStorageIndexingType):
(JSC::JSObject::trySetIndexQuicklyForTypedArray):
(JSC::JSObject::canSetIndexQuicklyForTypedArray const): Deleted.
- runtime/Operations.h:
(JSC::getByValWithIndex):
- wasm/WasmPageCount.h:
Source/WebCore:
Some parts of WebCore use TypedArrays, and would not build after I made the length() function on typed arrays return UCPURegister instead of uint32_t.
Most fixes were trivial, the only exception is SerializedScriptValue.cpp, where I had to increment the version number, as ArrayBuffer (and ArrayBufferViews) now write/read their length in a 64-bit field (and same for the byteOffset of ArrayBufferView).
I also had to add a test in PixelBuffer.cpp that the size of the ArrayBuffer it will try to allocate is < INT32_MAX.
Otherwise, the test LayoutTests/fast/shapes/shape-outside-floats/shape-outside-imagedata-overflow.html which checks that very large images are properly rejected without crashing, would timeout.
No new tests, as the code is already extensively covered by existing tests, and I implemented no new features.
- Modules/webaudio/AudioBuffer.cpp:
(WebCore::AudioBuffer::copyFromChannel):
(WebCore::AudioBuffer::copyToChannel):
- Modules/webaudio/RealtimeAnalyser.cpp:
(WebCore::RealtimeAnalyser::getByteFrequencyData):
(WebCore::RealtimeAnalyser::getFloatTimeDomainData):
(WebCore::RealtimeAnalyser::getByteTimeDomainData):
- bindings/js/SerializedScriptValue.cpp:
(WebCore::CloneSerializer::dumpArrayBufferView):
(WebCore::CloneSerializer::dumpImageBitmap):
(WebCore::CloneSerializer::dumpIfTerminal):
(WebCore::CloneDeserializer::readArrayBufferImpl):
(WebCore::CloneDeserializer::readArrayBuffer):
(WebCore::CloneDeserializer::readArrayBufferViewImpl):
(WebCore::CloneDeserializer::readArrayBufferView):
- bindings/js/SerializedScriptValue.h:
(WebCore::SerializedScriptValue::encode const):
(WebCore::SerializedScriptValue::decode):
- fileapi/NetworkSendQueue.cpp:
(WebCore::NetworkSendQueue::enqueue):
- platform/graphics/PixelBuffer.cpp:
(WebCore::PixelBuffer::tryCreate):
- platform/graphics/iso/ISOBox.h:
Source/WTF:
Made some of CheckedArithmetic constexpr, and added isSumSmallerThanOrEqual since it is a commonly used test in ArrayBuffer and easy to get wrong in terms of overflow.
- wtf/CheckedArithmetic.h:
(WTF::isInBounds):
(WTF::convertSafely):
(WTF::isSumSmallerThanOrEqual):
LayoutTests:
Rebaselined three following tests as different or fewer error messages appear on the console.
Also changed currentVersion in serialized-script-value.html from 9 to 10.
- fast/canvas/canvas-getImageData-invalid-result-buffer-crash-expected.txt:
- fast/storage/serialized-script-value.html:
- webaudio/OfflineAudioContext-bad-buffer-crash-expected.txt:
- webaudio/OfflineAudioContext/bad-buffer-length-expected.txt:
- 7:55 PM Changeset in webkit [284229] by
-
- 2 edits in trunk/Tools
TestWebKitAPI.PrivateClickMeasurement.FraudPrevention is a constant timeout
https://bugs.webkit.org/show_bug.cgi?id=231393
<rdar://problem/84000081>
Reviewed by Alex Christensen and Kate Cheney as part of https://bugs.webkit.org/show_bug.cgi?id=231553.
- TestWebKitAPI/Tests/WebKitCocoa/EventAttribution.mm:
(TestWebKitAPI::TEST):
PrivateClickMeasurement.FraudPrevention fixed. It was missing a call to
_setPrivateClickMeasurementAppBundleIDForTesting() so that the app bundle ID
for the triggering event matches the app bundle ID where the click happened.
- 7:21 PM Changeset in webkit [284228] by
-
- 2 edits in trunk/Source/WTF
Enable lazy image loading by default
https://bugs.webkit.org/show_bug.cgi?id=208094
Patch by Nikos Mouchtaris <Nikos Mouchtaris> on 2021-10-14
Reviewed by Simon Fraser.
Turn on lazy image load by default in WebKit.
- Scripts/Preferences/WebPreferencesExperimental.yaml:
- 7:20 PM Changeset in webkit [284227] by
-
- 3 edits in trunk/Tools
[webkitpy] Occasional exception thrown in change_result_to_failure when repeating flaky layout tests
https://bugs.webkit.org/show_bug.cgi?id=229788
Reviewed by Jonathan Bedard.
When a iterated/repeated flaky test moves from an unexpected Failure to
successive unexpected Pass, the currently stored result is still the
Failure (likely due to r235467). This may cause change_result_to_failure
to raise KeyError trying to forcibly remove() the Failure result from
the test_by_expectations set twice.
This commit relaxes the behavior to just ask to discard the value from
the set.
- Scripts/webkitpy/layout_tests/controllers/layout_test_runner_unittest.py:
(LayoutTestRunnerTests.test_update_summary_with_result): Added test case.
- Scripts/webkitpy/layout_tests/models/test_run_results.py:
(TestRunResults.change_result_to_failure): Use set.discard to avoid
KeyErrors.
- 7:02 PM Changeset in webkit [284226] by
-
- 6 edits in trunk
Service workers running on the main thread should use the main VM
https://bugs.webkit.org/show_bug.cgi?id=231753
Reviewed by Geoffrey Garen.
Source/WebCore:
ervice workers running on the main thread should use the main VM. This makes life easier for injected
bundle clients and there is no strong reason to use a separate VM since VMs are mainly used for thread
safety / isolation.
No new tests, extended existing API test.
- workers/WorkerOrWorkletGlobalScope.cpp:
(WebCore::WorkerOrWorkletGlobalScope::isContextThread const):
WorkerOrWorkletThread::thread() returns null when the service worker is running on the main thread.
Update WorkerOrWorkletGlobalScope::isContextThread() to deal with that and properly treats the
main thread as the context thread in this case.
- workers/WorkerOrWorkletScriptController.cpp:
(WebCore::WorkerOrWorkletScriptController::WorkerOrWorkletScriptController):
(WebCore::WorkerOrWorkletScriptController::scheduleExecutionTermination):
Tools:
Extend API test coverage.
- TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerPagePlugIn.mm:
(-[ServiceWorkerPagePlugIn webProcessPlugInBrowserContextController:serviceWorkerGlobalObjectIsAvailableForFrame:inScriptWorld:]):
- 6:58 PM Changeset in webkit [284225] by
-
- 13 edits in trunk
[iOS] Paint <datalist> indicator in RenderTheme
https://bugs.webkit.org/show_bug.cgi?id=231755
rdar://84261604
Reviewed by Tim Horton.
Source/WebCore:
Currently, the <datalist> indicator is painted using the 'content'
property and an SVG image. With the existing implementation, it is
not possible to tint the indicator, when an accent-color is supplied.
To support control tinting, and better align with the way other native
controls are painted, move the painting into RenderTheme.
Covered by existing tests.
- css/html.css:
(input::-webkit-list-button):
- rendering/RenderTheme.cpp:
(WebCore::RenderTheme::paint):
- rendering/RenderTheme.h:
(WebCore::RenderTheme::paintListButton):
- rendering/RenderThemeIOS.h:
- rendering/RenderThemeIOS.mm:
(WebCore::RenderThemeIOS::isControlStyled const):
Do not draw the native indicator if the style has content or the
content has explicitly been set to none. This ensures we maintain
compatibility for pages that still use 'content' to customize the
indicator.
(WebCore::RenderThemeIOS::paintListButton):
Draw the indicator. The path is taken directly from the SVG.
- rendering/style/RenderStyle.cpp:
(WebCore::RenderStyle::RenderStyle):
- rendering/style/RenderStyle.h:
Add setHasExplicitlyClearedContent / hasExplicitlyClearedContent to
detect whether the author has explicitly cleared content, in which
case we do not paint the native indicator.
(WebCore::RenderStyle::setHasExplicitlyClearedContent):
(WebCore::RenderStyle::hasExplicitlyClearedContent const):
(WebCore::RenderStyle::NonInheritedFlags::operator== const):
- style/StyleBuilderCustom.h:
(WebCore::Style::BuilderCustom::applyInitialContent):
(WebCore::Style::BuilderCustom::applyValueContent):
- style/StyleResolver.cpp:
(WebCore::Style::elementTypeHasAppearanceFromUAStyle):
Add the datalist button to the list of element types that have
appearance from UA style, so that we can determine whether or not to
drop native appearance.
LayoutTests:
Rebaseline tests.
- platform/ios-simulator/fast/forms/datalist/datalist-searchinput-appearance-expected.txt:
- platform/ios-simulator/fast/forms/datalist/datalist-textinput-appearance-expected.txt:
- 6:49 PM Changeset in webkit [284224] by
-
- 3 edits in trunk/Source/JavaScriptCore
Make unlinked Baseline JIT scope operations bias the order of checks to the ResolveType that profiling tells us we are likely to be
https://bugs.webkit.org/show_bug.cgi?id=231715
Reviewed by Yusuke Suzuki.
This is a small throughout win in the code generated by unlinked baseline JIT.
- jit/JIT.h:
- jit/JITPropertyAccess.cpp:
(JSC::JIT::emit_op_resolve_scope):
(JSC::JIT::generateOpResolveScopeThunk):
(JSC::JIT::emit_op_get_from_scope):
(JSC::JIT::generateOpGetFromScopeThunk):
(JSC::JIT::emit_op_put_to_scope):
- 6:44 PM Changeset in webkit [284223] by
-
- 5 edits in trunk
[JS IPC] Implement a way to synchronously wait for an incoming IPC message
https://bugs.webkit.org/show_bug.cgi?id=231745
Reviewed by Tim Horton.
Source/WebKit:
Add support for
IPC.waitForMessage()
, which blocks until we receive an incoming IPC message that matches the
given message name and destination ID. We use this new method to fix the failing API test
IPCTestingAPI.CanReceiveIPCSemaphore, which verifies that we're able to receive, decode, and call methods on
an IPC semaphore sent from the GPU process to the web process. In this case, we wait for the incoming
"RemoteRenderingBackendProxy::DidCreateWakeUpSemaphoreForDisplayListStream" message after creating the remote
rendering backend in the GPU process.
- Platform/IPC/Connection.h:
- WebProcess/WebPage/IPCTestingAPI.cpp:
(WebKit::IPCTestingAPI::JSIPCStreamClientConnection::setWakeUpSemaphore):
Also add a method on JSIPCStreamClientConnection to install a given IPC semaphore as the wakeup semaphore for
the IPC stream. We'll use this in the next patch when implementing the ability to send messages through the IPC
stream.
(WebKit::IPCTestingAPI::JSIPCStreamClientConnection::staticFunctions):
(WebKit::IPCTestingAPI::JSIPCStreamClientConnection::streamBuffer):
Drive-by fix: make sure we grab the VM lock before trying to unwrap JS objects.
(WebKit::IPCTestingAPI::JSIPC::staticFunctions):
(WebKit::IPCTestingAPI::JSIPC::sendMessage):
Drive-by fix: correct a minor typo in the exception message.
(WebKit::IPCTestingAPI::extractSyncIPCMessageInfo):
Pull logic for extracting an IPC::Connection, destination ID, message name, and IPC timeout into a separate
helper function, and use it inwaitForMessage
as well assendSyncMessage
.
(WebKit::IPCTestingAPI::JSIPC::waitForMessage):
(WebKit::IPCTestingAPI::JSIPC::sendSyncMessage):
Tools:
Adjust an existing JS IPC test, IPCTestingAPI.CanReceiveIPCSemaphore, so that it uses the new JSIPC method to
wait for RemoteRenderingBackend's IPC stream wakeup semaphore to arrive. This fixes
IPCTestingAPI.CanReceiveIPCSemaphore (which is one of the two IPC tests that time out after r284079).
We also adjust IPCTestingAPI.CanReceiveSharedMemory to wait for and install the wakeup semaphore into the IPC
stream connection; however, this alone isn't sufficient to fix the test, since the test also requires the
ability to send synchronous messages through the IPC stream.
See WebKit ChangeLog for more details.
- TestWebKitAPI/Tests/WebKitCocoa/IPCTestingAPI.mm:
(TEST):
- 6:24 PM Changeset in webkit [284222] by
-
- 2 edits in trunk/Source/WebCore/PAL
Fix non-internal iOS builds after r284220
https://bugs.webkit.org/show_bug.cgi?id=231621
- pal/spi/cocoa/TCCSPI.h:
- 5:49 PM Changeset in webkit [284221] by
-
- 2 edits in trunk/Source/WebKit
Fix build after r284216
https://bugs.webkit.org/show_bug.cgi?id=231523
- WebKit.xcodeproj/project.pbxproj:
- 5:39 PM Changeset in webkit [284220] by
-
- 19 edits1 move in trunk/Source
Adopt attribution AVCaptureSession SPI for GPU process
https://bugs.webkit.org/show_bug.cgi?id=231621
<rdar://problem/80748535>
Reviewed by Eric Carlson.
Source/WebCore:
No new tests. Manually tested by checking App Privacy Report data.
- SourcesCocoa.txt:
- WebCore.xcodeproj/project.pbxproj:
- platform/mediastream/RealtimeMediaSourceCenter.h:
- platform/mediastream/mac/AVVideoCaptureSource.mm:
(WebCore::AVVideoCaptureSource::setupSession):
Source/WebCore/PAL:
- PAL.xcodeproj/project.pbxproj:
- pal/spi/cocoa/AVFoundationSPI.h:
- pal/spi/cocoa/TCCSPI.h: Renamed from Source/WebKit/Platform/spi/ios/TCCSPI.h.
Source/WebKit:
Add SPI to attribute camera access to host app in the GPU process.
- GPUProcess/GPUConnectionToWebProcess.cpp:
- GPUProcess/GPUConnectionToWebProcess.h:
- GPUProcess/cocoa/GPUConnectionToWebProcessCocoa.mm:
(WebKit::GPUConnectionToWebProcess::setTCCIdentity):
- Shared/Cocoa/TCCSoftLink.h:
- Shared/Cocoa/TCCSoftLink.mm:
- UIProcess/Cocoa/UserMediaCaptureManagerProxy.cpp:
(WebKit::UserMediaCaptureManagerProxy::startProducingData):
- UIProcess/Cocoa/UserMediaCaptureManagerProxy.h:
(WebKit::UserMediaCaptureManagerProxy::ConnectionProxy::setTCCIdentity):
- WebKit.xcodeproj/project.pbxproj:
- 5:24 PM Changeset in webkit [284219] by
-
- 6 edits in branches/safari-613.1.5-branch
Cherry-pick r284215. rdar://problem/84277677
Fix build failures with newer clang
https://bugs.webkit.org/show_bug.cgi?id=231783
Reviewed by Chris Dumez.
Source/WebKit:
We do not need to define copy constructor and assignment operator if we would like to use the default implementation.
The default copy constructor and assignment operator works well for TouchBarMenuItemData, so let's drop it.
- Shared/TouchBarMenuItemData.h:
Source/WTF:
In Identified case, we make copy constructor and assignment operator protected in IdentifiedBase to hide
the ability to copy Identified / ThreadSafeIdentified to be copied to IdentifiedBase. So, in the derived
classes, we should define both copy constructor and assignment operator.
- wtf/Identified.h:
Tools:
Since this is Objective-C (not Objective-C++), we cannot use
static const uint32_t
value for array size.
Use enum hack instead.
- DumpRenderTree/mac/LayoutTestHelper.m: (displayUUIDStrings):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@284215 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 5:20 PM Changeset in webkit [284218] by
-
- 3 edits in trunk/Tools
Fix some iOS builds after r284203
https://bugs.webkit.org/show_bug.cgi?id=231718
- TestWebKitAPI/cocoa/DaemonTestUtilities.h:
- TestWebKitAPI/cocoa/DaemonTestUtilities.mm:
Linker couldn't find OSLaunchdJob. It's only used on macOS, so only build it on macOS.
- 5:18 PM Changeset in webkit [284217] by
-
- 2 edits in trunk/Source/WebKit
Update deleteLocalAuthenticatorCredentialWithID and setUsernameForLocalCredentialWithID according to internal needs
https://bugs.webkit.org/show_bug.cgi?id=231777
rdar://84276065
Patch by John Pascoe <J Pascoe> on 2021-10-14
Reviewed by Brent Fulgham.
Covered by manual tests.
- UIProcess/API/Cocoa/_WKWebAuthenticationPanel.mm:
(+[_WKWebAuthenticationPanel deleteLocalAuthenticatorCredentialWithID:]):
(+[_WKWebAuthenticationPanel setUsernameForLocalCredentialWithID:username:]):
- 4:55 PM Changeset in webkit [284216] by
-
- 15 edits1 add1 delete in trunk
Reduce memory use of AdAttributionDaemon
https://bugs.webkit.org/show_bug.cgi?id=231523
Reviewed by Brady Eidson.
Source/WebCore:
This makes a new library, libWebCoreStatic.a, which contains the pieces of WebCore that adattributiond needs.
That way, adattributiond doesn't need to link to WebKit.framework, which greatly reduces its memory use and
puts it below the jetsam threshold.
- CMakeLists.txt:
- Configurations/WebCore.xcconfig:
- Sources.txt:
- SourcesCocoa.txt:
- WebCore.xcodeproj/project.pbxproj:
Source/WebKit:
- Configurations/adattributiond.xcconfig:
- Shared/API/Cocoa/WKMain.h:
- Shared/API/Cocoa/WKMain.mm:
(WKXPCServiceMain):
(WKPCMDaemonMain): Deleted.
- Shared/EntryPointUtilities/Cocoa/Daemon/adattributiond.cpp: Renamed from Source/WebKit/Shared/EntryPointUtilities/Cocoa/Daemon/adattributiond.c.
(main):
- Sources.txt:
- SourcesCocoa.txt:
- WebKit.xcodeproj/project.pbxproj:
Tools:
- TestWebKitAPI/Tests/WebKitCocoa/EventAttribution.mm:
(TestWebKitAPI::TEST):
- 4:48 PM Changeset in webkit [284215] by
-
- 6 edits in trunk
Fix build failures with newer clang
https://bugs.webkit.org/show_bug.cgi?id=231783
Reviewed by Chris Dumez.
Source/WebKit:
We do not need to define copy constructor and assignment operator if we would like to use the default implementation.
The default copy constructor and assignment operator works well for TouchBarMenuItemData, so let's drop it.
- Shared/TouchBarMenuItemData.h:
Source/WTF:
In Identified case, we make copy constructor and assignment operator protected in IdentifiedBase to hide
the ability to copy Identified / ThreadSafeIdentified to be copied to IdentifiedBase. So, in the derived
classes, we should define both copy constructor and assignment operator.
- wtf/Identified.h:
Tools:
Since this is Objective-C (not Objective-C++), we cannot use
static const uint32_t
value for array size.
Use enum hack instead.
- DumpRenderTree/mac/LayoutTestHelper.m:
(displayUUIDStrings):
- 4:35 PM Changeset in webkit [284214] by
-
- 6 edits in trunk
Promote WKPreferences._needsSiteSpecificQuirks to API
https://bugs.webkit.org/show_bug.cgi?id=230721
<rdar://83255206>
Reviewed by Jer Noble.
Source/WebKit:
Add a new API
WKPreferences.isSetSiteSpecificQuirksModeEnabled
.
No new tests. Updated API tests to use the new API.
- UIProcess/API/Cocoa/WKPreferences.h:
- UIProcess/API/Cocoa/WKPreferences.mm:
(-[WKPreferences isSiteSpecificQuirksModeEnabled]):
(-[WKPreferences setSiteSpecificQuirksModeEnabled:]):
- UIProcess/API/Cocoa/WKPreferencesPrivate.h:
Tools:
Updated API tests to use the new API.
- TestWebKitAPI/Tests/WebKitCocoa/WebsitePolicies.mm:
(TEST):
- 4:30 PM Changeset in webkit [284213] by
-
- 152 edits1 delete in trunk/Source
Remove Variant.h
https://bugs.webkit.org/show_bug.cgi?id=231744
Patch by Alex Christensen <achristensen@webkit.org> on 2021-10-14
Reviewed by Darin Adler.
Source/JavaScriptCore:
- jit/AssemblyHelpers.h:
- jit/SnippetReg.h:
- parser/Lexer.cpp:
- parser/VariableEnvironment.h:
- runtime/BytecodeCacheError.h:
- runtime/CachePayload.h:
- runtime/CacheUpdate.h:
- runtime/TemporalObject.h:
- runtime/TemporalTimeZone.h:
- wasm/WasmLLIntGenerator.cpp:
Source/WebCore:
- Modules/async-clipboard/ClipboardItemBindingsDataSource.h:
- Modules/fetch/FetchBody.h:
- Modules/fetch/FetchHeaders.h:
- Modules/indexeddb/IDBCursor.h:
- Modules/indexeddb/IDBGetAllResult.h:
- Modules/indexeddb/IDBKey.h:
- Modules/indexeddb/IDBKeyData.h:
- Modules/indexeddb/IDBKeyPath.h:
- Modules/indexeddb/IDBRequest.cpp:
- Modules/mediacontrols/MediaControlsHost.cpp:
- Modules/mediacontrols/MediaControlsHost.h:
- Modules/mediastream/MediaTrackConstraints.h:
- Modules/mediastream/RTCIceServer.h:
- Modules/paymentrequest/PaymentMethodChangeEvent.h:
- Modules/paymentrequest/PaymentRequest.h:
- Modules/push-api/PushEventInit.h:
- Modules/push-api/PushSubscription.h:
- Modules/push-api/PushSubscriptionOptionsInit.h:
- Modules/speech/SpeechRecognitionUpdate.h:
- Modules/webaudio/AudioContextOptions.h:
- Modules/webaudio/AudioNode.h:
- Modules/webxr/WebXRWebGLLayer.h:
- accessibility/AccessibilityObjectInterface.h:
- accessibility/isolatedtree/AXIsolatedObject.h:
- accessibility/mac/WebAccessibilityObjectWrapperBase.h:
- animation/AnimationEffect.h:
- animation/EffectTiming.h:
- animation/OptionalEffectTiming.h:
- bindings/IDLTypes.h:
- bindings/js/BufferSource.h:
- bindings/js/JSDOMConvertUnion.h:
- bindings/js/JSValueInWrappedObject.h:
- bindings/scripts/CodeGeneratorJS.pm:
(AddToIncludesForIDLType):
- crypto/CryptoAlgorithm.h:
- crypto/CryptoKey.h:
- crypto/SubtleCrypto.h:
- crypto/algorithms/CryptoAlgorithmAES_KW.cpp:
- crypto/algorithms/CryptoAlgorithmHMAC.cpp:
- crypto/algorithms/CryptoAlgorithmRSAES_PKCS1_v1_5.cpp:
- crypto/algorithms/CryptoAlgorithmRSASSA_PKCS1_v1_5.cpp:
- crypto/algorithms/CryptoAlgorithmRSA_OAEP.cpp:
- crypto/algorithms/CryptoAlgorithmRSA_PSS.cpp:
- crypto/parameters/CryptoAlgorithmEcdsaParams.h:
- crypto/parameters/CryptoAlgorithmHmacKeyParams.h:
- crypto/parameters/CryptoAlgorithmRsaHashedImportParams.h:
- crypto/parameters/CryptoAlgorithmRsaHashedKeyGenParams.h:
- css/CSSCustomPropertyValue.h:
- css/CSSFontFaceSet.h:
- css/CSSStyleDeclaration.cpp:
- css/DOMMatrixReadOnly.h:
- css/FontFace.h:
- css/StyleRule.h:
- css/parser/CSSPropertyParserHelpers.h:
- css/typedom/CSSNumericValue.h:
- css/typedom/CSSUnparsedValue.cpp:
- css/typedom/CSSUnparsedValue.h:
- dom/ContainerNode.cpp:
- dom/DocumentMarker.h:
- dom/EventTarget.h:
- dom/MessageEvent.h:
- dom/Node.cpp:
- editing/AlternativeTextController.h:
- fileapi/Blob.h:
- fileapi/NetworkSendQueue.h:
- html/DOMFormData.h:
- html/HTMLAllCollection.cpp:
- html/ImageBitmap.cpp:
- html/URLSearchParams.h:
- html/canvas/CanvasStyle.h:
- inspector/InspectorCanvas.cpp:
- inspector/InspectorCanvas.h:
- inspector/InspectorCanvasCallTracer.cpp:
- inspector/InspectorShaderProgram.cpp:
- inspector/InspectorShaderProgram.h:
- inspector/agents/InspectorCanvasAgent.cpp:
- layout/integration/InlineIteratorBox.h:
- layout/integration/InlineIteratorLine.h:
- page/DOMWindow.cpp:
- page/DiagnosticLoggingClient.h:
- page/IntersectionObserver.h:
- page/Performance.h:
- page/PerformanceMeasureOptions.h:
- page/scrolling/ScrollingCoordinator.h:
- platform/PasteboardCustomData.h:
- platform/SharedBuffer.h:
- platform/audio/AudioStreamDescription.h:
- platform/generic/KeyedDecoderGeneric.cpp:
- platform/graphics/DecodingOptions.h:
- platform/graphics/FontCascadeDescription.h:
- platform/graphics/FontPalette.h:
- platform/graphics/FontPaletteValues.h:
- platform/graphics/Gradient.h:
- platform/graphics/InlinePathData.h:
- platform/graphics/cocoa/SourceBufferParser.h:
- platform/graphics/cocoa/SourceBufferParserWebM.h:
- platform/graphics/displaylists/DisplayListItems.h:
- platform/graphics/texmap/TextureMapperPlatformLayerBuffer.h:
- platform/network/DNS.h:
- platform/network/FormData.h:
- platform/network/curl/CurlSSLHandle.h:
- platform/sql/SQLValue.h:
- platform/sql/SQLiteStatement.cpp:
- platform/xr/PlatformXR.h:
- testing/TypeConversions.h:
- workers/service/ExtendableMessageEvent.h:
- workers/service/ServiceWorkerTypes.h:
- xml/XMLHttpRequest.h:
Source/WebKit:
- NetworkProcess/NetworkLoadChecker.h:
- NetworkProcess/cache/NetworkCacheData.h:
- Platform/IPC/ArgumentCoders.h:
- Platform/IPC/Attachment.h:
- Platform/IPC/MessageReceiveQueueMap.h:
- Scripts/PreferencesTemplates/WebPreferencesStoreDefaultsMap.cpp.erb:
- Shared/WebCompiledContentRuleListData.h:
- Shared/mac/MediaFormatReader/MediaSampleCursor.cpp:
- Shared/mac/MediaFormatReader/MediaSampleCursor.h:
- UIProcess/API/APIWebAuthenticationPanel.h:
- UIProcess/API/Cocoa/WKWebViewInternal.h:
- UIProcess/API/wpe/TouchGestureController.h:
- UIProcess/Automation/SimulatedInputDispatcher.cpp:
- UIProcess/Automation/SimulatedInputDispatcher.h:
- UIProcess/Cocoa/WKSafeBrowsingWarning.h:
- UIProcess/PageClient.h:
- UIProcess/ProcessThrottler.h:
- UIProcess/WebAuthentication/WebAuthenticationRequestData.h:
- WebProcess/GPU/graphics/ImageBufferBackendHandle.h:
- WebProcess/WebCoreSupport/gtk/WebEditorClientGtk.cpp:
Source/WebKitLegacy/mac:
- DOM/DOMHTMLOptionsCollection.mm:
Source/WTF:
- WTF.xcodeproj/project.pbxproj:
- wtf/CMakeLists.txt:
- wtf/LikelyDenseUnsignedIntegerSet.h:
- wtf/StdLibExtras.h:
(WTF::switchOn):
- wtf/Variant.h: Removed.
- wtf/text/TextBreakIterator.h:
- 4:15 PM Changeset in webkit [284212] by
-
- 2 edits in trunk/Source/JavaScriptCore
Wasm LLInt should zero bytecodeIndex before throwing
https://bugs.webkit.org/show_bug.cgi?id=231688
<rdar://84207898>
Reviewed by Yusuke Suzuki.
After r283852, the unwinder can now ask WebAssembly frames for their bytecodeIndex.
We do write to the bytecodeIndex when throwing from the wasmthrow
opcode, but we
failed to write when trapping (e.g. throwing an OOB or Unreachable). The value of
the bytecodeIndex in this is case is not interesting, since these exceptions can't be
caught from Wasm, all we need to know is ensure there isn't an invalid left-over
value in that stack slot, so we zero it.
- llint/WebAssembly.asm:
- 4:07 PM Changeset in webkit [284211] by
-
- 3 edits in trunk/LayoutTests
[ iOS15 Mac wk2 Debug ] imported/w3c/web-platform-tests/webrtc/simulcast/basic.https.html is a flaky failure.
https://bugs.webkit.org/show_bug.cgi?id=231780.
Unreviewed test gardening.
- platform/ios-wk2/TestExpectations:
- platform/mac-wk2/TestExpectations:
- 3:54 PM Changeset in webkit [284210] by
-
- 6 edits in branches/safari-613.1.5-branch/Source/bmalloc
Cherry-pick r284208. rdar://problem/84277677
[libpas] Use
enum { ... }
instead ofstatic const size_t
for constant values used for array size
https://bugs.webkit.org/show_bug.cgi?id=231778
Reviewed by Chris Dumez.
Since libpas is written in C (not C++), we cannot use
static const size_t
value for array's size.
In C, it is not usable as a constant expression for array size. Useenum
hack instead.
- libpas/src/libpas/pas_generic_large_free_heap.h: (pas_generic_large_free_heap_try_allocate):
- libpas/src/libpas/pas_large_sharing_pool.c: (pas_large_sharing_pool_allocate_and_commit):
- libpas/src/libpas/pas_segregated_view_allocator_inlines.h: (pas_segregated_view_will_start_allocating):
- libpas/src/libpas/pas_simple_large_free_heap.c: (merge):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@284208 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 3:54 PM Changeset in webkit [284209] by
-
- 2 edits in trunk/Source/WebKit
[macOS] Crash on WP startup
https://bugs.webkit.org/show_bug.cgi?id=231773
<rdar://84218823>
Unreviewed partial revert of https://trac.webkit.org/r283375.
- WebProcess/com.apple.WebProcess.sb.in:
- 3:52 PM Changeset in webkit [284208] by
-
- 6 edits in trunk/Source/bmalloc
[libpas] Use
enum { ... }
instead ofstatic const size_t
for constant values used for array size
https://bugs.webkit.org/show_bug.cgi?id=231778
Reviewed by Chris Dumez.
Since libpas is written in C (not C++), we cannot use
static const size_t
value for array's size.
In C, it is not usable as a constant expression for array size. Useenum
hack instead.
- libpas/src/libpas/pas_generic_large_free_heap.h:
(pas_generic_large_free_heap_try_allocate):
- libpas/src/libpas/pas_large_sharing_pool.c:
(pas_large_sharing_pool_allocate_and_commit):
- libpas/src/libpas/pas_segregated_view_allocator_inlines.h:
(pas_segregated_view_will_start_allocating):
- libpas/src/libpas/pas_simple_large_free_heap.c:
(merge):
- 3:50 PM Changeset in webkit [284207] by
-
- 5 edits in trunk/Source/WebCore
CSSProperties.json should not require a 'converter' for color properties
https://bugs.webkit.org/show_bug.cgi?id=231376
Reviewed by Antti Koivisto.
r283742 used StyleBuilderCustom to implement 'accent-color' as
specifying 'auto-functions' and 'color-property' resulted in an
incorrect value setter.
Upon further investigation, specifying 'converter: SVGColor'
solved the issue, as the CSSPrimitiveValue was then correctly
converted into a Color.
Rather than renaming the converter for use with non-SVG color
properties, this patch removes the existing color converter entirely,
as the need for color conversion can be inferred from the existence
of 'color-property'.
- css/CSSProperties.json:
Remove now unecessary 'converter', and use 'auto-functions' for
'accent-color' rather than 'custom'.
- css/makeprop.pl:
(generateValueSetter):
Perform Color conversion from CSSPrimitiveValue if 'color-property'
is specified.
- style/StyleBuilderConverter.h:
(WebCore::Style::BuilderConverter::convertSVGColor): Deleted.
- style/StyleBuilderCustom.h:
(WebCore::Style::BuilderCustom::applyInitialAccentColor): Deleted.
(WebCore::Style::BuilderCustom::applyInheritAccentColor): Deleted.
(WebCore::Style::BuilderCustom::applyValueAccentColor): Deleted.
- 3:42 PM Changeset in webkit [284206] by
-
- 2 edits in branches/safari-613.1.5-branch/Source/ThirdParty/libwebrtc
Cherry-pick r284192. rdar://problem/84277677
Unreviewed, fix up r284190 build fix.
- Source/third_party/libwebm/webm_parser/src/master_parser.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@284192 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 3:42 PM Changeset in webkit [284205] by
-
- 2 edits in branches/safari-613.1.5-branch/Source/ThirdParty/libwebrtc
Cherry-pick r284190. rdar://problem/84277677
Unreviewed build fix with latest SDKs.
- Source/third_party/libwebm/webm_parser/src/master_parser.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@284190 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 3:42 PM Changeset in webkit [284204] by
-
- 11 edits in branches/safari-613.1.5-branch/Source
Cherry-pick r284187. rdar://problem/84277677
Unreviewed build fix with recent SDKs.
Use std::invoke_result<> instead of std::result_of<>, as it was deprecated in C++17.
Source/JavaScriptCore:
- runtime/JSCJSValue.h:
- runtime/JSCJSValueInlines.h: (JSC::JSValue::getPropertySlot const):
- runtime/JSObject.h:
- runtime/JSObjectInlines.h: (JSC::JSObject::getPropertySlot const):
- runtime/ParseInt.h: (JSC::toStringView):
Source/WTF:
- wtf/IndexedContainerIterator.h: (WTF::IndexedContainerIterator::operator* const): (WTF::IndexedContainerIterator::operator*): Deleted.
- wtf/Vector.h:
- wtf/WeakHashSet.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@284187 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 3:32 PM Changeset in webkit [284203] by
-
- 12 edits1 copy1 move6 adds in trunk
Share IPC communication code between webpushd and adattributiond
https://bugs.webkit.org/show_bug.cgi?id=231718
Patch by Alex Christensen <achristensen@webkit.org> on 2021-10-14
Reviewed by Brady Eidson.
Source/WebKit:
This shares enough code from adattributiond to implement a communication protocol for webpushd.
Right now the protocol only has one action, EchoTwice, which echos a WTF::String twice as its reply,
but that is just a testable behavior that will be soon replaced by more complicated and useful behaviors.
- Configurations/webpushd.xcconfig:
- NetworkProcess/PrivateClickMeasurement/cocoa/PrivateClickMeasurementXPCUtilities.mm:
(WebKit::PCM::addVersionAndEncodedMessageToDictionary):
- Shared/Daemon/DaemonUtilities.h: Copied from Source/WebKit/Shared/EntryPointUtilities/Cocoa/Daemon/webpushd.c.
- Shared/Daemon/DaemonUtilities.mm: Added.
(WebKit::startListeningForMachServiceConnections):
(WebKit::vectorToXPCData):
- Shared/EntryPointUtilities/Cocoa/Daemon/PCMDaemonEntryPoint.mm:
(WebKit::connectionAdded):
(WebKit::connectionRemoved):
(WebKit::PCMDaemonMain):
(WebKit::startListeningForMachServiceConnections): Deleted.
- SourcesCocoa.txt:
- WebKit.xcodeproj/project.pbxproj:
- webpushd/WebPushDaemonMain.mm: Added.
(WebPushD::CompletionHandler<void):
(WebPushD::echoTwice):
(WebPushD::decodeMessageAndSendReply):
(WebPushD::connectionEventHandler):
(WebPushD::connectionAdded):
(WebPushD::connectionRemoved):
(main):
Source/WTF:
- wtf/spi/darwin/XPCSPI.h:
Tools:
- TestWebKitAPI/SourcesCocoa.txt:
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- TestWebKitAPI/Tests/WebKitCocoa/EventAttribution.mm:
(TestWebKitAPI::testDaemonPList):
(TestWebKitAPI::currentExecutableLocation): Deleted.
(TestWebKitAPI::currentExecutableDirectory): Deleted.
- TestWebKitAPI/Tests/WebKitCocoa/WebPushDaemon.mm: Added.
(TestWebKitAPI::testWebPushDaemonLocation):
(TestWebKitAPI::testWebPushDaemonPList):
(TestWebKitAPI::setUpTestWebPushD):
(TestWebKitAPI::cleanUpTestWebPushD):
(TestWebKitAPI::TEST):
- TestWebKitAPI/cocoa/DaemonTestUtilities.h: Renamed from Source/WebKit/Shared/EntryPointUtilities/Cocoa/Daemon/webpushd.c.
- TestWebKitAPI/cocoa/DaemonTestUtilities.mm: Added.
(TestWebKitAPI::currentExecutableLocation):
(TestWebKitAPI::currentExecutableDirectory):
(TestWebKitAPI::registerPlistWithLaunchD):
- 3:28 PM Changeset in webkit [284202] by
-
- 3 edits in trunk/Source/WebCore
Remove DocumentTimeline::isRunningAnimationOnRenderer()
https://bugs.webkit.org/show_bug.cgi?id=231759
Reviewed by Darin Adler.
This function has no call site.
- animation/DocumentTimeline.cpp:
(WebCore::DocumentTimeline::isRunningAnimationOnRenderer const): Deleted.
- animation/DocumentTimeline.h:
- 3:22 PM Changeset in webkit [284201] by
-
- 2 edits in trunk/Source/WebCore
[AppleWin] Controls are not being rendered
https://bugs.webkit.org/show_bug.cgi?id=231769
<rdar://problem/83670287>
Reviewed by Fujii Hironori.
Controls are not being rendered because the LocalWindowsContext destructor is no longer blitting the bitmap contents to the hdc.
The test in GraphicsContext::getWindowsContext needs to match the test in GraphicsContext::releaseWindowsContext.
- platform/graphics/win/GraphicsContextWin.cpp:
(WebCore::GraphicsContext::getWindowsContext):
- 3:04 PM Changeset in webkit [284200] by
-
- 2 edits in trunk/LayoutTests
[ MacOS ] http/tests/security/contentSecurityPolicy/frame-src-cross-origin-load.html is a flakey failure.
https://bugs.webkit.org/show_bug.cgi?id=230428
Unreviewed test gardening.
- platform/ios-wk2/TestExpectations:
- 2:22 PM Changeset in webkit [284199] by
-
- 4 edits in trunk
[JS IPC] Make it possible to establish a stream connection using the JS IPC testing API
https://bugs.webkit.org/show_bug.cgi?id=231710
Reviewed by Tim Horton.
Source/WebKit:
Work towards fixing IPCTestingAPI.CanReceiveIPCSemaphore and IPCTestingAPI.CanReceiveSharedMemory, which broke
after I refactored RemoteRenderingBackend to be a IPC stream message receiver (instead of a standard IPC message
receiver). To achieve this, we introduce two new JS wrapper objects to encapsulate an IPC stream client
connection, as well as the stream buffer used to service that connection.
This allows us to establish a streaming IPC connection from the web process to the GPU process via JS IPC API,
like so:
`
const bufferSize = 1 << 16;
const streamConnection = IPC.createStreamClientConnection('GPU', bufferSize);
IPC.sendMessage('GPU', 0, IPC.messages.GPUConnectionToWebProcess_CreateRenderingBackend.name, [
{ type: 'RemoteRenderingBackendCreationParameters', 'identifier': 123, 'pageProxyID': IPC.webPageProxyID, 'pageID': IPC.pageID },
{ type: 'StreamConnectionBuffer', value: streamConnection.streamBuffer() }
]);
`
- WebProcess/WebPage/IPCTestingAPI.cpp:
(WebKit::IPCTestingAPI::JSIPCStreamClientConnection::create):
(WebKit::IPCTestingAPI::JSIPCStreamClientConnection::connection):
(WebKit::IPCTestingAPI::JSIPCStreamClientConnection::JSIPCStreamClientConnection):
(WebKit::IPCTestingAPI::JSIPCStreamConnectionBuffer::create):
(WebKit::IPCTestingAPI::JSIPCStreamConnectionBuffer::encode const):
(WebKit::IPCTestingAPI::JSIPCStreamConnectionBuffer::JSIPCStreamConnectionBuffer):
(WebKit::IPCTestingAPI::JSIPCStreamClientConnection::createJSWrapper):
(WebKit::IPCTestingAPI::JSIPCStreamClientConnection::wrapperClass):
(WebKit::IPCTestingAPI::JSIPCStreamClientConnection::unwrap):
(WebKit::IPCTestingAPI::JSIPCStreamClientConnection::toWrapped):
(WebKit::IPCTestingAPI::JSIPCStreamClientConnection::initialize):
(WebKit::IPCTestingAPI::JSIPCStreamClientConnection::finalize):
(WebKit::IPCTestingAPI::JSIPCStreamClientConnection::staticFunctions):
(WebKit::IPCTestingAPI::JSIPCStreamClientConnection::streamBuffer):
(WebKit::IPCTestingAPI::JSIPCStreamConnectionBuffer::createJSWrapper):
(WebKit::IPCTestingAPI::JSIPCStreamConnectionBuffer::wrapperClass):
(WebKit::IPCTestingAPI::JSIPCStreamConnectionBuffer::unwrap):
(WebKit::IPCTestingAPI::JSIPCStreamConnectionBuffer::toWrapped):
(WebKit::IPCTestingAPI::JSIPCStreamConnectionBuffer::initialize):
(WebKit::IPCTestingAPI::JSIPCStreamConnectionBuffer::finalize):
(WebKit::IPCTestingAPI::JSIPCStreamConnectionBuffer::staticFunctions):
(WebKit::IPCTestingAPI::JSIPC::staticFunctions):
(WebKit::IPCTestingAPI::encodeStreamConnectionBuffer):
(WebKit::IPCTestingAPI::encodeArgument):
(WebKit::IPCTestingAPI::JSIPC::createStreamClientConnection):
Tools:
See WebKit ChangeLog for more details.
- TestWebKitAPI/Tests/WebKitCocoa/IPCTestingAPI.mm:
Adjust these two API tests so that they actually end up creating a new remote rendering backend in the GPU
process, instead of failing to decode because we're missing a StreamConnectionBuffer. This allows us to make it
toGPUConnectionToWebProcess::createRenderingBackend
and actually create the corresponding rendering backend;
however, this is still insufficient to fix the failing API tests, since there is still no mechanism to (1)
wait for and receive the stream wakeup semaphore in the web process, and (2) send stream messages using an
instance of the stream client connection.
- 2:18 PM Changeset in webkit [284198] by
-
- 3 edits in trunk/Tools
[webkitpy] The actual results reported for a flaky tests shouldn't include the expectation
https://bugs.webkit.org/show_bug.cgi?id=231241
Reviewed by Jonathan Bedard.
When a test is marked as flaky and fails the expectations on the
first run but passes on the second run (the retry) the current code
was adding the expectations to the actual results.
This is missleading and makes really hard to detect when a test stops
giving a specific expectation.
Instead of doing that report the actual results of the test on both runs.
- Scripts/webkitpy/layout_tests/models/test_run_results.py:
(TestRunResults.init):
(TestRunResults.add):
(TestRunResults.merge):
(summarize_results):
- Scripts/webkitpy/layout_tests/views/buildbot_results.py:
(BuildBotPrinter.print_unexpected_results):
- 2:14 PM Changeset in webkit [284197] by
-
- 6 edits3 adds in trunk
https://tankionline.com/play/ html5 engine not working: crashes. (Metal shader not working)
https://bugs.webkit.org/show_bug.cgi?id=231490
Source/ThirdParty/ANGLE:
Add argument to RemoveInactiveInterfaceVariables to keep
output fragment variables, even if they are
Add a new test to verify that this problem is fixed.
Reviewed by Kenneth Russell.
- src/compiler/translator/TranslatorMetalDirect.cpp:
(sh::TranslatorMetalDirect::translateImpl):
- src/compiler/translator/TranslatorVulkan.cpp:
(sh::TranslatorVulkan::translateImpl):
- src/compiler/translator/tree_ops/RemoveInactiveInterfaceVariables.cpp:
(sh::RemoveInactiveInterfaceVariables):
- src/compiler/translator/tree_ops/RemoveInactiveInterfaceVariables.h:
LayoutTests:
Add argument to RemoveInactiveInterfaceVariables to keep
output fragment variables, even if they are
Add a new test to verify that this problem is fixed.
Reviewed by Kenneth Russell.
- webgl/pending/conformance2/glsl3/empty-shader-with-output-expected.txt: Added.
- webgl/pending/conformance2/glsl3/empty-shader-with-output.html: Added.
- webgl/pending/resources/webgl_test_files/conformance2/glsl3/empty-shader-with-output.html: Added.
- 2:11 PM Changeset in webkit [284196] by
-
- 2 edits in trunk/LayoutTests
Rebaseline for fast/css/font-face-implicit-local-font.html.
https://bugs.webkit.org/show_bug.cgi?id=231770.
Unreviewed rebaseline.
- platform/ios/fast/css/font-face-implicit-local-font-expected.txt:
- 1:41 PM Changeset in webkit [284195] by
-
- 2 edits in trunk/Source/WebKit
Null check the context in -[WKWebProcessPlugInFrame jsContextForServiceWorkerWorld:]
https://bugs.webkit.org/show_bug.cgi?id=231758
Reviewed by Chris Dumez.
- WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInFrame.mm:
(-[WKWebProcessPlugInFrame jsContextForServiceWorkerWorld:]):
_frame->jsContextForServiceWorkerWorld() can return nullptr, so null check before using the result.
- 1:31 PM Changeset in webkit [284194] by
-
- 21 edits in trunk
[LFC][Integration] Enable inline boxes with background
https://bugs.webkit.org/show_bug.cgi?id=231556
Reviewed by Alan Bujtas.
Source/WebCore:
We can now paint them.
- layout/integration/LayoutIntegrationCoverage.cpp:
(WebCore::LayoutIntegration::printReason):
(WebCore::LayoutIntegration::canUseForRenderInlineChild):
- layout/integration/LayoutIntegrationCoverage.h:
LayoutTests:
- platform/ios/fast/text/whitespace/004-expected.txt:
- platform/ios/fast/text/whitespace/005-expected.txt:
- platform/ios/fast/text/whitespace/006-expected.txt:
- platform/ios/fast/text/whitespace/007-expected.txt:
- platform/ios/fast/text/whitespace/010-expected.txt:
- platform/ios/fast/text/whitespace/011-expected.txt:
- platform/ios/fast/text/whitespace/015-expected.txt:
- platform/ios/fast/text/whitespace/016-expected.txt:
- platform/mac/fast/text/whitespace/004-expected.txt:
- platform/mac/fast/text/whitespace/005-expected.txt:
- platform/mac/fast/text/whitespace/006-expected.txt:
- platform/mac/fast/text/whitespace/007-expected.txt:
- platform/mac/fast/text/whitespace/010-expected.txt:
- platform/mac/fast/text/whitespace/011-expected.txt:
- platform/mac/fast/text/whitespace/015-expected.txt:
- platform/mac/fast/text/whitespace/016-expected.txt:
- 1:30 PM Changeset in webkit [284193] by
-
- 32 edits in trunk
All the SDKVariant.xcconfig files should match
https://bugs.webkit.org/show_bug.cgi?id=231663
Reviewed by Youenn Fablet.
PerformanceTests:
- MediaTime/Configurations/SDKVariant.xcconfig:
Source/bmalloc:
- Configurations/SDKVariant.xcconfig:
Source/JavaScriptCore:
The linter says they're all supposed to match.
Source/ThirdParty/libwebrtc/Configurations/SDKVariant.xcconfig has an extra section,
and if you delete that section the build fails, so this patch broadcasts that extra
section to all the other SDKVariant.xcconfig files.
- Configurations/SDKVariant.xcconfig:
Source/ThirdParty:
- gtest/xcode/Config/SDKVariant.xcconfig:
Source/ThirdParty/ANGLE:
- Configurations/SDKVariant.xcconfig:
Source/WebCore:
No new tests because there was no behavior change.
- Configurations/SDKVariant.xcconfig:
Source/WebCore/PAL:
- Configurations/SDKVariant.xcconfig:
Source/WebInspectorUI:
- Configurations/SDKVariant.xcconfig:
Source/WebKit:
- Configurations/SDKVariant.xcconfig:
Source/WebKitLegacy/mac:
- Configurations/SDKVariant.xcconfig:
Source/WTF:
- Configurations/SDKVariant.xcconfig:
Tools:
- ContentExtensionTester/Configurations/SDKVariant.xcconfig:
- DumpRenderTree/mac/Configurations/SDKVariant.xcconfig:
- ImageDiff/cg/Configurations/SDKVariant.xcconfig:
- MiniBrowser/Configurations/SDKVariant.xcconfig:
- MobileMiniBrowser/Configurations/SDKVariant.xcconfig:
- TestWebKitAPI/Configurations/SDKVariant.xcconfig:
- WebEditingTester/Configurations/SDKVariant.xcconfig:
- WebKitTestRunner/Configurations/SDKVariant.xcconfig:
- lldb/lldbWebKitTester/Configurations/SDKVariant.xcconfig:
- 1:20 PM Changeset in webkit [284192] by
-
- 2 edits in trunk/Source/ThirdParty/libwebrtc
Unreviewed, fix up r284190 build fix.
- Source/third_party/libwebm/webm_parser/src/master_parser.h:
- 1:02 PM Changeset in webkit [284191] by
-
- 2 edits in trunk/LayoutTests
[ Mac wk2 Release x86 ] http/tests/resourceLoadStatistics/website-data-removal-for-site-navigated-to-with-link-decoration.html is a flaky timeout.
https://bugs.webkit.org/show_bug.cgi?id=231765.
Unreviewed test gardening.
- platform/mac-wk2/TestExpectations:
- 12:55 PM Changeset in webkit [284190] by
-
- 2 edits in trunk/Source/ThirdParty/libwebrtc
Unreviewed build fix with latest SDKs.
- Source/third_party/libwebm/webm_parser/src/master_parser.h:
- 12:26 PM Changeset in webkit [284189] by
-
- 2 edits in trunk/LayoutTests
[ BigSur ] inspector/canvas/updateShader-webgl.html is a flaky failure.
https://bugs.webkit.org/show_bug.cgi?id=231757.
Unreviewed test gardening.
- platform/mac/TestExpectations:
- 11:52 AM Changeset in webkit [284188] by
-
- 3 edits in trunk/Source/WebCore
[LFC][IFC] tryBreakingTextRun should not take std::nullopt "available width" to indicate that the run is not overflowing
https://bugs.webkit.org/show_bug.cgi?id=231743
Reviewed by Antti Koivisto.
Let's not use magic value to indicate that the candidate run for breaking does not overflow the line (available width is nullopt -> infinite available width -> never overflow).
- layout/formattingContexts/inline/InlineContentBreaker.cpp:
(WebCore::Layout::InlineContentBreaker::tryBreakingTextRun const):
(WebCore::Layout::InlineContentBreaker::tryBreakingOverflowingRun const):
(WebCore::Layout::InlineContentBreaker::tryBreakingPreviousNonOverflowingRuns const):
(WebCore::Layout::InlineContentBreaker::tryBreakingNextOverflowingRuns const):
- layout/formattingContexts/inline/InlineContentBreaker.h:
- layout/integration/LayoutIntegrationCoverage.cpp:
(WebCore::LayoutIntegration::canUseForRenderInlineChild):
- 11:50 AM Changeset in webkit [284187] by
-
- 11 edits in trunk/Source
Unreviewed build fix with recent SDKs.
Use std::invoke_result<> instead of std::result_of<>, as it was deprecated in C++17.
Source/JavaScriptCore:
- runtime/JSCJSValue.h:
- runtime/JSCJSValueInlines.h:
(JSC::JSValue::getPropertySlot const):
- runtime/JSObject.h:
- runtime/JSObjectInlines.h:
(JSC::JSObject::getPropertySlot const):
- runtime/ParseInt.h:
(JSC::toStringView):
Source/WTF:
- wtf/IndexedContainerIterator.h:
(WTF::IndexedContainerIterator::operator* const):
(WTF::IndexedContainerIterator::operator*): Deleted.
- wtf/Vector.h:
- wtf/WeakHashSet.h:
- 11:46 AM Changeset in webkit [284186] by
-
- 3 edits2 adds in branches/safari-613.1.5-branch
Cherry-pick r284169. rdar://problem/84266655
REGRESSION (r283858): Intense white hover state appears on playback controls on Netflix/YouTube
https://bugs.webkit.org/show_bug.cgi?id=231719
rdar://84213404
Reviewed by Tim Horton.
Source/WebCore:
The playback controls on Netflix/YouTube are buttons that have a
non-'none' appearance value, but a used value of 'none' due to author
styles. In WebKit, and other engines, setting a background or text
color different from the UA style makes the used value 'none' and
drops native appearance.
The used value (effectiveAppearance) is set to none by comparing the
element's style to the UA style in RenderTheme::adjustStyle. However, when
style is adjusted during animation, the UA style is not passed in to the
method (see r273003). Consequently, we are unable to compare styles and
end up setting the 'effectiveAppearance' to 'appearance' (the computed value)
after r283858. Since the 'appearance' is not 'none', a native button is
briefly displayed during a hover animation, resulting in a white flash.
This was not an issue before r283858, as that change added logic to
always update the effectiveAppearance in RenderTheme::adjustStyle.
Before the change, the effectiveAppearance would simply be carried over
from the style before animation, and would remain 'none'.
To fix, only update the effectiveAppearance if its current value is
incorrect (auto, or styled). Additionally, use effectiveAppearance
more consistently, to ensure we do not incorrectly treat
style.appearance() as the used value.
Test: fast/forms/button-animation-appearance.html
- rendering/RenderTheme.cpp: (WebCore::RenderTheme::adjustStyle):
LayoutTests:
Added a mismatch test to ensure that animating the background color
of a button drops native appearance. Verified that the test passes
before r283858, on Safari 15, and fails on r283858.
- fast/forms/button-animation-appearance-expected-mismatch.html: Added.
- fast/forms/button-animation-appearance.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@284169 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 11:46 AM Changeset in webkit [284185] by
-
- 2 edits in branches/safari-613.1.5-branch/Source/JavaScriptCore
Cherry-pick r284145. rdar://problem/84266646
Unreviewed, speculative build fix with new clang
Speculative since I cannot install this clang now.
- b3/B3ValueRep.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@284145 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 11:46 AM Changeset in webkit [284184] by
-
- 2 edits in branches/safari-613.1.5-branch/Source/JavaScriptCore
Cherry-pick r284137. rdar://problem/84266646
Clearly distinguish serial from concurrent WorkQueue
https://bugs.webkit.org/show_bug.cgi?id=231418
rdar://problem/84021977
Patch by Jean-Yves Avenard <Jean-Yves Avenard> on 2021-10-13
Reviewed by Chris Dumez.
Replace instances of WorkQueue being constructed as a concurrent one
with ConcurrentWorkQueue.
Remove the now unnecessary use of WorkQueue::Type::Serial in constructor.
- jit/ExecutableAllocator.cpp: (JSC::dumpJITMemory):
- runtime/Watchdog.cpp: (JSC::Watchdog::Watchdog):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@284137 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 11:44 AM Changeset in webkit [284183] by
-
- 4 edits in trunk
[WKWebView _loadServiceWorkerURL] ends up lowercasing URL host
https://bugs.webkit.org/show_bug.cgi?id=231742
Reviewed by Timothy Hatcher.
Source/WebKit:
[WKWebView _loadServiceWorkerURL] ends up lowercasing URL host. While I don't think it is technically wrong
(hosts should not be case-sensitive), it can be confusing.
The reason this was happening is that I was using SecurityOriginData::fromURL(url).toString() to extract the
URL's scheme/host/port and SecurityOriginData::fromURL() lowercases the scheme and host. I am now using
URL::protocolHostAndPort() instead, which does not have this side effect and is actually more efficient.
No new tests, extended existing API test.
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::loadServiceWorker):
Tools:
Extend test coverage.
- TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm:
- 11:37 AM Changeset in webkit [284182] by
-
- 16 edits in trunk
[CSS Cascade Layers] Layer should have higher priority than its descendant layers
https://bugs.webkit.org/show_bug.cgi?id=231725
Reviewed by Simon Fraser.
LayoutTests/imported/w3c:
Update from the WPT repo.
- web-platform-tests/css/css-cascade/layer-basic.html:
- web-platform-tests/css/css-cascade/layer-counter-style-override-expected.txt:
- web-platform-tests/css/css-cascade/layer-counter-style-override.html:
- web-platform-tests/css/css-cascade/layer-font-face-override.html:
- web-platform-tests/css/css-cascade/layer-import.html:
- web-platform-tests/css/css-cascade/layer-keyframes-override.html:
- web-platform-tests/css/css-cascade/layer-property-override-expected.txt:
- web-platform-tests/css/css-cascade/layer-property-override.html:
- web-platform-tests/css/css-cascade/layer-scroll-timeline-override-expected.txt:
- web-platform-tests/css/css-cascade/layer-scroll-timeline-override.html:
- web-platform-tests/css/css-cascade/presentational-hints-cascade-expected.txt:
- web-platform-tests/css/css-cascade/presentational-hints-cascade.html:
Source/WebCore:
The spec was updated in https://github.com/w3c/csswg-drafts/commit/a6fc16e1b65868c6f984918cc76ad9b238e7139e
"Cascade layers are sorted by the order in which they first are declared, with nested layers grouped
within their parent layers before any unlayered rules."
- style/RuleSetBuilder.cpp:
(WebCore::Style::RuleSetBuilder::updateCascadeLayerPriorities):
Change the sorting order so parents sort after their children.
- style/RuleSetBuilder.h:
- 11:30 AM Changeset in webkit [284181] by
-
- 3 edits in trunk/LayoutTests
[ iOS macOS wk2 Debug ] ASSERTION FAILED: other.underlyingStringIsValid().
https://bugs.webkit.org/show_bug.cgi?id=231752
Unreviewed test gardening.
- platform/ios-wk2/TestExpectations:
- platform/mac-wk2/TestExpectations:
- 11:18 AM Changeset in webkit [284180] by
-
- 2 edits in trunk/Tools
[ iOS Release ] TestWebKitAPI.WebKit.TryUsingPrewarmedProcessThatJustCrashed is a flaky timeout
https://bugs.webkit.org/show_bug.cgi?id=229260
<rdar://problem/82100254>
Reviewed by Youenn Fablet.
WebKit's default crash handler simply calls [webview reload] which does not reliably work
here because the WebProcess gets terminated so early in the page load. To make the test pass
reliably, it now provides its own crash handler which loads the same request again.
- TestWebKitAPI/Tests/WebKitCocoa/ProcessPreWarming.mm:
(TEST):
- 11:06 AM Changeset in webkit [284179] by
-
- 2 edits in trunk/Source/JavaScriptCore
[RISCV64] Support logical operations with immediates on BaseIndex addresses in LLInt
https://bugs.webkit.org/show_bug.cgi?id=231734
Patch by Zan Dobersek <zdobersek@igalia.com> on 2021-10-14
Reviewed by Yusuke Suzuki.
RISCV64 offlineasm implementation gains support for performing logical
operations with immediate values on BaseIndex adresses, fixing the build
and bringing things back into operational state.
For this to function properly, BaseIndex loading is reworked so that no
additional scratch register is necessary for computing the target
address.
- offlineasm/riscv64.rb:
- 11:05 AM Changeset in webkit [284178] by
-
- 2 edits in trunk/LayoutTests
[ iOS EWS ] http/tests/privateClickMeasurement/attribution-conversion-through-image-redirect-ephemeral.html is a flaky crash.
https://bugs.webkit.org/show_bug.cgi?id=231748
Unreviewed test gardening.
- platform/ios-wk2/TestExpectations:
- 11:02 AM Changeset in webkit [284177] by
-
- 4 edits in trunk/Source/WebKitLegacy/mac
Modernize WebDatabaseManagerClient
<https://webkit.org/b/231549>
<rdar://problem/84129168>
Reviewed by Sihui Liu.
- Storage/WebDatabaseManager.mm:
(-[WebDatabaseManager init]):
- Add WebKit namespace to WebDatabaseManagerClient::sharedWebDatabaseManagerClient() and convert reference into pointer.
- Storage/WebDatabaseManagerClient.h:
(WebKit::WebDatabaseManagerClient):
- Put WebDatabaseManagerClient in WebKit namespace.
- Storage/WebDatabaseManagerClient.mm:
- Put WebDatabaseManagerClient in WebKit namespace.
(WebKit::WebDatabaseManagerClient::sharedWebDatabaseManagerClient):
- Update to use NeverDestroyed<> and to return a reference.
- 10:58 AM Changeset in webkit [284176] by
-
- 5 edits in trunk/Source/WebCore
Further adjust style of alternate form control design
https://bugs.webkit.org/show_bug.cgi?id=231723
<rdar://84227020>
Reviewed by Dean Jackson.
- css/parser/CSSParserContext.cpp:
(WebCore::CSSParserContext::CSSParserContext):
Enable some features used in the new stylesheet. Eventually we should
make a bare WebCore::Settings (with the WebCore-level defaults) and
initialize everything that comes from Settings from there.
- rendering/RenderThemeIOS.h:
- rendering/RenderThemeIOS.mm:
(WebCore::RenderThemeIOS::adjustStyleForAlternateFormControlDesignTransition const):
(WebCore::RenderThemeIOS::adjustCheckboxStyle const):
(WebCore::RenderThemeIOS::adjustRadioStyle const):
(WebCore::RenderThemeIOS::adjustMenuListButtonStyle const):
(WebCore::RenderThemeIOS::adjustButtonStyle const):
(WebCore::RenderThemeIOS::adjustColorWellStyle const):
Adjust the style to use an optimized mode when a transform transition is
underway, or the element is hovered. This currently affects all transform
transitions on these controls, but should be adjusted to only affect
ones installed by the UA style sheet.
- style/InspectorCSSOMWrappers.cpp:
(WebCore::Style::InspectorCSSOMWrappers::collectDocumentWrappers):
I failed to add the new sheet to the Web Inspector in r284008; do so now.
- 10:54 AM Changeset in webkit [284175] by
-
- 2 edits in trunk
Add my GitHub username to contributors.json
Unreviewed.
- metadata/contributors.json:
- 10:53 AM Changeset in webkit [284174] by
-
- 5 edits in trunk
Don't run focusing steps on disconnected or inert <dialog>
https://bugs.webkit.org/show_bug.cgi?id=231721
Reviewed by Antti Koivisto.
Marked relevant WPTs as passing.
LayoutTests/imported/w3c:
- web-platform-tests/html/semantics/interactive-elements/the-dialog-element/dialog-focusing-steps-disconnected-expected.txt:
- web-platform-tests/html/semantics/interactive-elements/the-dialog-element/dialog-focusing-steps-inert-expected.txt:
Source/WebCore:
- html/HTMLDialogElement.cpp:
(WebCore::HTMLDialogElement::runFocusingSteps):
- 10:49 AM Changeset in webkit [284173] by
-
- 5 edits2 adds in trunk
AudioContext::getOutputTimestamp() uses incorrect global object as a high-res timestamp origin
https://bugs.webkit.org/show_bug.cgi?id=230138
Reviewed by Chris Dumez.
LayoutTests/imported/w3c:
- web-platform-tests/webaudio/the-audio-api/the-audiocontext-interface/audiocontext-getoutputtimestamp-cross-realm-expected.txt: Added.
- web-platform-tests/webaudio/the-audio-api/the-audiocontext-interface/audiocontext-getoutputtimestamp-cross-realm.html: Added.
Source/WebCore:
Although the spec [1] does not explicitly mention which global object to use, there is
a recommendation for web spec authors to use _relevant_ [2], unlike ECMA standards.
This patch fixes getOutputTimestamp() to use AudioContext's global object to compute
performanceTime
. Aligns WebKit with Blink and Gecko in case of cross-realm method call.
[1] https://webaudio.github.io/web-audio-api/#dom-audiocontext-getoutputtimestamp
[2] https://html.spec.whatwg.org/multipage/webappapis.html#concept-current-everything
Test: imported/w3c/web-platform-tests/webaudio/the-audio-api/the-audiocontext-interface/audiocontext-getoutputtimestamp-cross-realm.html
- Modules/webaudio/AudioContext.cpp:
(WebCore::AudioContext::getOutputTimestamp):
- Modules/webaudio/AudioContext.h:
- Modules/webaudio/AudioContext.idl:
- 10:32 AM Changeset in webkit [284172] by
-
- 2 edits in trunk/LayoutTests
[ iOS Mac wk2 Debug ] imported/w3c/web-platform-tests/content-security-policy/generic/policy-inherited-correctly-by-plznavigate.html is a flaky failure.
https://bugs.webkit.org/show_bug.cgi?id=231083
Unreviewed test gardening.
- platform/ios-wk2/TestExpectations:
- 10:21 AM Changeset in webkit [284171] by
-
- 1 copy in tags/Safari-612.2.9.1.21
Tag Safari-612.2.9.1.21.
- 10:18 AM Changeset in webkit [284170] by
-
- 8 edits in branches/safari-612.2.9.1-branch/Source
Versioning.
WebKit-7612.2.9.1.21
- 9:51 AM Changeset in webkit [284169] by
-
- 3 edits2 adds in trunk
REGRESSION (r283858): Intense white hover state appears on playback controls on Netflix/YouTube
https://bugs.webkit.org/show_bug.cgi?id=231719
rdar://84213404
Reviewed by Tim Horton.
Source/WebCore:
The playback controls on Netflix/YouTube are buttons that have a
non-'none' appearance value, but a used value of 'none' due to author
styles. In WebKit, and other engines, setting a background or text
color different from the UA style makes the used value 'none' and
drops native appearance.
The used value (effectiveAppearance) is set to none by comparing the
element's style to the UA style in RenderTheme::adjustStyle. However, when
style is adjusted during animation, the UA style is not passed in to the
method (see r273003). Consequently, we are unable to compare styles and
end up setting the 'effectiveAppearance' to 'appearance' (the computed value)
after r283858. Since the 'appearance' is not 'none', a native button is
briefly displayed during a hover animation, resulting in a white flash.
This was not an issue before r283858, as that change added logic to
always update the effectiveAppearance in RenderTheme::adjustStyle.
Before the change, the effectiveAppearance would simply be carried over
from the style before animation, and would remain 'none'.
To fix, only update the effectiveAppearance if its current value is
incorrect (auto, or styled). Additionally, use effectiveAppearance
more consistently, to ensure we do not incorrectly treat
style.appearance() as the used value.
Test: fast/forms/button-animation-appearance.html
- rendering/RenderTheme.cpp:
(WebCore::RenderTheme::adjustStyle):
LayoutTests:
Added a mismatch test to ensure that animating the background color
of a button drops native appearance. Verified that the test passes
before r283858, on Safari 15, and fails on r283858.
- fast/forms/button-animation-appearance-expected-mismatch.html: Added.
- fast/forms/button-animation-appearance.html: Added.
- 9:49 AM Changeset in webkit [284168] by
-
- 6 edits in branches/safari-613.1.5-branch/Source
Cherry-pick r283940. rdar://problem/84158485
Disable SystemPreview in WKContentProviderRegistry
https://bugs.webkit.org/show_bug.cgi?id=231538
rdar://84110761
Reviewed by Tim Horton.
Source/WebKit:
Disable the WebViewContentProvider for System Previews
if UIKIT_WEBKIT_INTERNALS is true.
- UIProcess/Cocoa/WKWebViewContentProviderRegistry.mm: (-[WKWebViewContentProviderRegistry initWithConfiguration:]):
- UIProcess/ios/WKSystemPreviewView.h:
- UIProcess/ios/WKSystemPreviewView.mm:
Source/WTF:
Revert the change in r283811.
- wtf/PlatformUse.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@283940 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 9:39 AM Changeset in webkit [284167] by
-
- 9 edits in trunk/Source
Remove std::iterator usage
https://bugs.webkit.org/show_bug.cgi?id=231728
Reviewed by Keith Miller.
Source/WebCore:
- dom/ElementIterator.h:
- dom/SimpleRange.h:
- platform/Timer.cpp:
(WebCore::TimerBase::heapDecreaseKey):
(WebCore::TimerBase::heapPopMin):
(WebCore::TimerBase::heapDeleteNullMin):
Source/WTF:
std::iterator<> is deprecated and defining 5 type aliases is encouraged[1].
With new clang, using std::iterator<> causes compile error because of deprecation warnings.
This patch removes std::iterator usage.
[1]: https://www.fluentcpp.com/2018/05/08/std-iterator-deprecated/
- wtf/HashIterators.h:
(WTF:: const const): Deleted.
- wtf/HashTable.h:
- wtf/WeakHashMap.h:
- wtf/WeakHashSet.h:
- 9:38 AM Changeset in webkit [284166] by
-
- 5 edits2 moves in trunk/Source/WebCore
Move KeyboardScroll into platform code
https://bugs.webkit.org/show_bug.cgi?id=231712
Reviewed by Beth Dakin.
KeyboardScroll is used by platform/KeyboardScrollingAnimator.*, and itself only uses
platform types, so it can also be in platform. This fixes a layering violation.
- Sources.txt:
- WebCore.xcodeproj/project.pbxproj:
- platform/KeyboardScroll.cpp: Renamed from Source/WebCore/page/KeyboardScroll.cpp.
- platform/KeyboardScroll.h: Renamed from Source/WebCore/page/KeyboardScroll.h.
- 9:08 AM Changeset in webkit [284165] by
-
- 5 edits in trunk/Tools
[git-webkit] Reset author time when editing commits (Follow-up fix)
https://bugs.webkit.org/show_bug.cgi?id=230224
Reviewed by Dewei Zhu.
update-ref creates a sticky ref file, which is not what we want.
Use 'fetch' instead.
- Scripts/libraries/webkitscmpy/setup.py: Bump version.
- Scripts/libraries/webkitscmpy/webkitscmpy/init.py: Ditto.
- Scripts/libraries/webkitscmpy/webkitscmpy/local/git.py:
(Git.pull): Use fetch instead of update-ref.
- Scripts/libraries/webkitscmpy/webkitscmpy/mocks/local/git.py:
- 9:03 AM Changeset in webkit [284164] by
-
- 2 edits in trunk/Tools
Disable django admin url on ews.webkit.org
https://bugs.webkit.org/show_bug.cgi?id=231739
Reviewed by Jonathan Bedard.
- CISupport/ews-app/ews-app/urls.py:
- 8:10 AM Changeset in webkit [284163] by
-
- 9 edits1 add in trunk/Source/WebCore
WebCore::CaptionUserPreferencesMediaAF should use a weak observer with CFNotificationCenter
<https://webkit.org/b/231550>
<rdar://problem/84129338>
Reviewed by Darin Adler.
- SourcesCocoa.txt:
- WebCore.xcodeproj/project.pbxproj:
- Add CaptionUserPreferencesMediaAF.mm.
- page/CaptionUserPreferences.cpp:
(WebCore::CaptionUserPreferences::create): Add.
- page/CaptionUserPreferences.h:
(WebCore::CaptionUserPreferences):
- Make subclass of RefCounted<> and CanMakeWeakPtr<>.
(WebCore::CaptionUserPreferences::create): Add.
(WebCore::CaptionUserPreferences::CaptionUserPreferences):
- Move constructor to protected visiblity with explicit keyword, and add static create() method.
- page/CaptionUserPreferencesMediaAF.cpp:
(WebCore::userCaptionPreferencesChangedNotificationCallback):
- Update to use extractCaptionUserPreferencesMediaAF() for
Cococa platforms. Note that -> is used for two different
userPreferences
variable types based on the platform.
(WebCore::CaptionUserPreferencesMediaAF::create): Add.
(WebCore::CaptionUserPreferencesMediaAF::CaptionUserPreferencesMediaAF):
- Move initialization of m_listeningForPreferenceChanges to class definition.
(WebCore::CaptionUserPreferencesMediaAF::~CaptionUserPreferencesMediaAF):
- Update to use m_weakObserver as observer for Cocoa platforms.
(WebCore::CaptionUserPreferencesMediaAF::setInterestedInCaptionPreferenceChanges):
- Update to use m_weakObserver as observer and _CFNotificationObserverIsObjC in suspension behavior for Cocoa platforms.
- page/CaptionUserPreferencesMediaAF.h:
(WebCore::CaptionUserPreferencesMediaAF::create): Add.
(WebCore::CaptionUserPreferencesMediaAF::CaptionUserPreferencesMediaAF):
- Move constructor to private visiblity, and add static create() method.
(WebCore::CaptionUserPreferencesMediaAF::extractCaptionUserPreferencesMediaAF): Add.
(WebCore::CaptionUserPreferencesMediaAF::createWeakObserver): Add.
(WebCore::CaptionUserPreferencesMediaAF::m_weakObserver):
- Add m_weakObserver instance variable for use with CFNotificationCenter.
(WebCore::CaptionUserPreferencesMediaAF::m_listeningForPreferenceChanges):
- Move initialization of m_listeningForPreferenceChanges here from the constructor.
- page/cocoa/CaptionUserPreferencesMediaAFCocoa.mm: Add.
(-[WebCaptionUserPreferencesMediaAFWeakObserver initWithWeakPtr:]):
(-[WebCaptionUserPreferencesMediaAFWeakObserver userPreferences]):
- Declare and implement WebCaptionUserPreferencesMediaAFWeakObserver class for use as a weak CFNotificationCenter observer.
(WebCore::CaptionUserPreferencesMediaAF::createWeakObserver): Add.
- Helper method to call from C++ that creates weak observer object from Objective-C++.
(WebCore::CaptionUserPreferencesMediaAF::extractCaptionUserPreferencesMediaAF): Add.
- Helper method to extract RefPtr<CaptionUserPreferencesMediaAF> from CFNotification observer parameter.
- page/PageGroup.cpp:
(WebCore::PageGroup::ensureCaptionPreferences):
- Switch to using new create() methods.
- page/PageGroup.h:
(WebCore::PageGroup::m_captionPreferences):
- Change from std::unique_ptr<> to RefPtr<>.
- 8:06 AM Changeset in webkit [284162] by
-
- 2 edits in trunk/Source/WebKitLegacy
Unreviewed, fix up previous commit.
- Storage/InProcessIDBServer.cpp:
(storageQuotaManagerSpaceRequester):
- 7:50 AM Changeset in webkit [284161] by
-
- 2 edits in trunk
Add my GitHub username to contributors.json
Unreviewed.
- metadata/contributors.json:
- 7:48 AM Changeset in webkit [284160] by
-
- 2 edits in trunk/Source/WebKitLegacy
Unreviewed, very tiny partial revert of r284142 to address assertion hits on the bots.
- Storage/InProcessIDBServer.cpp:
(storageQuotaManagerSpaceRequester):
- 7:35 AM WebKitGTK/2.34.x edited by
- (diff)
- 7:24 AM Changeset in webkit [284159] by
-
- 29 edits12 deletes in trunk
Unreviewed, reverting r284151.
https://bugs.webkit.org/show_bug.cgi?id=231740
WTR
Reverted changeset:
"Test coverage for JSC shadow realms implementation"
https://bugs.webkit.org/show_bug.cgi?id=230602
https://commits.webkit.org/r284151
- 6:54 AM Changeset in webkit [284158] by
-
- 4 edits2 adds in trunk
[LFC][IFC] Apply the line-gap font metrics when computing the layout bounds for inline boxes
https://bugs.webkit.org/show_bug.cgi?id=231699
Reviewed by Antti Koivisto.
Source/WebCore:
As per https://www.w3.org/TR/css-inline-3/#inline-height
"If line-height computes to normal and either text-edge is leading or this is the root inline box, the font's
line gap metric may also be incorporated into A and D by adding half to each side as half-leading."
We don't have text-edge implemented yet and since the its initial value is 'leading', the line-gap adjustment should be applied to
both the root and the non-root inline boxes unconditionally.
Test: fast/inline/fallback-font-with-line-spacing.html
- layout/formattingContexts/inline/InlineLineBoxBuilder.cpp:
(WebCore::Layout::LineBoxBuilder::adjustVerticalGeometryForInlineBoxWithFallbackFonts const):
LayoutTests:
- fast/inline/fallback-font-with-line-spacing-expected.html: Added.
- fast/inline/fallback-font-with-line-spacing.html: Added.
- platform/mac/fast/text/international/003-expected.txt: Progression.
- 6:26 AM Changeset in webkit [284157] by
-
- 4 edits4 adds in trunk/LayoutTests/imported/w3c
Import new <dialog> focus-related WPT
https://bugs.webkit.org/show_bug.cgi?id=231736
Reviewed by Youenn Fablet.
Upstream commit: https://github.com/web-platform-tests/wpt/commit/d6ef7143ef347dcedd680fafa3a7d91e77624e0f
- web-platform-tests/html/semantics/interactive-elements/the-dialog-element/dialog-focusing-steps-disconnected-expected.txt: Added.
- web-platform-tests/html/semantics/interactive-elements/the-dialog-element/dialog-focusing-steps-disconnected.html: Added.
- web-platform-tests/html/semantics/interactive-elements/the-dialog-element/dialog-focusing-steps-inert-expected.txt: Added.
- web-platform-tests/html/semantics/interactive-elements/the-dialog-element/dialog-focusing-steps-inert.html: Added.
- web-platform-tests/html/semantics/interactive-elements/the-dialog-element/focus-after-close-expected.txt:
- web-platform-tests/html/semantics/interactive-elements/the-dialog-element/focus-after-close.html:
- web-platform-tests/html/semantics/interactive-elements/the-dialog-element/w3c-import.log:
- 6:20 AM Changeset in webkit [284156] by
-
- 20 edits2 deletes in trunk
[GTK][WPE] Move getCurrentExecutablePath() and getCurrentExecutableName() to FileSystem
https://bugs.webkit.org/show_bug.cgi?id=231732
Reviewed by Michael Catanzaro.
Source/WebCore:
- platform/graphics/gstreamer/GStreamerCommon.cpp:
(WebCore::ensureGStreamerInitialized):
- platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
- platform/graphics/gstreamer/mse/AppendPipeline.cpp:
- platform/text/hyphen/HyphenationLibHyphen.cpp:
(WebCore::topLevelPath):
Source/WebKit:
- Shared/glib/ProcessExecutablePathGLib.cpp:
(WebKit::getExecutablePath):
- UIProcess/Launcher/glib/BubblewrapLauncher.cpp:
(WebKit::bubblewrapSpawn):
- UIProcess/Launcher/glib/ProcessLauncherGLib.cpp:
Source/WTF:
- wtf/FileSystem.h:
- wtf/PlatformGTK.cmake:
- wtf/PlatformWPE.cmake:
- wtf/glib/FileSystemGlib.cpp:
(WTF::FileSystemImpl::currentExecutablePath):
(WTF::FileSystemImpl::currentExecutableName):
- wtf/glib/GLibUtilities.cpp: Removed.
(getCurrentExecutablePath): Deleted.
(getCurrentExecutableName): Deleted.
- wtf/glib/GLibUtilities.h: Removed.
Tools:
- TestWebKitAPI/glib/WebKitGLib/TestMain.cpp:
(main):
- WebKitTestRunner/InjectedBundle/gtk/ActivateFontsGtk.cpp:
- WebKitTestRunner/InjectedBundle/gtk/InjectedBundleUtilities.cpp:
(WTR::topLevelPath):
- WebKitTestRunner/InjectedBundle/wpe/ActivateFontsWPE.cpp:
(WTR::topLevelPath):
- 6:02 AM Changeset in webkit [284155] by
-
- 2 edits in trunk/Source/WTF
Enable <dialog> element by default
https://bugs.webkit.org/show_bug.cgi?id=231307
Reviewed by Brent Fulgham.
- Scripts/Preferences/WebPreferencesExperimental.yaml:
- 5:37 AM Changeset in webkit [284154] by
-
- 7 edits in trunk/Source/WebCore
Refactor RenderSVGBlock
https://bugs.webkit.org/show_bug.cgi?id=231477
Patch by Rob Buis <rbuis@igalia.com> on 2021-10-14
Reviewed by Manuel Rego Casasnovas.
Refactor common code from RenderSVGBlock subclasses into RenderSVGBlock.
- rendering/svg/RenderSVGBlock.cpp:
(WebCore::RenderSVGBlock::clippedOverflowRect const):
(WebCore::RenderSVGBlock::computeVisibleRectInContainer const):
(WebCore::RenderSVGBlock::computeFloatVisibleRectInContainer const):
(WebCore::RenderSVGBlock::mapLocalToContainer const):
(WebCore::RenderSVGBlock::pushMappingToContainer const):
(WebCore::RenderSVGBlock::nodeAtPoint):
- rendering/svg/RenderSVGBlock.h:
- rendering/svg/RenderSVGForeignObject.cpp:
(WebCore::RenderSVGForeignObject::clippedOverflowRect const): Deleted.
(WebCore::RenderSVGForeignObject::computeFloatVisibleRectInContainer const): Deleted.
(WebCore::RenderSVGForeignObject::computeVisibleRectInContainer const): Deleted.
(WebCore::RenderSVGForeignObject::nodeAtPoint): Deleted.
(WebCore::RenderSVGForeignObject::mapLocalToContainer const): Deleted.
(WebCore::RenderSVGForeignObject::pushMappingToContainer const): Deleted.
- rendering/svg/RenderSVGForeignObject.h:
- rendering/svg/RenderSVGText.cpp:
(WebCore::RenderSVGText::clippedOverflowRect const): Deleted.
(WebCore::RenderSVGText::computeVisibleRectInContainer const): Deleted.
(WebCore::RenderSVGText::computeFloatVisibleRectInContainer const): Deleted.
(WebCore::RenderSVGText::mapLocalToContainer const): Deleted.
(WebCore::RenderSVGText::pushMappingToContainer const): Deleted.
(WebCore::RenderSVGText::nodeAtPoint): Deleted.
- rendering/svg/RenderSVGText.h:
- 5:32 AM Changeset in webkit [284153] by
-
- 2 edits in trunk
Unreviewed, reverting r283878.
https://bugs.webkit.org/show_bug.cgi?id=231735
It
Reverted changeset:
"[WPE] Reenable -fvisibility=hidden and -fvisibility-inlines-
hidden"
https://bugs.webkit.org/show_bug.cgi?id=222860
https://commits.webkit.org/r283878
- 4:23 AM Changeset in webkit [284152] by
-
- 8 edits in trunk
[GTK][WPE] Bump GLib version to 2.58.3
https://bugs.webkit.org/show_bug.cgi?id=231726
Reviewed by Philippe Normand.
.:
- Source/cmake/OptionsGTK.cmake:
- Source/cmake/OptionsWPE.cmake:
Source/WebCore:
Use g_enum_to_string().
- platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
(WebCore::MediaPlayerPrivateGStreamer::updateBufferingStatus):
Source/WTF:
Remove enumToString() since we can use g_enum_to_string().
- wtf/glib/GLibUtilities.cpp:
(enumToString): Deleted.
- wtf/glib/GLibUtilities.h:
- 3:22 AM Changeset in webkit [284151] by
-
- 29 edits12 adds in trunk
JSTests:
Test coverage for JSC shadow realms implementation
https://bugs.webkit.org/show_bug.cgi?id=230602
Patch by Phillip Mates <Phillip Mates> on 2021-10-14
Reviewed by Yusuke Suzuki.
- modules/import-meta-syntax.js:
(shouldThrow):
- stress/eval-indirect.js: Added.
(shouldBe):
(shouldThrow):
- stress/import-syntax.js:
- stress/resources/shadow-realm-example-module.js: Added.
(putInGlobal):
(getFromGlobal):
(getAnObject):
(getCallCount):
- stress/shadow-realm-evaluate.js: Added.
(shouldBe):
(shouldThrow):
(assertionFn):
(shouldBe.String):
(shouldBe.globalObjectFor.doEval):
(shouldBe.globalObjectFor):
- stress/shadow-realm-import-value.js: Added.
(shouldBe):
(shouldThrow):
(async shouldThrowAsync):
(async const):
(doImport):
- stress/shadow-realm.js: Added.
(shouldBe):
(throw.new.Error):
- test262/config.yaml:
Source/JavaScriptCore:
shadow realms implementation
https://bugs.webkit.org/show_bug.cgi?id=230602
Patch by Phillip Mates <Phillip Mates> on 2021-10-14
Reviewed by Yusuke Suzuki.
Implementation of the Shadow Realms proposal (stage 3 in TC39) [1]
Main APIs added are
new ShadowRealm()
creates an object that has its own global object and module graph.- ShadowRealm.prototype.evaluate(sourceText) this allows for evaluating code in the context of the realm, which has its own module graph and global object.
- ShadowRealm.prototype.importValue(specifier, exportName) this allows importing module exports in the the context of the realm, which has its own module graph and global object.
The main detail of the Shadow Realm implementation is that values
passed between realms must be either primitives or wrapped callables.
Wrapped callables themselves are callables that check that their
arguments and return values are also either primitives or wrapped
callables. This detail is implemented via JS builtins + a few new
intrinsics.
Can be enabled using
--useShadowRealm=true
[1]: https://github.com/tc39/proposal-shadowrealm
- CMakeLists.txt:
- DerivedSources-input.xcfilelist:
- DerivedSources-output.xcfilelist:
- DerivedSources.make:
- JavaScriptCore.xcodeproj/project.pbxproj:
- Sources.txt:
- builtins/BuiltinNames.h:
- builtins/ShadowRealmPrototype.js: Added.
(globalPrivate.wrap.wrapped):
(globalPrivate.wrap):
(evaluate):
(importValue):
- bytecode/BytecodeIntrinsicRegistry.h:
- bytecode/LinkTimeConstant.h:
- bytecompiler/BytecodeGenerator.h:
(JSC::BytecodeGenerator::emitIsShadowRealm):
- bytecompiler/NodesCodegen.cpp:
- jsc.cpp:
(JSC_DEFINE_HOST_FUNCTION):
- parser/Parser.cpp:
(JSC::Parser<LexerType>::parseMemberExpression):
- runtime/CommonIdentifiers.h:
- runtime/IndirectEvalExecutable.cpp:
(JSC::IndirectEvalExecutable::createImpl):
(JSC::IndirectEvalExecutable::create):
(JSC::IndirectEvalExecutable::tryCreate):
- runtime/IndirectEvalExecutable.h:
- runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::init):
(JSC::JSGlobalObject::visitChildrenImpl):
(JSC::JSGlobalObject::createWithCustomMethodTable):
- runtime/JSGlobalObject.h:
(JSC::JSGlobalObject::shadowRealmPrototype const):
(JSC::JSGlobalObject::shadowRealmStructure const):
- runtime/JSGlobalObjectFunctions.cpp:
(JSC::JSC_DEFINE_HOST_FUNCTION):
- runtime/JSType.cpp:
(WTF::printInternal):
- runtime/JSType.h:
- runtime/OptionsList.h:
- runtime/ShadowRealmConstructor.cpp: Added.
(JSC::ShadowRealmConstructor::ShadowRealmConstructor):
(JSC::ShadowRealmConstructor::finishCreation):
(JSC::JSC_DEFINE_HOST_FUNCTION):
- runtime/ShadowRealmConstructor.h: Added.
- runtime/ShadowRealmObject.cpp: Added.
(JSC::ShadowRealmObject::ShadowRealmObject):
(JSC::ShadowRealmObject::visitChildrenImpl):
(JSC::ShadowRealmObject::create):
(JSC::ShadowRealmObject::finishCreation):
- runtime/ShadowRealmObject.h: Added.
- runtime/ShadowRealmPrototype.cpp: Added.
(JSC::ShadowRealmPrototype::ShadowRealmPrototype):
(JSC::ShadowRealmPrototype::finishCreation):
(JSC::JSC_DEFINE_HOST_FUNCTION):
- runtime/ShadowRealmPrototype.h: Added.
- runtime/VM.cpp:
- runtime/VM.h:
- 3:15 AM Changeset in webkit [284150] by
-
- 2 edits in trunk
[contributors.json] Add eocanha github account and canonicalize
https://bugs.webkit.org/show_bug.cgi?id=231729
Unreviewed.
Added eocanha github user to contributors.json and canonicalize the file to make the style checker happy.
- metadata/contributors.json:
- 12:04 AM Changeset in webkit [284149] by
-
- 2 edits in trunk/Source/WebCore
Remove useless isConnected() check from HTMLDialogElement::close()
https://bugs.webkit.org/show_bug.cgi?id=231722
Reviewed by Antti Koivisto.
No behavior change.
Element::focus() already early returns if the element is disconnected, so it is redundant.
- html/HTMLDialogElement.cpp:
(WebCore::HTMLDialogElement::close):
Oct 13, 2021:
- 10:29 PM Changeset in webkit [284148] by
-
- 2 edits in trunk/Source/WebCore
Determine viewport distances for lazy image loading
https://bugs.webkit.org/show_bug.cgi?id=203557
Patch by Rob Buis <rbuis@igalia.com> on 2021-10-13
Reviewed by Simon Fraser.
Determine appropriate lazy image loading viewport distances
for desktop and mobile devices by using a lazy load distance
of one viewport in all directions.
- html/LazyLoadImageObserver.cpp:
(WebCore::LazyLoadImageObserver::intersectionObserver):
- 10:14 PM Changeset in webkit [284147] by
-
- 2 edits in trunk/Source/WebCore
Compilation error: error: definition of implicit copy assignment operator in AppHighlightRangeData.h
https://bugs.webkit.org/show_bug.cgi?id=231717
rdar://problem/84230745
Reviewed by Tim Horton.
Per C++11 and later:
“The generation of the implicitly-defined copy assignment operator is
deprecated if T has a user-declared destructor or user-declared copy
constructor.”
A copy constructor is defined, so we need to declare a copy assignement operator.
- Modules/highlight/AppHighlightRangeData.h: Add copy assignment operator.
- 9:09 PM Changeset in webkit [284146] by
-
- 4 edits in trunk/Source/WebCore
Use PlatformKeyboardEvent in KeyboardScrollingAnimator to fix a layering violation
https://bugs.webkit.org/show_bug.cgi?id=231711
Reviewed by Beth Dakin.
KeyboardScrollingAnimator lives in platform/ so should not know about dom/KeyboardEvent.
Have it use PlatformKeyboardEvent instead.
- page/EventHandler.cpp:
(WebCore::EventHandler::stopKeyboardScrolling):
(WebCore::EventHandler::startKeyboardScrolling): Null check the view. Use the platform event.
- platform/KeyboardScrollingAnimator.cpp:
(WebCore::keyboardScrollingKeyFromEvent):
(WebCore::KeyboardScrollingAnimator::keyboardScrollForKeyboardEvent const):
(WebCore::KeyboardScrollingAnimator::beginKeyboardScrollGesture):
- platform/KeyboardScrollingAnimator.h:
- 8:58 PM Changeset in webkit [284145] by
-
- 2 edits in trunk/Source/JavaScriptCore
Unreviewed, speculative build fix with new clang
Speculative since I cannot install this clang now.
- b3/B3ValueRep.h:
- 7:17 PM Changeset in webkit [284144] by
-
- 2 edits in trunk
Add my GitHub username to contributors.json
Unreviewed.
- metadata/contributors.json:
- 7:12 PM Changeset in webkit [284143] by
-
- 8 edits2 adds in trunk/Source
Scroll To Text Fragment directive parsing
https://bugs.webkit.org/show_bug.cgi?id=231410
Reviewed by Chris Dumez.
Text directive parsing for
https://wicg.github.io/scroll-to-text-fragment/
Source/WebCore:
Make a new class to handle the parsing of the text directive.
The parsing is defined in the linked spec.
The directive should be stored on Document and in a future
patch the matching algorithm will find the text and scroll
and highlight it.
- Sources.txt:
- WebCore.xcodeproj/project.pbxproj:
- dom/Document.h:
(WebCore::Document::setFragmentDirective):
(WebCore::Document::fragmentDirective const):
- dom/FragmentDirectiveParser.cpp: Added.
(WebCore::FragmentDirectiveParser::create):
(WebCore::FragmentDirectiveParser::FragmentDirectiveParser):
(WebCore::FragmentDirectiveParser::parseFragmentDirective):
- dom/FragmentDirectiveParser.h: Added.
(WebCore::FragmentDirectiveParser::parsedTextDirectives):
(WebCore::FragmentDirectiveParser::fragmentDirective):
(WebCore::FragmentDirectiveParser::urlFragment):
(WebCore::FragmentDirectiveParser::isValid):
- page/FrameView.cpp:
(WebCore::FrameView::scrollToFragment):
- platform/Logging.h:
Source/WTF:
- Scripts/Preferences/WebPreferencesExperimental.yaml:
- 6:46 PM Changeset in webkit [284142] by
-
- 194 edits in trunk
Drop makeWeakPtr() and use WeakPtr { } directly
https://bugs.webkit.org/show_bug.cgi?id=231679
Reviewed by Darin Adler.
Source/WebCore:
- Modules/filesystemaccess/FileSystemSyncAccessHandle.cpp:
(WebCore::FileSystemSyncAccessHandle::truncate):
(WebCore::FileSystemSyncAccessHandle::getSize):
(WebCore::FileSystemSyncAccessHandle::flush):
(WebCore::FileSystemSyncAccessHandle::close):
- dom/Element.cpp:
(WebCore::Element::addShadowRoot):
Source/WebKit:
- GPUProcess/GPUConnectionToWebProcess.cpp:
(WebKit::GPUConnectionToWebProcess::GPUConnectionToWebProcess):
- GPUProcess/graphics/RemoteGraphicsContextGL.cpp:
(WebKit::RemoteGraphicsContextGL::RemoteGraphicsContextGL):
- GPUProcess/media/RemoteAudioHardwareListenerProxy.cpp:
(WebKit::RemoteAudioHardwareListenerProxy::RemoteAudioHardwareListenerProxy):
- GPUProcess/media/RemoteAudioTrackProxy.cpp:
(WebKit::RemoteAudioTrackProxy::RemoteAudioTrackProxy):
- GPUProcess/media/RemoteCDMFactoryProxy.cpp:
(WebKit::RemoteCDMFactoryProxy::RemoteCDMFactoryProxy):
(WebKit::RemoteCDMFactoryProxy::createCDM):
- GPUProcess/media/RemoteCDMInstanceProxy.cpp:
(WebKit::RemoteCDMInstanceProxy::RemoteCDMInstanceProxy):
(WebKit::RemoteCDMInstanceProxy::createSession):
- GPUProcess/media/RemoteCDMInstanceSessionProxy.cpp:
(WebKit::RemoteCDMInstanceSessionProxy::create):
- GPUProcess/media/RemoteCDMProxy.cpp:
(WebKit::RemoteCDMProxy::createInstance):
- GPUProcess/media/RemoteImageDecoderAVFProxy.cpp:
(WebKit::RemoteImageDecoderAVFProxy::RemoteImageDecoderAVFProxy):
- GPUProcess/media/RemoteLegacyCDMFactoryProxy.cpp:
(WebKit::RemoteLegacyCDMFactoryProxy::RemoteLegacyCDMFactoryProxy):
(WebKit::RemoteLegacyCDMFactoryProxy::createCDM):
- GPUProcess/media/RemoteLegacyCDMProxy.cpp:
(WebKit::RemoteLegacyCDMProxy::createSession):
- GPUProcess/media/RemoteMediaPlayerManagerProxy.cpp:
(WebKit::RemoteMediaPlayerManagerProxy::RemoteMediaPlayerManagerProxy):
- GPUProcess/media/RemoteMediaPlayerProxy.cpp:
(WebKit::RemoteMediaPlayerProxy::RemoteMediaPlayerProxy):
(WebKit::RemoteMediaPlayerProxy::setLegacyCDMSession):
- GPUProcess/media/RemoteMediaResource.cpp:
(WebKit::RemoteMediaResource::RemoteMediaResource):
- GPUProcess/media/RemoteMediaResourceLoader.cpp:
(WebKit::RemoteMediaResourceLoader::RemoteMediaResourceLoader):
- GPUProcess/media/RemoteMediaSourceProxy.cpp:
(WebKit::RemoteMediaSourceProxy::RemoteMediaSourceProxy):
- GPUProcess/media/RemoteRemoteCommandListenerProxy.cpp:
(WebKit::RemoteRemoteCommandListenerProxy::RemoteRemoteCommandListenerProxy):
- GPUProcess/media/RemoteSourceBufferProxy.cpp:
(WebKit::RemoteSourceBufferProxy::RemoteSourceBufferProxy):
- GPUProcess/media/RemoteTextTrackProxy.cpp:
(WebKit::RemoteTextTrackProxy::RemoteTextTrackProxy):
- GPUProcess/media/RemoteVideoTrackProxy.cpp:
(WebKit::RemoteVideoTrackProxy::RemoteVideoTrackProxy):
- NetworkProcess/Classifier/WebResourceLoadStatisticsStore.cpp:
(WebKit::WebResourceLoadStatisticsStore::WebResourceLoadStatisticsStore):
- NetworkProcess/Downloads/cocoa/WKDownloadProgress.mm:
(-[WKDownloadProgress initWithDownloadTask:download:URL:sandboxExtension:]):
- NetworkProcess/NetworkCORSPreflightChecker.cpp:
(WebKit::NetworkCORSPreflightChecker::NetworkCORSPreflightChecker):
- NetworkProcess/NetworkConnectionToWebProcess.cpp:
(WebKit::NetworkConnectionToWebProcess::establishSWServerConnection):
- NetworkProcess/NetworkDataTask.cpp:
(WebKit::NetworkDataTask::NetworkDataTask):
- NetworkProcess/NetworkLoad.cpp:
(WebKit::NetworkLoad::startWithScheduling):
- NetworkProcess/NetworkLoadChecker.cpp:
(WebKit::NetworkLoadChecker::NetworkLoadChecker):
- NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::preconnectTo):
(WebKit::NetworkProcess::deleteAndRestrictWebsiteDataForRegistrableDomains):
(WebKit::NetworkProcess::simulateResourceLoadStatisticsSessionRestart):
- NetworkProcess/NetworkResourceLoader.cpp:
(WebKit::NetworkResourceLoader::sendDidReceiveResponsePotentiallyInNewBrowsingContextGroup):
- NetworkProcess/NetworkSocketChannel.cpp:
(WebKit::NetworkSocketChannel::NetworkSocketChannel):
- NetworkProcess/NetworkStorageSessionProvider.h:
- NetworkProcess/PrivateClickMeasurement/PrivateClickMeasurementClientImpl.cpp:
(WebKit::PCM::ClientImpl::ClientImpl):
- NetworkProcess/PrivateClickMeasurement/PrivateClickMeasurementConnection.cpp:
(WebKit::PCM::ConnectionToMachService::ConnectionToMachService):
- NetworkProcess/PrivateClickMeasurement/cocoa/PrivateClickMeasurementConnectionCocoa.mm:
(WebKit::PCM::ConnectionToMachService::initializeConnectionIfNeeded const):
- NetworkProcess/ServiceWorker/ServiceWorkerFetchTask.cpp:
(WebKit::ServiceWorkerFetchTask::ServiceWorkerFetchTask):
(WebKit::ServiceWorkerFetchTask::start):
- NetworkProcess/ServiceWorker/ServiceWorkerSoftUpdateLoader.cpp:
(WebKit::ServiceWorkerSoftUpdateLoader::ServiceWorkerSoftUpdateLoader):
- NetworkProcess/ServiceWorker/WebSWServerToContextConnection.cpp:
(WebKit::WebSWServerToContextConnection::WebSWServerToContextConnection):
(WebKit::WebSWServerToContextConnection::registerFetch):
- NetworkProcess/WebStorage/StorageArea.cpp:
(WebKit::StorageArea::StorageArea):
- NetworkProcess/WebStorage/StorageManagerSet.cpp:
(WebKit::StorageManagerSet::connectToLocalStorageArea):
(WebKit::StorageManagerSet::connectToTransientLocalStorageArea):
(WebKit::StorageManagerSet::connectToSessionStorageArea):
- NetworkProcess/cache/CacheStorageEngine.cpp:
(WebKit::CacheStorage::Engine::Engine):
- NetworkProcess/cocoa/NetworkDataTaskCocoa.mm:
(WebKit::NetworkDataTaskCocoa::NetworkDataTaskCocoa):
(WebKit::NetworkDataTaskCocoa::swapSessionIfNecessary):
- NetworkProcess/cocoa/NetworkSessionCocoa.mm:
(-[WKNetworkSessionDelegate initWithNetworkSession:wrapper:withCredentials:]):
(-[WKNetworkSessionDelegate URLSession:task:didReceiveChallenge:completionHandler:]):
(WebKit::NetworkSessionCocoa::createWebSocketTask):
(WebKit::NetworkSessionCocoa::addWebPageNetworkParameters):
- NetworkProcess/storage/FileSystemStorageHandle.cpp:
(WebKit::FileSystemStorageHandle::FileSystemStorageHandle):
- NetworkProcess/storage/FileSystemStorageHandleRegistry.cpp:
(WebKit::FileSystemStorageHandleRegistry::registerHandle):
- Platform/IPC/Connection.cpp:
(IPC::Connection::addMessageObserver):
- Platform/IPC/MessageReceiverMap.cpp:
(IPC::MessageReceiverMap::addMessageReceiver):
- Platform/cocoa/WKPaymentAuthorizationDelegate.mm:
(-[WKPaymentAuthorizationDelegate _initWithRequest:presenter:]):
- Shared/ApplePay/WebPaymentCoordinatorProxy.cpp:
(WebKit::WebPaymentCoordinatorProxy::showPaymentUI):
- Shared/WebSQLiteDatabaseTracker.h:
- Shared/XR/XRDeviceProxy.cpp:
(WebKit::XRDeviceProxy::XRDeviceProxy):
- Shared/mac/SecItemShim.cpp:
(WebKit::initializeSecItemShim):
- UIProcess/API/APIAttachment.cpp:
(API::Attachment::Attachment):
- UIProcess/API/APIHTTPCookieStore.cpp:
(API::HTTPCookieStore::HTTPCookieStore):
(API::HTTPCookieStore::registerObserver):
- UIProcess/API/APIInspectorExtension.cpp:
(API::InspectorExtension::InspectorExtension):
- UIProcess/API/APIWebAuthenticationPanel.cpp:
(API::WebAuthenticationPanel::WebAuthenticationPanel):
(API::WebAuthenticationPanel::handleRequest):
- UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _removeDataDetectedLinks:]):
- UIProcess/API/Cocoa/WKWebViewTesting.mm:
(-[WKMediaSessionCoordinatorHelper initWithCoordinator:]):
- UIProcess/API/Cocoa/_WKWebAuthenticationPanel.mm:
(-[_WKWebAuthenticationPanel setDelegate:]):
- UIProcess/API/ios/WKWebViewIOS.mm:
(-[WKWebView _detectDataWithTypes:completionHandler:]):
- UIProcess/Cocoa/GroupActivities/GroupActivitiesCoordinator.mm:
(-[WKGroupActivitiesCoordinatorDelegate initWithParent:]):
- UIProcess/Cocoa/LegacyCustomProtocolManagerClient.mm:
(-[WKCustomProtocolLoader initWithLegacyCustomProtocolManagerProxy:customProtocolID:request:]):
- UIProcess/Cocoa/NavigationState.mm:
(WebKit::NavigationState::NavigationState):
(WebKit::NavigationState::NavigationClient::NavigationClient):
(WebKit::tryInterceptNavigation):
(WebKit::NavigationState::HistoryClient::HistoryClient):
- UIProcess/Cocoa/SOAuthorization/PopUpSOAuthorizationSession.mm:
(-[WKSOSecretDelegate initWithSession:]):
- UIProcess/Cocoa/SOAuthorization/SOAuthorizationSession.mm:
(WebKit::SOAuthorizationSession::SOAuthorizationSession):
- UIProcess/Cocoa/UIDelegate.mm:
(WebKit::UIDelegate::ContextMenuClient::ContextMenuClient):
(WebKit::UIDelegate::UIClient::UIClient):
(WebKit::UIDelegate::UIClient::decidePolicyForGeolocationPermissionRequest):
(WebKit::UIDelegate::UIClient::shouldAllowDeviceOrientationAndMotionAccess):
- UIProcess/Cocoa/WebPasteboardProxyCocoa.mm:
(WebKit::WebPasteboardProxy::grantAccess):
(WebKit::WebPasteboardProxy::didModifyContentsOfPasteboard):
(WebKit::WebPasteboardProxy::PasteboardAccessInformation::grantAccess):
- UIProcess/Cocoa/WebProcessPoolCocoa.mm:
(WebKit::WebProcessPool::setMediaAccessibilityPreferences):
(WebKit::WebProcessPool::registerNotificationObservers):
- UIProcess/Cocoa/WebViewImpl.mm:
(-[WKDOMPasteMenuDelegate initWithWebViewImpl:]):
- UIProcess/Downloads/DownloadProxy.cpp:
(WebKit::DownloadProxy::DownloadProxy):
- UIProcess/GPU/GPUProcessProxy.cpp:
(WebKit::GPUProcessProxy::getOrCreate):
- UIProcess/Inspector/InspectorTargetProxy.cpp:
(WebKit::InspectorTargetProxy::create):
- UIProcess/Inspector/WebInspectorUIExtensionControllerProxy.cpp:
(WebKit::WebInspectorUIExtensionControllerProxy::WebInspectorUIExtensionControllerProxy):
- UIProcess/Launcher/mac/ProcessLauncherMac.mm:
(WebKit::ProcessLauncher::launchProcess):
- UIProcess/Media/RemoteMediaSessionCoordinatorProxy.cpp:
(WebKit::RemoteMediaSessionCoordinatorProxy::RemoteMediaSessionCoordinatorProxy):
- UIProcess/MediaKeySystemPermissionRequestProxy.cpp:
(WebKit::MediaKeySystemPermissionRequestProxy::MediaKeySystemPermissionRequestProxy):
- UIProcess/Network/NetworkProcessProxy.cpp:
(WebKit::NetworkProcessProxy::didReceiveAuthenticationChallenge):
- UIProcess/Network/NetworkProcessProxyCocoa.mm:
(WebKit::NetworkProcessProxy::XPCEventHandler::XPCEventHandler):
- UIProcess/PDF/WKPDFHUDView.mm:
(-[WKPDFHUDView initWithFrame:pluginIdentifier:page:]):
- UIProcess/SpeechRecognitionPermissionRequest.h:
(WebKit::SpeechRecognitionPermissionRequest::SpeechRecognitionPermissionRequest):
- UIProcess/SpeechRecognitionRemoteRealtimeMediaSource.cpp:
- UIProcess/SpeechRecognitionRemoteRealtimeMediaSourceManager.cpp:
(WebKit::SpeechRecognitionRemoteRealtimeMediaSourceManager::addSource):
- UIProcess/ViewGestureController.cpp:
(WebKit::ViewGestureController::setAlternateBackForwardListSourcePage):
- UIProcess/WebAuthentication/Authenticator.h:
(WebKit::Authenticator::setObserver):
- UIProcess/WebAuthentication/AuthenticatorManager.cpp:
(WebKit::AuthenticatorManager::runPanel):
(WebKit::AuthenticatorManager::dispatchPanelClientCall const):
- UIProcess/WebAuthentication/AuthenticatorTransportService.cpp:
(WebKit::AuthenticatorTransportService::AuthenticatorTransportService):
- UIProcess/WebAuthentication/Cocoa/AuthenticatorPresenterCoordinator.mm:
(WebKit::AuthenticatorPresenterCoordinator::AuthenticatorPresenterCoordinator):
- UIProcess/WebAuthentication/Cocoa/NfcConnection.mm:
(WebKit::NfcConnection::NfcConnection):
- UIProcess/WebAuthentication/Cocoa/WKASCAuthorizationPresenterDelegate.mm:
(-[WKASCAuthorizationPresenterDelegate initWithCoordinator:]):
- UIProcess/WebAuthentication/Cocoa/WKNFReaderSessionDelegate.mm:
(-[WKNFReaderSessionDelegate initWithConnection:]):
- UIProcess/WebAuthentication/Cocoa/WebAuthenticatorCoordinatorProxy.mm:
(WebKit::WebAuthenticatorCoordinatorProxy::performRequest):
- UIProcess/WebAuthentication/WebAuthenticatorCoordinatorProxy.cpp:
(WebKit::WebAuthenticatorCoordinatorProxy::makeCredential):
(WebKit::WebAuthenticatorCoordinatorProxy::getAssertion):
- UIProcess/WebAuthentication/fido/FidoService.cpp:
(WebKit::FidoService::getInfo):
- UIProcess/WebContextMenuListenerProxy.cpp:
(WebKit::WebContextMenuListenerProxy::WebContextMenuListenerProxy):
- UIProcess/WebContextMenuProxy.cpp:
(WebKit::WebContextMenuProxy::WebContextMenuProxy):
- UIProcess/WebCookieManagerProxy.cpp:
(WebKit::WebCookieManagerProxy::WebCookieManagerProxy):
- UIProcess/WebDataListSuggestionsDropdown.cpp:
(WebKit::WebDataListSuggestionsDropdown::WebDataListSuggestionsDropdown):
- UIProcess/WebDateTimePicker.cpp:
(WebKit::WebDateTimePicker::WebDateTimePicker):
- UIProcess/WebEditCommandProxy.cpp:
(WebKit::WebEditCommandProxy::WebEditCommandProxy):
- UIProcess/WebFrameProxy.cpp:
(WebKit::WebFrameProxy::WebFrameProxy):
- UIProcess/WebPageProxy.cpp:
(WebKit::PageClientProtector::PageClientProtector):
(WebKit::WebPageProxy::WebPageProxy):
(WebKit::WebPageProxy::suspendCurrentPageIfPossible):
(WebKit::WebPageProxy::addObserver):
- UIProcess/WebProcessPool.cpp:
(WebKit::WebProcessPool::getGPUProcessConnection):
(WebKit::WebProcessPool::getWebAuthnProcessConnection):
(WebKit::WebProcessPool::initializeNewWebProcess):
(WebKit::WebProcessPool::createWebPage):
- UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::processDidTerminateOrFailedToLaunch):
(WebKit::WebProcessProxy::createSpeechRecognitionServer):
- UIProcess/WebProcessProxy.h:
(WebKit::WebProcessProxy::WeakOrStrongPtr::WeakOrStrongPtr):
- UIProcess/WebsiteData/WebsiteDataStore.cpp:
(WebKit::WebsiteDataStore::getNetworkProcessConnection):
- UIProcess/gtk/WaylandCompositor.cpp:
(WebKit::WaylandCompositor::Surface::attachBuffer):
(WebKit::WaylandCompositor::bindSurfaceToWebPage):
- UIProcess/ios/ProcessAssertionIOS.mm:
(-[WKProcessAssertionBackgroundTaskManager _notifyAssertionsOfImminentSuspension]):
- UIProcess/ios/WebDataListSuggestionsDropdownIOS.mm:
(-[WKDataListSuggestionsControl showSuggestionsDropdown:activationType:]):
- UIProcess/mac/PageClientImplMac.mm:
(WebKit::PageClientImpl::setImpl):
- UIProcess/mac/WKRevealItemPresenter.mm:
(-[WKRevealItemPresenter initWithWebViewImpl:item:frame:menuLocation:]):
- UIProcess/mac/WebContextMenuProxyMac.mm:
(WebKit::WebContextMenuProxyMac::getContextMenuFromItems):
(WebKit::WebContextMenuProxyMac::insertOrUpdateQuickLookImageItem):
- UIProcess/mac/WebDataListSuggestionsDropdownMac.mm:
(-[WKDataListSuggestionsController showSuggestionsDropdown:]):
- UIProcess/mac/WebDateTimePickerMac.mm:
(-[WKDateTimePicker showPicker:]):
- WebProcess/Automation/WebAutomationDOMWindowObserver.cpp:
(WebKit::WebAutomationDOMWindowObserver::WebAutomationDOMWindowObserver):
- WebProcess/GPU/graphics/RemoteDisplayListRecorderProxy.cpp:
(WebKit::m_renderingBackend):
- WebProcess/GPU/graphics/RemoteImageBufferProxy.h:
(WebKit::RemoteImageBufferProxy::RemoteImageBufferProxy):
- WebProcess/GPU/graphics/RemoteRenderingBackendProxy.cpp:
(WebKit::RemoteRenderingBackendProxy::ensureGPUProcessConnection):
- WebProcess/GPU/graphics/RemoteResourceCacheProxy.cpp:
(WebKit::RemoteResourceCacheProxy::cacheImageBuffer):
(WebKit::RemoteResourceCacheProxy::recordNativeImageUse):
- WebProcess/GPU/media/AudioTrackPrivateRemote.cpp:
(WebKit::AudioTrackPrivateRemote::AudioTrackPrivateRemote):
- WebProcess/GPU/media/MediaPlayerPrivateRemote.cpp:
(WebKit::MediaPlayerPrivateRemote::MediaPlayerPrivateRemote):
- WebProcess/GPU/media/MediaSourcePrivateRemote.cpp:
(WebKit::MediaSourcePrivateRemote::MediaSourcePrivateRemote):
- WebProcess/GPU/media/RemoteAudioDestinationProxy.cpp:
(WebKit::RemoteAudioDestinationProxy::connection):
- WebProcess/GPU/media/RemoteAudioHardwareListener.cpp:
(WebKit::RemoteAudioHardwareListener::RemoteAudioHardwareListener):
- WebProcess/GPU/media/RemoteAudioSession.cpp:
(WebKit::RemoteAudioSession::ensureConnection):
- WebProcess/GPU/media/RemoteAudioSourceProvider.cpp:
(WebKit::RemoteAudioSourceProvider::RemoteAudioSourceProvider):
- WebProcess/GPU/media/RemoteCDM.cpp:
(WebKit::RemoteCDM::createInstance):
- WebProcess/GPU/media/RemoteCDMFactory.cpp:
(WebKit::RemoteCDMFactory::createCDM):
- WebProcess/GPU/media/RemoteCDMInstance.cpp:
(WebKit::RemoteCDMInstance::createSession):
- WebProcess/GPU/media/RemoteImageDecoderAVF.cpp:
(WebKit::RemoteImageDecoderAVF::RemoteImageDecoderAVF):
- WebProcess/GPU/media/RemoteImageDecoderAVFManager.cpp:
(WebKit::RemoteImageDecoderAVFManager::createImageDecoder):
(WebKit::RemoteImageDecoderAVFManager::ensureGPUProcessConnection):
- WebProcess/GPU/media/RemoteLegacyCDMFactory.cpp:
(WebKit::RemoteLegacyCDMFactory::createCDM):
- WebProcess/GPU/media/RemoteMediaPlayerManager.cpp:
(WebKit::RemoteMediaPlayerManager::createRemoteMediaPlayer):
- WebProcess/GPU/media/RemoteRemoteCommandListener.cpp:
(WebKit::RemoteRemoteCommandListener::ensureGPUProcessConnection):
- WebProcess/GPU/media/SourceBufferPrivateRemote.cpp:
(WebKit::SourceBufferPrivateRemote::SourceBufferPrivateRemote):
- WebProcess/GPU/media/TextTrackPrivateRemote.cpp:
(WebKit::TextTrackPrivateRemote::TextTrackPrivateRemote):
- WebProcess/GPU/media/VideoTrackPrivateRemote.cpp:
(WebKit::VideoTrackPrivateRemote::VideoTrackPrivateRemote):
- WebProcess/GPU/media/cocoa/VideoLayerRemoteCocoa.mm:
(-[WKVideoLayerRemote setMediaPlayerPrivateRemote:]):
- WebProcess/GPU/media/ios/RemoteMediaSessionHelper.cpp:
(WebKit::RemoteMediaSessionHelper::ensureConnection):
- WebProcess/GPU/webrtc/AudioMediaStreamTrackRendererInternalUnitManager.cpp:
(WebKit::AudioMediaStreamTrackRendererInternalUnitManager::add):
- WebProcess/GPU/webrtc/SampleBufferDisplayLayer.cpp:
(WebKit::SampleBufferDisplayLayer::SampleBufferDisplayLayer):
- WebProcess/GPU/webrtc/SampleBufferDisplayLayerManager.cpp:
(WebKit::SampleBufferDisplayLayerManager::createLayer):
(WebKit::SampleBufferDisplayLayerManager::addLayer):
- WebProcess/InjectedBundle/API/glib/DOM/DOMObjectCache.cpp:
- WebProcess/Inspector/WebInspectorUIExtensionController.cpp:
(WebKit::WebInspectorUIExtensionController::WebInspectorUIExtensionController):
- WebProcess/Network/WebSocketChannel.cpp:
(WebKit::WebSocketChannel::WebSocketChannel):
- WebProcess/Network/WebSocketChannelManager.cpp:
(WebKit::WebSocketChannelManager::addChannel):
- WebProcess/Network/webrtc/RTCDataChannelRemoteManager.cpp:
(WebKit::RTCDataChannelRemoteManager::RemoteHandlerConnection::connectToSource):
- WebProcess/Plugins/PDF/PDFPlugin.h:
- WebProcess/Plugins/PDF/PDFPlugin.mm:
(-[WKPDFPluginAccessibilityObject initWithPDFPlugin:andElement:]):
(WebKit::PDFPlugin::PDFPlugin):
- WebProcess/Plugins/Plugin.cpp:
(WebKit::Plugin::initialize):
- WebProcess/WebCoreSupport/WebDeviceOrientationUpdateProvider.cpp:
(WebKit::WebDeviceOrientationUpdateProvider::WebDeviceOrientationUpdateProvider):
(WebKit::WebDeviceOrientationUpdateProvider::deviceOrientationChanged):
(WebKit::WebDeviceOrientationUpdateProvider::deviceMotionChanged):
- WebProcess/WebCoreSupport/WebPermissionController.cpp:
(WebKit::WebPermissionController::WebPermissionController):
- WebProcess/WebCoreSupport/WebSpeechRecognitionConnection.cpp:
(WebKit::WebSpeechRecognitionConnection::registerClient):
- WebProcess/WebPage/Cocoa/WebPageCocoa.mm:
(WebKit::WebPage::setRemoteObjectRegistry):
- WebProcess/WebPage/FindController.cpp:
(WebKit::FindController::drawRect):
- WebProcess/WebPage/IPCTestingAPI.cpp:
(WebKit::IPCTestingAPI::JSIPC::JSIPC):
(WebKit::IPCTestingAPI::JSMessageListener::JSMessageListener):
- WebProcess/WebPage/RemoteLayerTree/RemoteLayerTreeDisplayRefreshMonitor.mm:
(WebKit::RemoteLayerTreeDisplayRefreshMonitor::RemoteLayerTreeDisplayRefreshMonitor):
(WebKit::RemoteLayerTreeDisplayRefreshMonitor::updateDrawingArea):
- WebProcess/WebPage/WebContextMenu.cpp:
(WebKit::WebContextMenu::WebContextMenu):
- WebProcess/WebPage/WebFrame.cpp:
(WebKit::WebFrame::initWithCoreMainFrame):
(WebKit::WebFrame::createSubframe):
- WebProcess/WebPage/WebFrame.h:
(WebKit::WebFrame::setLoadListener):
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::setActiveDataListSuggestionPicker):
(WebKit::WebPage::setActiveDateTimeChooser):
(WebKit::WebPage::startTextManipulations):
(WebKit::WebPage::requestTextRecognition):
- WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::didFinishContentChangeObserving):
(WebKit::WebPage::selectTextWithGranularityAtPoint):
- WebProcess/WebPage/mac/WebPageMac.mm:
(WebKit::WebPage::createPDFHUD):
- WebProcess/WebStorage/StorageAreaImpl.cpp:
(WebKit::StorageAreaImpl::StorageAreaImpl):
- WebProcess/cocoa/AudioSessionRoutingArbitrator.cpp:
(WebKit::AudioSessionRoutingArbitrator::AudioSessionRoutingArbitrator):
- WebProcess/cocoa/VideoFullscreenManager.mm:
(WebKit::VideoFullscreenManager::enterVideoFullscreenForVideoElement):
Source/WebKitLegacy:
- Storage/InProcessIDBServer.cpp:
(storageQuotaManagerSpaceRequester):
- WebCoreSupport/PageStorageSessionProvider.h:
- WebCoreSupport/WebBroadcastChannelRegistry.cpp:
(WebBroadcastChannelRegistry::getOrCreate):
Source/WebKitLegacy/mac:
- WebCoreSupport/WebEditorClient.mm:
(WebEditorClient::requestCandidatesForSelection):
Source/WTF:
- wtf/WeakHashMap.h:
- wtf/WeakHashSet.h:
(WTF::copyToVector):
- wtf/WeakPtr.h:
(WTF::makeWeakPtr): Deleted.
Tools:
- Scripts/webkitpy/style/checkers/cpp.py:
(check_callonmainthread):
(process_line):
(check_makeweakptr): Deleted.
- TestWebKitAPI/Tests/WTF/Observer.cpp:
(TestWebKitAPI::TEST):
- TestWebKitAPI/Tests/WTF/WeakPtr.cpp:
(TestWebKitAPI::makeWeakPtr):
- 5:57 PM Changeset in webkit [284141] by
-
- 2 edits in trunk/Source/WebCore
ASSERT hit in surrogatePairAwareIndex and surrogatePairAwareStart lambdas for text with unpaired surrogates.
https://bugs.webkit.org/show_bug.cgi?id=231606
Patch by Gabriel Nava Marino <gnavamarino@apple.com> on 2021-10-13
Reviewed by Darin Adler and Myles C. Maxfield.
- layout/formattingContexts/inline/text/TextUtil.cpp:
(WebCore::Layout::TextUtil::midWordBreak):
Account for unpaired surrogates in TextUtil::MidWordBreak TextUtil::midWordBreak
- 5:55 PM Changeset in webkit [284140] by
-
- 2 edits in trunk/LayoutTests
[ iOS15 ] fast/scrolling/ios/click-events-during-momentum-scroll-in-overflow.html is a flaky timeout.
https://bugs.webkit.org/show_bug.cgi?id=231714.
Unreviewed test gardening.
- platform/ios-wk2/TestExpectations:
- 5:49 PM Changeset in webkit [284139] by
-
- 3 edits2 adds in trunk
HTTP method in web inspector network tab is not what WebKit actually sent after a redirect from POST to GET
https://bugs.webkit.org/show_bug.cgi?id=222558
Source/WebInspectorUI:
Patch by Carlos Garcia Campos <cgarcia@igalia.com> on 2021-10-13
Reviewed by Michael Catanzaro.
Test: http/tests/inspector/network/resource-redirect-request-headers.html
For redirects, use the previous request information combined with the new response information to create a
Redirect record.
- UserInterface/Models/Resource.js:
(WI.Resource.prototype.updateForRedirectResponse):
LayoutTests:
Patch by Patrick Angle <Patrick Angle> on 2021-10-13
Reviewed by Michael Catanzaro.
Test that redirect requests and responses have the appropriate method and status code and the correct number of
redirect records were created.
- http/tests/inspector/network/resource-redirect-request-headers-expected.txt: Added.
- http/tests/inspector/network/resource-redirect-request-headers.html: Added.
- 5:41 PM Changeset in webkit [284138] by
-
- 12 edits in trunk
Remove adjustForIOSCaretWhenScrolling() code
https://bugs.webkit.org/show_bug.cgi?id=230454
Reviewed by Simon Fraser.
Source/WebCore:
The "adjustForIOSCaretWhenScrolling" code attempted to over-scroll horizontally at the start
or end of an overflow scroll in order to make space for the caret to show. However, it was
wrong in various ways. It always did this, even for scrollers with no visible caret. It was
web-detectable that the scrollX for a scroller could end up as -2. And removing the code
doesn't result in obviously incorrect behavior.
- editing/FrameSelection.cpp:
(WebCore::FrameSelection::revealSelection):
- rendering/RenderLayerScrollableArea.cpp:
(WebCore::RenderLayerScrollableArea::scrollTo):
(WebCore::RenderLayerScrollableArea::updateScrollInfoAfterLayout):
- rendering/RenderLayerScrollableArea.h:
Source/WebKitLegacy/mac:
The "adjustForIOSCaretWhenScrolling" code attempted to over-scroll horizontally at the start
or end of an overflow scroll in order to make space for the caret to show. However, it was
wrong in various ways. It always did this, even for scrollers with no visible caret. It was
web-detectable that the scrollX for a scroller could end up as -2. And removing the code
doesn't result in obviously incorrect behavior.
- DOM/DOMHTML.mm:
(-[DOMHTMLElement setScrollXOffset:scrollYOffset:adjustForIOSCaret:]):
- WebView/WebFrame.mm:
(-[WebFrame _scrollDOMRangeToVisible:]):
(-[WebFrame _scrollDOMRangeToVisible:withInset:]):
LayoutTests:
Rebase tests with the unified code path.
- platform/ios-wk2/editing/input/caret-at-the-edge-of-input-expected.txt:
- platform/ios-wk2/fast/layers/scroll-rect-to-visible-expected.txt:
- platform/ios/fast/forms/input-text-scroll-left-on-blur-expected.txt:
- platform/ios/fast/forms/textfield-outline-expected.txt:
- 5:39 PM Changeset in webkit [284137] by
-
- 2 edits in trunk/Source/JavaScriptCore
Clearly distinguish serial from concurrent WorkQueue
https://bugs.webkit.org/show_bug.cgi?id=231418
rdar://problem/84021977
Patch by Jean-Yves Avenard <Jean-Yves Avenard> on 2021-10-13
Reviewed by Chris Dumez.
Replace instances of WorkQueue being constructed as a concurrent one
with ConcurrentWorkQueue.
Remove the now unnecessary use of WorkQueue::Type::Serial in constructor.
- jit/ExecutableAllocator.cpp:
(JSC::dumpJITMemory):
- runtime/Watchdog.cpp:
(JSC::Watchdog::Watchdog):
- 5:18 PM Changeset in webkit [284136] by
-
- 10 edits2 adds in trunk/Source/WebCore
Use a ScrollAnimation for rubber-banding
https://bugs.webkit.org/show_bug.cgi?id=231695
Reviewed by Tim Horton.
The animation that runs when rubber-banding (when you momentum-scroll into an edge,
or stretch and release) was code in updateRubberBandAnimatingState(). Repackage
that code as a ScrollAnimation subclass, which allows it to share code with other
types of scroll animation.
ScrollAnimationRubberBand needs to do non-clamped scrolls, so add a way for ScrollAnimations
to state that they allow this.
Standardize the capitalization of RubberBand.
- SourcesCocoa.txt:
- WebCore.xcodeproj/project.pbxproj:
- page/scrolling/ScrollingTreeScrollingNode.cpp:
(WebCore::ScrollingTreeScrollingNode::scrollTo):
- page/scrolling/mac/ScrollingTreeScrollingNodeDelegateMac.h:
- page/scrolling/mac/ScrollingTreeScrollingNodeDelegateMac.mm:
(WebCore::ScrollingTreeScrollingNodeDelegateMac::willDoProgrammaticScroll):
(WebCore::ScrollingTreeScrollingNodeDelegateMac::didStopRubberBandAnimation):
(WebCore::ScrollingTreeScrollingNodeDelegateMac::didStopRubberbandSnapAnimation): Deleted.
- platform/ScrollAnimation.cpp:
(WebCore::operator<<):
- platform/ScrollAnimation.h:
(WebCore::ScrollAnimation::clamping const):
- platform/ScrollingEffectsController.cpp:
(WebCore::ScrollingEffectsController::startMomentumScrollWithInitialVelocity): Need to be sure
to stop() any existing animation.
(WebCore::ScrollingEffectsController::scrollAnimationDidUpdate):
(WebCore::ScrollingEffectsController::scrollAnimationWillStart):
(WebCore::ScrollingEffectsController::scrollAnimationDidEnd):
- platform/ScrollingEffectsController.h:
(WebCore::ScrollingEffectsControllerClient::willStartRubberBandAnimation):
(WebCore::ScrollingEffectsControllerClient::didStopRubberBandAnimation):
(WebCore::ScrollingEffectsControllerClient::willStartRubberBandSnapAnimation): Deleted.
(WebCore::ScrollingEffectsControllerClient::didStopRubberbandSnapAnimation): Deleted.
- platform/mac/ScrollAnimationRubberBand.h: Added.
- platform/mac/ScrollAnimationRubberBand.mm: Added.
(elasticDeltaForTimeDelta):
(WebCore::roundTowardZero):
(WebCore::roundToDevicePixelTowardZero):
(WebCore::ScrollAnimationRubberBand::ScrollAnimationRubberBand):
(WebCore::ScrollAnimationRubberBand::startRubberBandAnimation):
(WebCore::ScrollAnimationRubberBand::retargetActiveAnimation):
(WebCore::ScrollAnimationRubberBand::updateScrollExtents):
(WebCore::ScrollAnimationRubberBand::serviceAnimation):
- platform/mac/ScrollingEffectsController.mm:
(WebCore::ScrollingEffectsController::handleWheelEvent):
(WebCore::ScrollingEffectsController::updateRubberBandAnimatingState):
(WebCore::ScrollingEffectsController::stopRubberBanding):
(WebCore::ScrollingEffectsController::startRubberBandAnimation):
(WebCore::ScrollingEffectsController::stopRubberBandAnimation):
(WebCore::ScrollingEffectsController::willStartRubberBandAnimation):
(WebCore::ScrollingEffectsController::didStopRubberBandAnimation):
(WebCore::ScrollingEffectsController::startRubberBandAnimationIfNecessary):
(WebCore::elasticDeltaForTimeDelta): Deleted.
(WebCore::roundTowardZero): Deleted.
(WebCore::roundToDevicePixelTowardZero): Deleted.
(WebCore::ScrollingEffectsController::stopRubberbanding): Deleted.
(WebCore::ScrollingEffectsController::startRubberbandAnimation): Deleted.
(WebCore::ScrollingEffectsController::stopRubberbandAnimation): Deleted.
(WebCore::ScrollingEffectsController::startRubberbandAnimationIfNecessary): Deleted.
- 5:09 PM Changeset in webkit [284135] by
-
- 39 edits in trunk
Clearly distinguish serial from concurrent WorkQueue
https://bugs.webkit.org/show_bug.cgi?id=231418
rdar://problem/84021977
Reviewed by Chris Dumez.
Source/JavaScriptCore:
Replace instances of WorkQueue being constructed as a concurrent one
with ConcurrentWorkQueue.
Remove the now unnecessary use of WorkQueue::Type::Serial in constructor.
- jit/ExecutableAllocator.cpp:
(JSC::dumpJITMemory):
- runtime/Watchdog.cpp:
(JSC::Watchdog::Watchdog):
Source/WebCore:
Replace instances of WorkQueue being constructed as a concurrent one
with ConcurrentWorkQueue.
Remove the now unnecessary use of WorkQueue::Type::Serial in constructor.
Fly-by fix: make use of NeverDestroyed in some methods.
No change in observable behaviour.
- platform/graphics/ImageSource.cpp:
(WebCore::ImageSource::decodingQueue):
- platform/graphics/filters/FEConvolveMatrix.cpp:
(WebCore::FEConvolveMatrix::platformApplySoftware):
- platform/mediastream/libwebrtc/LibWebRTCAudioModule.cpp:
(WebCore::LibWebRTCAudioModule::LibWebRTCAudioModule):
- platform/mediastream/mac/MockRealtimeVideoSourceMac.mm:
(WebCore::MockRealtimeVideoSourceMac::MockRealtimeVideoSourceMac):
- platform/network/BlobRegistryImpl.cpp:
(WebCore::blobUtilityQueue):
- platform/network/DataURLDecoder.cpp:
(WebCore::DataURLDecoder::decodeQueue):
- storage/StorageQuotaManager.cpp:
(WebCore::StorageQuotaManager::StorageQuotaManager):
- workers/service/server/RegistrationDatabase.cpp:
(WebCore::registrationDatabaseWorkQueue):
Source/WebKit:
Replace instances of WorkQueue being constructed as a concurrent one
with ConcurrentWorkQueue.
Remove the now unnecessary use of WorkQueue::Type::Serial in constructor.
- GPUProcess/GPUProcess.cpp:
(WebKit::GPUProcess::videoMediaStreamTrackRendererQueue):
(WebKit::GPUProcess::libWebRTCCodecsQueue):
- NetworkProcess/cache/CacheStorageEngine.cpp:
(WebKit::CacheStorage::Engine::Engine):
- NetworkProcess/cache/NetworkCacheIOChannel.h:
- NetworkProcess/cache/NetworkCacheIOChannelCocoa.mm:
(WebKit::NetworkCache::IOChannel::read):
(WebKit::NetworkCache::IOChannel::write):
- NetworkProcess/cache/NetworkCacheIOChannelCurl.cpp:
(WebKit::NetworkCache::IOChannel::read):
(WebKit::NetworkCache::IOChannel::write):
- NetworkProcess/cache/NetworkCacheIOChannelGLib.cpp:
(WebKit::NetworkCache::IOChannel::read):
(WebKit::NetworkCache::IOChannel::readSyncInThread):
(WebKit::NetworkCache::IOChannel::write):
- NetworkProcess/cache/NetworkCacheStorage.cpp:
(WebKit::NetworkCache::Storage::Storage):
- NetworkProcess/cache/NetworkCacheStorage.h:
(WebKit::NetworkCache::Storage::ioQueue):
(WebKit::NetworkCache::Storage::backgroundIOQueue):
- Platform/IPC/cocoa/ConnectionCocoa.mm:
(IPC::Connection::open):
- Shared/mac/MediaFormatReader/MediaFormatReader.cpp:
(WebKit::readerQueue):
- Shared/mac/MediaFormatReader/MediaTrackReader.cpp:
(WebKit::MediaTrackReader::storageQueue):
- UIProcess/API/APIContentRuleListStore.cpp:
(API::ContentRuleListStore::ContentRuleListStore):
- UIProcess/API/APIContentRuleListStore.h:
- UIProcess/WebsiteData/Cocoa/WebsiteDataStoreCocoa.mm:
(WebKit::appBoundDomainQueue):
- WebProcess/GPU/media/RemoteAudioSourceProviderManager.cpp:
(WebKit::RemoteAudioSourceProviderManager::RemoteAudioSourceProviderManager):
- WebProcess/GPU/webrtc/LibWebRTCCodecs.cpp:
(WebKit::LibWebRTCCodecs::LibWebRTCCodecs):
- WebProcess/WebPage/EventDispatcher.cpp:
(WebKit::EventDispatcher::EventDispatcher):
- WebProcess/cocoa/RemoteCaptureSampleManager.cpp:
(WebKit::RemoteCaptureSampleManager::RemoteCaptureSampleManager):
Source/WTF:
We split the WorkQueue code so that it becomes either a serial or concurrent one.
A concurrent WorkQueue doesn't guarantee the order in which the queued tasks will run.
That makes for a footgun if a consumer took a WorkQueue and was expecting
it to be a serial one.
WorkQueue (serial) and ConcurrentWorkQueue are made to both inherit from WorkQueueBase.
A class should inherit from either the WorkQueue or the ConcurrentWorkQueue class.
The Storage class present in NetworkCacheStore is the only code that was
using a WorkQueue that could be either. For this class we will pass a
WorkQueueBase; use of the base class directly is discouraged.
No change in observable behaviour.
- wtf/SuspendableWorkQueue.cpp:
(WTF::SuspendableWorkQueue::SuspendableWorkQueue):
- wtf/WorkQueue.cpp:
(WTF::WorkQueueBase::create): removed
(WTF::WorkQueueBase::WorkQueueBase):
(WTF::WorkQueueBase::~WorkQueueBase):
(WTF::WorkQueue::create):
(WTF::ConcurrentWorkQueue::create):
(WTF::WorkQueueBase::dispatchSync):
(WTF::ConcurrentWorkQueue:apply):
- wtf/WorkQueue.h:
(WTF::WorkQueueBase::dispatchQueue const):
(WTF::executeFunction): remove unused method declaration.
(WTF::WorkQueue::runLoop const):
(WTF::WorkQueue::WorkQueue):
(WTF::ConcurrentWorkQueue::ConcurrentWorkQueue):
- wtf/cocoa/WorkQueueCocoa.cpp:
(WTF::WorkQueueBase::dispatch):
(WTF::WorkQueueBase::dispatchAfter):
(WTF::WorkQueueBase::dispatchSync):
(WTF::WorkQueueBase::WorkQueueBase):
(WTF::WorkQueueBase::platformInitialize):
(WTF::WorkQueueBase::platformInvalidate):
(WTF::WorkQueue::WorkQueue):
(WTF::WorkQueue::constructMainWorkQueue):
(WTF::ConcurrentWorkQueue::apply):
- wtf/generic/WorkQueueGeneric.cpp:
(WorkQueue::WorkQueue):
(WorkQueueBase::WorkQueueBase):
(WorkQueueBase::platformInitialize):
(WorkQueueBase::platformInvalidate):
(WorkQueueBase::dispatch):
(WorkQueueBase::dispatchAfter):
Tools:
- TestWebKitAPI/Tests/WTF/WorkQueue.cpp:
(TestWebKitAPI::TEST):
- 4:04 PM Changeset in webkit [284134] by
-
- 2 edits in trunk/Source/JavaScriptCore
[JSC] Update adjusted thread numbers
https://bugs.webkit.org/show_bug.cgi?id=231696
Reviewed by Saam Barati.
This adjusted numbers were empirically obtained at that time.
But after that, we switched bmalloc to libpas in ARM64 macOS
so that we removed scalability bottleneck in concurrent compilers.
We evaluated and adjusted the configuration again.
It improves Speedometer2 by 0.9% and JetStream2 by 0.7%.
| subtest | ms | ms | b / a | pValue (significance using False Discovery Rate) |
| Elm-TodoMVC |116.361667 |115.145000 |0.989544 | 0.000869 (significant) |
| VueJS-TodoMVC |23.195000 |22.483333 |0.969318 | 0.002243 (significant) |
| EmberJS-TodoMVC |124.720000 |121.211667 |0.971870 | 0.000000 (significant) |
| BackboneJS-TodoMVC |43.923333 |43.771667 |0.996547 | 0.338425 |
| Preact-TodoMVC |16.791667 |17.013333 |1.013201 | 0.337214 |
| AngularJS-TodoMVC |129.860000 |128.475000 |0.989335 | 0.000838 (significant) |
| Vanilla-ES2015-TodoMVC |61.703333 |61.625000 |0.998730 | 0.534118 |
| Inferno-TodoMVC |62.638333 |62.101667 |0.991432 | 0.045766 |
| Flight-TodoMVC |63.878333 |63.723333 |0.997574 | 0.578999 |
| Angular2-TypeScript-TodoMVC |41.601667 |40.015000 |0.961861 | 0.000070 (significant) |
| VanillaJS-TodoMVC |51.065000 |50.830000 |0.995398 | 0.284824 |
| jQuery-TodoMVC |213.223333 |212.976667 |0.998843 | 0.536898 |
| EmberJS-Debug-TodoMVC |333.051667 |331.588333 |0.995606 | 0.032867 |
| React-TodoMVC |82.665000 |82.540000 |0.998488 | 0.542365 |
| React-Redux-TodoMVC |134.823333 |133.665000 |0.991409 | 0.000002 (significant) |
| Vanilla-ES2015-Babel-Webpack-TodoMVC |59.983333 |59.941667 |0.999305 | 0.700077 |
a mean = 271.53654
b mean = 274.08757
pValue = 0.0000000000
(Bigger means are better.)
1.009 times better
Results ARE significant
| subtest | pts | pts | b / a | pValue (significance using False Discovery Rate) |
| gaussian-blur |545.633826 |544.387097 |0.997715 | 0.632889 |
| HashSet-wasm |47.725969 |53.977426 |1.130986 | 0.014208 |
| gcc-loops-wasm |46.592278 |45.484195 |0.976217 | 0.188166 |
| json-parse-inspector |252.822356 |254.060654 |1.004898 | 0.261381 |
| prepack-wtb |60.534710 |60.580410 |1.000755 | 0.932640 |
| date-format-xparb-SP |445.456679 |450.988456 |1.012418 | 0.563115 |
| WSL |1.814989 |1.806757 |0.995464 | 0.035202 |
| OfflineAssembler |191.018184 |191.527453 |1.002666 | 0.512619 |
| cdjs |194.872003 |197.611972 |1.014060 | 0.006522 |
| UniPoker |522.254384 |520.751124 |0.997122 | 0.738800 |
| json-stringify-inspector |272.090046 |269.563607 |0.990715 | 0.156680 |
| crypto-sha1-SP |788.203441 |786.796976 |0.998216 | 0.889433 |
| Basic |705.357988 |704.506995 |0.998794 | 0.851524 |
| chai-wtb |108.246674 |109.283047 |1.009574 | 0.313095 |
| crypto-aes-SP |716.467647 |722.010176 |1.007736 | 0.589988 |
| Babylon |669.393771 |670.186691 |1.001185 | 0.908244 |
| string-unpack-code-SP |400.848798 |397.690936 |0.992122 | 0.379538 |
| stanford-crypto-aes |448.517790 |450.916593 |1.005348 | 0.421547 |
| raytrace |834.526654 |876.061864 |1.049771 | 0.000000 (significant) |
| multi-inspector-code-load |398.195009 |400.638554 |1.006137 | 0.624663 |
| hash-map |588.390020 |593.336508 |1.008407 | 0.032313 |
| stanford-crypto-pbkdf2 |705.031717 |714.947310 |1.014064 | 0.451490 |
| coffeescript-wtb |41.104563 |41.590079 |1.011812 | 0.104485 |
| Box2D |457.517551 |457.676651 |1.000348 | 0.938025 |
| lebab-wtb |63.284589 |63.746412 |1.007298 | 0.021550 |
| tsf-wasm |121.000104 |116.584889 |0.963511 | 0.566993 |
| base64-SP |627.310289 |631.360337 |1.006456 | 0.380323 |
| navier-stokes |717.211598 |715.546883 |0.997679 | 0.776740 |
| jshint-wtb |52.822264 |53.067727 |1.004647 | 0.265734 |
| regex-dna-SP |444.626036 |444.565652 |0.999864 | 0.981250 |
| async-fs |232.138408 |234.088380 |1.008400 | 0.084059 |
| crypto-md5-SP |738.555352 |739.048809 |1.000668 | 0.936794 |
| first-inspector-code-load |272.911902 |274.186589 |1.004671 | 0.223172 |
| segmentation |53.421830 |53.253527 |0.996850 | 0.488595 |
| typescript |26.619459 |26.404921 |0.991941 | 0.021613 |
| octane-code-load |1229.345392 |1238.504125 |1.007450 | 0.273224 |
| float-mm.c |17.443005 |17.474949 |1.001831 | 0.160549 |
| quicksort-wasm |472.609429 |490.175315 |1.037168 | 0.134603 |
| Air |420.285523 |422.507814 |1.005288 | 0.535574 |
| splay |472.850630 |484.805521 |1.025283 | 0.202943 |
| ai-astar |663.547782 |684.429114 |1.031469 | 0.035910 |
| acorn-wtb |68.978436 |69.675311 |1.010103 | 0.085505 |
| gbemu |159.998563 |154.256612 |0.964112 | 0.052665 |
| richards |957.006036 |970.082604 |1.013664 | 0.080437 |
| 3d-cube-SP |539.329388 |548.346324 |1.016719 | 0.126931 |
| espree-wtb |71.026174 |72.950691 |1.027096 | 0.005430 |
| bomb-workers |100.837095 |102.616328 |1.017645 | 0.024650 |
| tagcloud-SP |293.735729 |295.721652 |1.006761 | 0.604433 |
| mandreel |150.843346 |151.169263 |1.002161 | 0.406810 |
| 3d-raytrace-SP |503.282797 |508.519569 |1.010405 | 0.330728 |
| delta-blue |1064.779647 |1085.099791 |1.019084 | 0.111789 |
| ML |143.453624 |144.404535 |1.006629 | 0.054459 |
| regexp |465.598651 |469.139986 |1.007606 | 0.040131 |
| crypto |1534.715604 |1518.978823 |0.989746 | 0.398916 |
| richards-wasm |144.325337 |144.296964 |0.999803 | 0.993066 |
| earley-boyer |831.216095 |862.902139 |1.038120 | 0.089284 |
| octane-zlib |27.146237 |27.203847 |1.002122 | 0.668749 |
| date-format-tofte-SP |390.913746 |391.453527 |1.001381 | 0.837893 |
| n-body-SP |1142.063928 |1139.347984 |0.997622 | 0.764020 |
| pdfjs |183.711632 |185.851180 |1.011646 | 0.144519 |
| FlightPlanner |908.621057 |901.866743 |0.992566 | 0.434806 |
| uglify-js-wtb |34.644842 |34.797497 |1.004406 | 0.126209 |
| babylon-wtb |82.702004 |83.505631 |1.009717 | 0.092402 |
| stanford-crypto-sha256 |810.898597 |810.480366 |0.999484 | 0.943677 |
a mean = 242.30806
b mean = 243.91901
pValue = 0.0014473755
(Bigger means are better.)
1.007 times better
Results ARE significant
- runtime/Options.cpp:
(JSC::overrideDefaults):
- 4:00 PM Changeset in webkit [284133] by
-
- 8 edits in trunk/Tools
Disable failing API tests
https://bugs.webkit.org/show_bug.cgi?id=231700
Unreviewed test gardening.
- TestWebKitAPI/Tests/WTF/cocoa/URLExtras.mm:
- TestWebKitAPI/Tests/WebKitCocoa/Challenge.mm:
- TestWebKitAPI/Tests/WebKitCocoa/Proxy.mm:
- TestWebKitAPI/Tests/WebKitCocoa/ResourceLoadStatistics.mm:
- TestWebKitAPI/Tests/WebKitCocoa/WKURLSchemeHandler-1.mm:
- TestWebKitAPI/Tests/WebKitCocoa/WKWebViewDoesNotLogDuringInitialization.mm:
- TestWebKitAPI/Tests/ios/WKWebViewPausePlayingAudioTests.mm:
- 3:52 PM Changeset in webkit [284132] by
-
- 4 edits in trunk/Source
[GTK] Opening emoji chooser crashes UI process with GTK 3.24.30
https://bugs.webkit.org/show_bug.cgi?id=228664
Reviewed by Michael Catanzaro.
Instead of providing a copy of the emoji chooser widget, use GLib's
introspection features and a little sprinkle of knowledge about how
GTK works in order to obtain the type code of the GtkEmojiChooser
widget included with GTK. This ensures that a working widget is
always used, regardless of the current GTK version.
No new tests needed.
- UIProcess/API/gtk/WebKitEmojiChooser.cpp:
(webkitEmojiChooserNew):
(): Deleted.
(webkitEmojiChooserAddEmoji): Deleted.
(webkitEmojiChooserAddRecentItem): Deleted.
(emojiActivated): Deleted.
(emojiDataHasVariations): Deleted.
(webkitEmojiChooserShowVariations): Deleted.
(emojiLongPressed): Deleted.
(emojiPressed): Deleted.
(emojiPopupMenu): Deleted.
(verticalAdjustmentChanged): Deleted.
(webkitEmojiChooserSetupSectionBox): Deleted.
(scrollToSection): Deleted.
(webkitEmojiChooserSetupSectionButton): Deleted.
(webkitEmojiChooserSetupRecent): Deleted.
(webkitEmojiChooserEnsureEmptyResult): Deleted.
(webkitEmojiChooserSearchChanged): Deleted.
(webkitEmojiChooserSetupFilters): Deleted.
(webkitEmojiChooserSetupEmojiSections): Deleted.
(webkitEmojiChooserInitializeEmojiMaxWidth): Deleted.
(webkitEmojiChooserConstructed): Deleted.
(webkitEmojiChooserShow): Deleted.
(webkit_emoji_chooser_class_init): Deleted.
- UIProcess/API/gtk/WebKitEmojiChooser.h:
- 3:47 PM Changeset in webkit [284131] by
-
- 2 edits in trunk/Source/WTF
Enable FileSystemAccess and AccessHandle by default
https://bugs.webkit.org/show_bug.cgi?id=231677
Reviewed by Youenn Fablet.
- Scripts/Preferences/WebPreferencesExperimental.yaml:
- 3:45 PM Changeset in webkit [284130] by
-
- 2 edits in trunk/LayoutTests
[ Windows EWS ] js/dom & js/dfg- tests are a flaky crash.
https://bugs.webkit.org/show_bug.cgi?id=231703
Unreviewed test gardening.
- platform/win/TestExpectations:
- 3:16 PM Changeset in webkit [284129] by
-
- 20 edits3 copies4 moves in trunk/Source/WebKit
Prepare adattributiond Connection and IPC code for reuse with webpushd
https://bugs.webkit.org/show_bug.cgi?id=231680
Patch by Alex Christensen <achristensen@webkit.org> on 2021-10-13
Reviewed by Brady Eidson.
I move Connection, Encoder, and Decoder out of namespace PCM and into namespace Daemon and keep the PCM parts in PCM::Connection.
I remove an unnecessary memory copy by using a Span instead of a Vector for decoding.
I make ConnectionToMachService a template to be used with a different communication protocol for communicating with webpushd.
- NetworkProcess/PrivateClickMeasurement/PrivateClickMeasurementConnection.cpp:
(WebKit::PCM::Connection::Connection):
(WebKit::PCM::ConnectionToMachService::ConnectionToMachService): Deleted.
(WebKit::PCM::ConnectionToMachService::send const): Deleted.
(WebKit::PCM::ConnectionToMachService::sendWithReply const): Deleted.
- NetworkProcess/PrivateClickMeasurement/PrivateClickMeasurementConnection.h:
(WebKit::PCM::Connection::Connection): Deleted.
(WebKit::PCM::Connection::get const): Deleted.
- NetworkProcess/PrivateClickMeasurement/PrivateClickMeasurementManagerInterface.cpp:
(WebKit::PCM::MessageInfo::toStringForTesting::encodeReply):
(WebKit::PCM::handlePCMMessage):
(WebKit::PCM::handlePCMMessageSetDebugModeIsEnabled):
(WebKit::PCM::handlePCMMessageWithReply):
(WebKit::PCM::decodeMessageAndSendToManager):
- NetworkProcess/PrivateClickMeasurement/PrivateClickMeasurementManagerInterface.h:
- NetworkProcess/PrivateClickMeasurement/PrivateClickMeasurementManagerProxy.cpp:
(WebKit::PCM::ManagerProxy::sendMessage const):
(WebKit::PCM::ReplyCaller<>::callReply):
(WebKit::PCM::ReplyCaller<String>::callReply):
(WebKit::PCM::ManagerProxy::sendMessageWithReply const):
- NetworkProcess/PrivateClickMeasurement/PrivateClickMeasurementManagerProxy.h:
- NetworkProcess/PrivateClickMeasurement/cocoa/PrivateClickMeasurementConnectionCocoa.mm:
(WebKit::PCM::Connection::newConnectionWasInitialized const):
(WebKit::PCM::Connection::connectionReceivedEvent const):
(WebKit::PCM::Connection::dictionaryFromMessage const):
(WebKit::PCM::ConnectionToMachService::initializeConnectionIfNeeded const): Deleted.
(WebKit::PCM::ConnectionToMachService::sendDebugModeIsEnabledMessageIfNecessary const): Deleted.
(WebKit::PCM::ConnectionToMachService::checkForDebugMessageBroadcast const): Deleted.
(WebKit::PCM::dictionaryFromMessage): Deleted.
(WebKit::PCM::Connection::send const): Deleted.
(WebKit::PCM::Connection::sendWithReply const): Deleted.
(WebKit::PCM::ConnectionToMachService::send const): Deleted.
(WebKit::PCM::ConnectionToMachService::sendWithReply const): Deleted.
- Platform/IPC/ArgumentCoders.cpp:
- Platform/IPC/DaemonConnection.cpp: Copied from Source/WebKit/NetworkProcess/PrivateClickMeasurement/PrivateClickMeasurementEncoder.cpp.
(WebKit::Daemon::ConnectionToMachService<Traits>::send const):
(WebKit::Daemon::ConnectionToMachService<Traits>::sendWithReply const):
- Platform/IPC/DaemonConnection.h: Copied from Source/WebKit/NetworkProcess/PrivateClickMeasurement/PrivateClickMeasurementConnection.h.
(WebKit::Daemon::Connection::Connection):
(WebKit::Daemon::Connection::get const):
(WebKit::Daemon::ConnectionToMachService::ConnectionToMachService):
- Platform/IPC/DaemonDecoder.cpp: Renamed from Source/WebKit/NetworkProcess/PrivateClickMeasurement/PrivateClickMeasurementDecoder.cpp.
- Platform/IPC/DaemonDecoder.h: Renamed from Source/WebKit/NetworkProcess/PrivateClickMeasurement/PrivateClickMeasurementDecoder.h.
(WebKit::Daemon::Decoder::Decoder):
- Platform/IPC/DaemonEncoder.cpp: Renamed from Source/WebKit/NetworkProcess/PrivateClickMeasurement/PrivateClickMeasurementEncoder.cpp.
- Platform/IPC/DaemonEncoder.h: Renamed from Source/WebKit/NetworkProcess/PrivateClickMeasurement/PrivateClickMeasurementEncoder.h.
- Platform/IPC/cocoa/DaemonConnectionCocoa.mm: Copied from Source/WebKit/NetworkProcess/PrivateClickMeasurement/cocoa/PrivateClickMeasurementConnectionCocoa.mm.
(WebKit::Daemon::Connection::send const):
(WebKit::Daemon::Connection::sendWithReply const):
(WebKit::Daemon::ConnectionToMachService<Traits>::initializeConnectionIfNeeded const):
(WebKit::Daemon::ConnectionToMachService<Traits>::send const):
(WebKit::Daemon::ConnectionToMachService<Traits>::sendWithReply const):
- Shared/EntryPointUtilities/Cocoa/Daemon/PCMDaemonConnectionSet.h:
- Shared/EntryPointUtilities/Cocoa/Daemon/PCMDaemonConnectionSet.mm:
(WebKit::PCM::DaemonConnectionSet::setConnectedNetworkProcessHasDebugModeEnabled):
- Shared/EntryPointUtilities/Cocoa/Daemon/PCMDaemonEntryPoint.mm:
(WebKit::connectionEventHandler):
- Shared/cf/ArgumentCodersCF.cpp:
- Shared/mac/WebCoreArgumentCodersMac.mm:
(IPC::ArgumentCoder<WebCore::CertificateInfo>::encode):
(IPC::ArgumentCoder<WebCore::CertificateInfo>::decode):
- Sources.txt:
- SourcesCocoa.txt:
- WebKit.xcodeproj/project.pbxproj:
- 3:09 PM Changeset in webkit [284128] by
-
- 11 edits in trunk/Tools
[webkitscmpy] List reviewers for pull-request
https://bugs.webkit.org/show_bug.cgi?id=231577
<rdar://problem/84146807>
Reviewed by Dewei Zhu.
- Scripts/libraries/webkitscmpy/setup.py: Bump version.
- Scripts/libraries/webkitscmpy/webkitscmpy/init.py: Ditto.
- Scripts/libraries/webkitscmpy/webkitscmpy/mocks/remote/bitbucket.py:
(BitBucket.request): Add state to created pull-reqest.
- Scripts/libraries/webkitscmpy/webkitscmpy/mocks/remote/git_hub.py:
(GitHub):
(GitHub._users): Vend json representation of user for username.
(GitHub.request): Filter review details, add users endpoint.
- Scripts/libraries/webkitscmpy/webkitscmpy/program/pull_request.py:
(PullRequest.main): Match both closed and opened pull-requests.
- Scripts/libraries/webkitscmpy/webkitscmpy/pull_request.py:
(PullRequest): Remove state.
(PullRequest.init): Add opened flag, reviewers and generator.
(PullRequest.reviewers): List the users who are reviewing this change.
(PullRequest.approvers): List the users who have aproved this change.
(PullRequest.blockers): List the users that are blocking this change from landing.
(PullRequest.opened): Check the pull-request is opened.
(PullRequest.State): Deleted.
- Scripts/libraries/webkitscmpy/webkitscmpy/remote/bitbucket.py:
(BitBucket.PRGenerator.PullRequest): Set opened flag, specify reviewers.
(BitBucket.PRGenerator.find): Filter by opened flag instead of state.
(BitBucket.PRGenerator.update): Set generator.
(BitBucket.PRGenerator.reviewers): Set reviewer lists.
- Scripts/libraries/webkitscmpy/webkitscmpy/remote/git_hub.py:
(GitHub.PRGenerator.PullRequest): Set opened flag, pass generator.
(GitHub.PRGenerator.find): Filter by opened flag instead of state.
(GitHub.PRGenerator.update): Set generator and opened flag.
(GitHub.PRGenerator._contributor): Find contributor matching username.
(GitHub.PRGenerator.reviewers): Populate lists of reviewers for a pull-request.
- Scripts/libraries/webkitscmpy/webkitscmpy/remote/scm.py:
(Scm.PRGenerator.find): Filter via opened flag instead of state.
(Scm.PRGenerator.reviewers): Function which populates reviewer lists for a pull-request.
- Scripts/libraries/webkitscmpy/webkitscmpy/test/pull_request_unittest.py:
- 2:40 PM Changeset in webkit [284127] by
-
- 4 edits2 adds in trunk
[LFC][IFC] Preserved tab is not a word separator
https://bugs.webkit.org/show_bug.cgi?id=231687
Reviewed by Antti Koivisto.
Source/WebCore:
The 'tab' character is not considered a word separator in the word-spacing sense. When the preserved whitespace sequence
has the mix of word separators (regular space) and non-separators, we use incorrect 'x' position to compute the width of the 'tab' character (tab width is position sensitive).
This patch fixes it by splitting the whitespace sequence at word-separator boundary (e.g [space][space][tab] will produce 2 individual InlineTextItems [space][space] and [tab]).
Test: fast/text/preserved-white-space-with-word-spacing.html
- layout/formattingContexts/inline/InlineLineBuilder.cpp:
(WebCore::Layout::LineBuilder::candidateContentForLine):
- layout/formattingContexts/inline/InlineTextItem.cpp:
(WebCore::Layout::moveToNextNonWhitespacePosition):
(WebCore::Layout::InlineTextItem::createAndAppendTextItems):
LayoutTests:
- fast/text/preserved-white-space-with-word-spacing-expected.html: Added.
- fast/text/preserved-white-space-with-word-spacing.html: Added.
- 2:37 PM Changeset in webkit [284126] by
-
- 5 edits in trunk/LayoutTests
Add mp3 and aac web audio test
https://bugs.webkit.org/show_bug.cgi?id=231643
rdar://problem/84178398
Add MP3 / AAC webaudio decodeAudioData tests.
Existing tests were disabled by default, likely due to
https://bugs.webkit.org/show_bug.cgi?id=230974
Reviewed by Eric Carlson.
- platform/mac/TestExpectations:
- platform/wk2/TestExpectations:
- webaudio/decode-audio-data-basic-expected.txt:
- webaudio/decode-audio-data-basic.html:
- 2:33 PM Changeset in webkit [284125] by
-
- 2 edits in trunk/Source/ThirdParty/ANGLE
Upstream ANGLE: PrimitiveRestart tests fail due to incorrect draw commands
https://bugs.webkit.org/show_bug.cgi?id=231626
<rdar:/problem/84167241>
Primitive restart draw commands were being encoded
incorrectly. Single element ranges were being disregarded,
and a maximum draw size was not being enforced when the
index buffer was aliased / reused.
Cherry-pick from upstream anglebug.com/6535
Reviewed by Kenneth Russell.
- src/libANGLE/renderer/metal/VertexArrayMtl.mm:
(rx::VertexArrayMtl::getDrawIndices):
- 1:46 PM Changeset in webkit [284124] by
-
- 16 edits5 adds in trunk
Implement FileSystemHandle move()
https://bugs.webkit.org/show_bug.cgi?id=231676
<rdar://problem/84199823>
Reviewed by Youenn Fablet.
Source/WebCore:
Provide a way to move an existing file to a new place in Origin Private File System.
Tests: storage/filesystemaccess/handle-move-worker.html
storage/filesystemaccess/handle-move.html
- Modules/filesystemaccess/FileSystemHandle.cpp:
(WebCore::FileSystemHandle::move):
- Modules/filesystemaccess/FileSystemHandle.h:
- Modules/filesystemaccess/FileSystemHandle.idl:
- Modules/filesystemaccess/FileSystemStorageConnection.h:
- Modules/filesystemaccess/WorkerFileSystemStorageConnection.cpp:
(WebCore::WorkerFileSystemStorageConnection::move):
- Modules/filesystemaccess/WorkerFileSystemStorageConnection.h:
Source/WebKit:
- NetworkProcess/storage/FileSystemStorageHandle.cpp:
(WebKit::isValidFileName):
(WebKit::FileSystemStorageHandle::requestCreateHandle):
(WebKit::FileSystemStorageHandle::removeEntry):
(WebKit::FileSystemStorageHandle::move):
- NetworkProcess/storage/FileSystemStorageHandle.h:
- NetworkProcess/storage/NetworkStorageManager.cpp:
(WebKit::NetworkStorageManager::move):
- NetworkProcess/storage/NetworkStorageManager.h:
- NetworkProcess/storage/NetworkStorageManager.messages.in:
- WebProcess/WebCoreSupport/WebFileSystemStorageConnection.cpp:
(WebKit::WebFileSystemStorageConnection::move):
- WebProcess/WebCoreSupport/WebFileSystemStorageConnection.h:
LayoutTests:
- storage/filesystemaccess/handle-move-expected.txt: Added.
- storage/filesystemaccess/handle-move-worker-expected.txt: Added.
- storage/filesystemaccess/handle-move-worker.html: Added.
- storage/filesystemaccess/handle-move.html: Added.
- storage/filesystemaccess/resources/handle-move.js: Added.
(finishTest):
(async test):
- 1:46 PM Changeset in webkit [284123] by
-
- 2 edits in trunk/LayoutTests
[WinCairo] Unreviewed test gardening
- platform/wincairo/TestExpectations:
- 1:35 PM Changeset in webkit [284122] by
-
- 9 edits in trunk/Source
Support both VK and VKC-prefixed SPI when softlinking VisionKitCore classes
https://bugs.webkit.org/show_bug.cgi?id=231683
rdar://83744729
Reviewed by Tim Horton.
Source/WebCore/PAL:
See WebKit/ChangeLog for more details.
- pal/cocoa/VisionKitCoreSoftLink.h:
- pal/cocoa/VisionKitCoreSoftLink.mm:
Source/WebKit:
Several SPI classes in VisionKitCore are going to be renamed to be prefixed with VKC- rather than VK-, with a
@compatibility_alias
for the existing SPI names. Refactor Live Text support in WebKit to be both binary and
source compatible with this future version of VisionKitCore, by checking for the existence of both class names
when softlinking VKImageAnalyzer and VKImageAnalyzerRequest. See below for more details.
- Platform/cocoa/TextRecognitionUtilities.h:
- Platform/cocoa/TextRecognitionUtilities.mm:
(WebKit::hasVisionKitCorePrefixedClasses):
(WebKit::createImageAnalyzer):
(WebKit::createImageAnalyzerRequest):
Instead of calling into PAL softlinking functions to allocate VKImageAnalyzer, put this logic behind a helper
function in TextRecognitionUtilities, which knows how to check for either class.
- UIProcess/Cocoa/WebViewImpl.mm:
(WebKit::WebViewImpl::ensureImageAnalyzer):
(WebKit::createImageAnalyzerRequest):
(WebKit::WebViewImpl::requestTextRecognition):
(WebKit::WebViewImpl::computeHasImageAnalysisResults):
(WebKit::createImageAnalysisRequest): Deleted.
Use the helper functions declared in TextRecognitionUtilities.h.
- UIProcess/ios/WKContentViewInteraction.h:
- UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView imageAnalyzer]):
(-[WKContentView createImageAnalyzerRequest:image:imageURL:]):
(-[WKContentView createImageAnalyzerRequest:image:]):
(-[WKContentView requestTextRecognition:imageData:completionHandler:]):
(-[WKContentView imageAnalysisGestureDidBegin:]):
(-[WKContentView imageAnalysisGestureDidTimeOut:]):
(-[WKContentView createImageAnalysisRequest:image:imageURL:]): Deleted.
(-[WKContentView createImageAnalysisRequest:image:]): Deleted.
Use the helper functions declared in TextRecognitionUtilities.h, instead of using PAL softlinking directly. We
also refactor this code to pass a CGImageRef instead of a UIImage when initializing the image analyzer request,
such that the helper functions can work across macOS and iOS.
Also rename
createImageAnalysisRequest
tocreateImageAnalyzerRequest
for consistency with the class name.
- 12:20 PM Changeset in webkit [284121] by
-
- 2 edits in trunk/Source/WebCore
Skip fallbackFontsForRunWithIterator for empty runs
https://bugs.webkit.org/show_bug.cgi?id=231542
Patch by Gabriel Nava Marino <gnavamarino@apple.com> on 2021-10-13
Reviewed by Alan Bujtas.
- layout/formattingContexts/inline/text/TextUtil.cpp:
(WebCore::Layout::TextUtil::fallbackFontsForRun):
- 12:13 PM Changeset in webkit [284120] by
-
- 2 edits in trunk/Source/WebCore
Remove unused ElementTraversal.h include from HTMLDialogElement.cpp
https://bugs.webkit.org/show_bug.cgi?id=231691
Reviewed by Simon Fraser.
Added it with <dialog> focusing steps (bug 227537), forgot to remove when I switched to
descendantsOfType in the same bug.
- html/HTMLDialogElement.cpp:
- 12:05 PM Changeset in webkit [284119] by
-
- 3 edits in trunk/Source/WebKit
Restrict "darwin-notification-post" to a minimal set in the WP sandbox
https://bugs.webkit.org/show_bug.cgi?id=231594
<rdar://66586792>
Reviewed by Brent Fulgham.
- Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb.in:
- WebProcess/com.apple.WebProcess.sb.in:
- 11:54 AM Changeset in webkit [284118] by
-
- 3 edits in trunk/LayoutTests
Update test expectations for fast/events/ios/dom-update-on-keydown-quirk.html.
https://bugs.webkit.org/show_bug.cgi?id=230509.
Unreviewed test gardening.
- platform/ios-14-wk2/TestExpectations:
- platform/ios-wk2/TestExpectations:
- 11:39 AM Changeset in webkit [284117] by
-
- 2 edits in trunk/LayoutTests
[ Windows EWS ] fast/text/hanging-punctuation-allow-end-basic.html is image failing.
https://bugs.webkit.org/show_bug.cgi?id=231690
Unreviewed test gardening.
- platform/win/TestExpectations:
- 11:33 AM Changeset in webkit [284116] by
-
- 16 edits1 add in trunk
Implement <dialog> focusing steps
https://bugs.webkit.org/show_bug.cgi?id=227537
Reviewed by Darin Adler.
https://html.spec.whatwg.org/multipage/interactive-elements.html#dialog-focusing-steps
LayoutTests/imported/w3c:
- web-platform-tests/html/semantics/interactive-elements/the-dialog-element/dialog-autofocus-expected.txt:
- web-platform-tests/html/semantics/interactive-elements/the-dialog-element/dialog-autofocus-just-once-expected.txt:
- web-platform-tests/html/semantics/interactive-elements/the-dialog-element/dialog-autofocus-multiple-times-expected.txt:
- web-platform-tests/html/semantics/interactive-elements/the-dialog-element/dialog-cancel-with-input-expected.txt:
- web-platform-tests/html/semantics/interactive-elements/the-dialog-element/dialog-cancel-with-select-expected.txt:
- web-platform-tests/html/semantics/interactive-elements/the-dialog-element/dialog-focusing-steps-prevent-autofocus-expected.txt:
- web-platform-tests/html/semantics/interactive-elements/the-dialog-element/dialog-showModal-expected.txt:
- web-platform-tests/html/semantics/interactive-elements/the-dialog-element/focus-after-close-expected.txt:
- web-platform-tests/html/semantics/interactive-elements/the-dialog-element/show-modal-focusing-steps-expected.txt:
Source/WebCore:
- dom/Document.h:
(WebCore::Document::flushAutofocusCandidates):
(WebCore::Document::clearAutofocusCandidates):
- html/HTMLDialogElement.cpp:
(WebCore::HTMLDialogElement::show):
(WebCore::HTMLDialogElement::showModal):
(WebCore::HTMLDialogElement::close):
(WebCore::HTMLDialogElement::runFocusingSteps):
- html/HTMLDialogElement.h:
LayoutTests:
- platform/ios-wk2/imported/w3c/web-platform-tests/html/semantics/interactive-elements/the-dialog-element/dialog-cancel-with-select-expected.txt: Added (test_driver.send_keys not working on iOS)
- 11:28 AM AnalyzingBuildPerformance edited by
- (diff)
- 11:05 AM Changeset in webkit [284115] by
-
- 20 edits1 move15 adds1 delete in trunk
[macOS] Add support for accent-color
https://bugs.webkit.org/show_bug.cgi?id=231464
rdar://84049511
Reviewed by Tim Horton.
LayoutTests/imported/w3c:
Renamed 'not-ref' to 'expected-mismatch' so that the test is run as
expected.
- web-platform-tests/css/css-ui/accent-color-checkbox-checked-001.tentative-expected-mismatch.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-ui/accent-color-checkbox-checked-001-notref.html.
- web-platform-tests/css/css-ui/accent-color-checkbox-checked-001.tentative-expected.html: Removed.
Source/WebCore:
Enable customizing the tint color of checkboxes, radio buttons, select
elements and progress elements using the 'accent-color' property.
accent-color support on macOS is implemented by setting the tintColor
of the current NSAppearance prior to painting controls. This approach
is already used to support dark mode, and is now extended to support
accent-color.
Note that <input type=range> does not support accent-color as the
current style is non-native. In order to support accent-color, the
design of the control must first be updated. Similarly, the <datalist>
indicator is not painted using native API, and does not currently
support accent-color.
Tests: fast/css/accent-color/checkbox.html
fast/css/accent-color/datalist.html
fast/css/accent-color/progress.html
fast/css/accent-color/radio.html
fast/css/accent-color/range.html
fast/css/accent-color/select.html
fast/css/accent-color/text.html
- platform/Theme.cpp:
(WebCore::Theme::paint):
- platform/Theme.h:
- platform/adwaita/ThemeAdwaita.cpp:
(WebCore::ThemeAdwaita::paint):
- platform/adwaita/ThemeAdwaita.h:
- platform/mac/LocalDefaultSystemAppearance.h:
(WebCore::LocalDefaultSystemAppearance::LocalDefaultSystemAppearance):
Add a tintColor (optional) parameter to tint the appearance.
- platform/mac/LocalDefaultSystemAppearance.mm:
(WebCore::LocalDefaultSystemAppearance::LocalDefaultSystemAppearance):
Use NSAppearance SPI to set the tint color of the current appearance.
If the tint color is invalid (accent-color: auto) no tint color is set,
resulting in the system/app default color being used.
- platform/mac/ThemeMac.h:
- platform/mac/ThemeMac.mm:
(WebCore::ThemeMac::paint):
- rendering/RenderTheme.cpp:
(WebCore::RenderTheme::paint):
- rendering/RenderThemeAdwaita.cpp:
(WebCore::RenderThemeAdwaita::paintMenuList):
- rendering/RenderThemeMac.mm:
(WebCore::RenderThemeMac::paintProgressBar):
(WebCore::RenderThemeMac::paintCellAndSetFocusedElementNeedsRepaintIfNecessary):
- rendering/style/RenderStyle.cpp:
(WebCore::RenderStyle::effectiveAccentColor const):
Resolve the specified accent-color to one that is usable by the theme.
'auto' resolves to an invalid color so that the system (or app) default
may be used.
- rendering/style/RenderStyle.h:
(WebCore::RenderStyle::effectiveAccentColor const):
(WebCore::RenderStyle::accentColor const):
(WebCore::RenderStyle::hasAutoAccentColor const):
Source/WebCore/PAL:
- pal/spi/mac/NSAppearanceSPI.h:
LayoutTests:
Added ref tests for accent-color. These are not WPT, since the spec does
not specify which controls accent-color applies to.
- TestExpectations:
- fast/css/accent-color/checkbox-expected-mismatch.html: Added.
- fast/css/accent-color/checkbox.html: Added.
- fast/css/accent-color/datalist-expected-mismatch.html: Added.
- fast/css/accent-color/datalist.html: Added.
- fast/css/accent-color/progress-expected-mismatch.html: Added.
- fast/css/accent-color/progress.html: Added.
- fast/css/accent-color/radio-expected-mismatch.html: Added.
- fast/css/accent-color/radio.html: Added.
- fast/css/accent-color/range-expected-mismatch.html: Added.
- fast/css/accent-color/range.html: Added.
- fast/css/accent-color/select-expected-mismatch.html: Added.
- fast/css/accent-color/select.html: Added.
- fast/css/accent-color/text-expected.html: Added.
- fast/css/accent-color/text.html: Added.
- platform/mac/TestExpectations:
- 11:04 AM Changeset in webkit [284114] by
-
- 3 edits in trunk/LayoutTests
[ iOS15 Catalina Debug ] requestidlecallback/requestidlecallback-document-gc.html is a flaky crash.
https://bugs.webkit.org/show_bug.cgi?id=231684.
Unreviewed test gardening.
- platform/ios-wk2/TestExpectations:
- platform/mac-wk1/TestExpectations:
- 11:02 AM Changeset in webkit [284113] by
-
- 1 copy in tags/Safari-612.2.9.0.20
Tag Safari-612.2.9.0.20.
- 11:02 AM Changeset in webkit [284112] by
-
- 11 edits in trunk/Source/WebCore
[LFC][Integration] Move text box logical order cache to the caller
https://bugs.webkit.org/show_bug.cgi?id=231669
Reviewed by Alan Bujtas.
Don't maintain this rarely used cache internally in the iterator. Instead move it to the caller.
Also make the code non-legacy specific so it will work with future IFC BiDi.
- dom/Position.cpp:
(WebCore::Position::upstream const):
(WebCore::Position::downstream const):
(WebCore::searchAheadForBetterMatch):
- editing/CompositeEditCommand.cpp:
(WebCore::CompositeEditCommand::deleteInsignificantText):
- editing/TextIterator.cpp:
(WebCore::TextIterator::advance):
(WebCore::TextIterator::handleTextNode):
(WebCore::TextIterator::handleTextRun):
(WebCore::TextIterator::revertToRemainingTextRun):
(WebCore::TextIterator::handleTextNodeFirstLetter):
- editing/TextIterator.h:
- layout/integration/InlineIteratorBoxLegacyPath.h:
(WebCore::InlineIterator::BoxLegacyPath::traverseNextTextBox):
(WebCore::InlineIterator::BoxLegacyPath::traverseNextTextBoxInTextOrder): Deleted.
- layout/integration/InlineIteratorBoxModernPath.h:
(WebCore::InlineIterator::BoxModernPath::traverseNextTextBoxInTextOrder): Deleted.
- layout/integration/InlineIteratorTextBox.cpp:
(WebCore::InlineIterator::firstTextBoxInLogicalOrderFor):
(WebCore::InlineIterator::nextTextBoxInLogicalOrder):
Traverse using free functions instead of members.
(WebCore::InlineIterator::TextBox::nextTextBoxInTextOrder const): Deleted.
(WebCore::InlineIterator::TextBoxIterator::traverseNextTextBoxInTextOrder): Deleted.
(WebCore::InlineIterator::firstTextBoxInTextOrderFor): Deleted.
- layout/integration/InlineIteratorTextBox.h:
- rendering/LegacyInlineTextBox.h:
(WebCore::LegacyInlineTextBox::compareByStart): Deleted.
- rendering/RenderText.cpp:
(WebCore::containsOffset):
- 11:02 AM Changeset in webkit [284111] by
-
- 1 delete in tags/Safari-612.2.9.0.20
Delete tag.
- 11:01 AM Changeset in webkit [284110] by
-
- 8 edits in branches/safari-612.2.9.0-branch/Source
Versioning.
WebKit-7612.2.9.0.20
- 10:57 AM Changeset in webkit [284109] by
-
- 1 copy in tags/Safari-612.2.9.1.20
Tag Safari-612.2.9.1.20.
- 10:57 AM Changeset in webkit [284108] by
-
- 1 delete in tags/Safari-612.2.9.1.20
Delete tag.
- 10:56 AM Changeset in webkit [284107] by
-
- 5 edits in trunk/Source/WebCore
[LFC][Integration] Add concept of integration root and stop using InitialContainingBlock
https://bugs.webkit.org/show_bug.cgi?id=231662
Reviewed by Alan Bujtas.
Stop using InitialContainingBlock in integration as it makes no logical sense.
(WebCore::LayoutIntegration::BoxTree::BoxTree):
Set the IntegrationBlockContainer flag.
(WebCore::LayoutIntegration::BoxTree::updateStyle):
(WebCore::LayoutIntegration::rootBoxStyle): Deleted.
- layout/integration/LayoutIntegrationBoxTree.h:
(WebCore::LayoutIntegration::BoxTree::rootLayoutBox const):
(WebCore::LayoutIntegration::BoxTree::rootLayoutBox):
- layout/layouttree/LayoutBox.cpp:
(WebCore::Layout::Box::establishesBlockFormattingContext const):
An integration block container without a parent establishes a block formatting context.
(WebCore::Layout::Box::isBlockContainer const):
- layout/layouttree/LayoutBox.h:
(WebCore::Layout::Box::setIsIntegrationBlockContainer):
Add a flag.
- 10:55 AM Changeset in webkit [284106] by
-
- 8 edits in branches/safari-612.2.9.1-branch/Source
Versioning.
WebKit-7612.2.9.1.20
- 10:51 AM Changeset in webkit [284105] by
-
- 1 copy in tags/Safari-612.2.9.0.20
Tag Safari-612.2.9.0.20.
- 10:50 AM Changeset in webkit [284104] by
-
- 1 copy in tags/Safari-612.2.9.1.20
Tag Safari-612.2.9.1.20.
- 10:49 AM Changeset in webkit [284103] by
-
- 2 edits in trunk/Source/JavaScriptCore
[JSC][32bit] Fix wrong branchAdd32 assembly for ARMv7
https://bugs.webkit.org/show_bug.cgi?id=231362
Patch by Mikhail R. Gadelha <Mikhail R. Gadelha> on 2021-10-13
Reviewed by Yusuke Suzuki.
After the unlinked baseline jit was merged, a new branchAdd32 method
needed to be implemented for ARMv7, however, the first version
submitted by me used the add32 method to perform the add before
branching.
In this patch, we fix the call to add32 by adding a new private method
add32Impl with an optional parameter that selects either add or adds,
make branchAdd32 call the adds version.
(Patch co-authored with Geza Lore)
- assembler/MacroAssemblerARMv7.h:
(JSC::MacroAssemblerARMv7::branchAdd32):
- 10:28 AM Changeset in webkit [284102] by
-
- 7 edits in trunk/Source/WebKit
WebGL video texture upload is very slow due to excessive transfer of the video pixel buffer
https://bugs.webkit.org/show_bug.cgi?id=231425
Patch by Kimmo Kinnunen <kkinnunen@apple.com> on 2021-10-13
Reviewed by Youenn Fablet.
Typical WebGL content requests the videos to be uploaded to a texture
once per render loop update, even though the video has not changed.
The video pixel buffer is slow to transfer across IPC. It should be transferred
only when it has changed.
MediaPlayerPrivateAVFoundationObjC and MediaPlayerPrivateMediaSourceAVFObjC hold
the last requested pixel buffer ref. They will update it or discard it only
when pixelBufferForCurrentTime() is called.
Cache the pixel buffer to MediaPlayerPrivateRemote (GPUP side proxy)
Cache the pixel buffer to RemoteMediaPlayerProxy (WebP side proxy)
The caches increase the total memory use only during the duration
of the call, since after the ref has been updated, it refers
to the one always held in the original objects (MediaPlayerPrivateAVFoundationObjC
and MediaPlayerPrivateMediaSourceAVFObjC)
No new tests, fixes a perf regression wrt GPUP media.
- GPUProcess/media/RemoteMediaPlayerProxy.cpp:
(WebKit::RemoteMediaPlayerProxy::invalidate):
- GPUProcess/media/RemoteMediaPlayerProxy.h:
- GPUProcess/media/RemoteMediaPlayerProxy.messages.in:
- GPUProcess/media/cocoa/RemoteMediaPlayerProxyCocoa.mm:
(WebKit::RemoteMediaPlayerProxy::nativeImageForCurrentTime):
(WebKit::RemoteMediaPlayerProxy::pixelBufferForCurrentTimeIfChanged):
(WebKit::RemoteMediaPlayerProxy::pixelBufferForCurrentTime): Deleted.
- WebProcess/GPU/media/MediaPlayerPrivateRemote.h:
- WebProcess/GPU/media/cocoa/MediaPlayerPrivateRemoteCocoa.mm:
(WebKit::MediaPlayerPrivateRemote::pixelBufferForCurrentTime):
- 10:20 AM Changeset in webkit [284101] by
-
- 3 edits2 adds in trunk
MessagePort messages sent in iframe unload event not received
https://bugs.webkit.org/show_bug.cgi?id=231167
<rdar://problem/84095357>
Reviewed by Alex Christensen.
Source/WebCore:
When removing an iframe from the document, frameDetached() was stopping all ActiveDOMObjects
before firing the "unload" event instead of after. As a result, MessagePorts would be closed
before the "unload" event handler had a chance to run and any attempt to post messages on
MessagePorts then would fail.
Test: fast/frames/message-port-postMessage-unload-event.html
- loader/FrameLoader.cpp:
(WebCore::FrameLoader::frameDetached):
LayoutTests:
Add layout test coverage.
- fast/frames/message-port-postMessage-unload-event-expected.txt: Added.
- fast/frames/message-port-postMessage-unload-event.html: Added.
- 10:03 AM Changeset in webkit [284100] by
-
- 3 edits in trunk/LayoutTests
[ iOS MacOS wk2 Release ] 2 fast/canvas tests are flaky failing.
https://bugs.webkit.org/show_bug.cgi?id=231681
Unreviewed test gardening.
- platform/ios-wk2/TestExpectations:
- platform/mac-wk2/TestExpectations:
- 10:00 AM Changeset in webkit [284099] by
-
- 2 edits1 add in trunk/Source/WebKit
[iOS] Stop including 'util.sb' in the WebContent process' sandbox
https://bugs.webkit.org/show_bug.cgi?id=231570
<rdar://problem/84143956>
Reviewed by Brent Fulgham.
This is a step towards being able to test-compile the sandbox on Open Source builders.
- Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb.in:
- Shared/Sandbox/util.sb: Added.
- 9:59 AM Changeset in webkit [284098] by
-
- 39 edits in trunk
Unprefix -webkit-appearance
https://bugs.webkit.org/show_bug.cgi?id=231534
rdar://84112934
Reviewed by Wenson Hsieh.
LayoutTests/imported/w3c:
Mark progressions.
The remaining test failures deal with <compat-auto> keywords and will
be addressed on a case-by-case basis.
- web-platform-tests/css/css-cascade/all-prop-initial-xml-expected.txt:
- web-platform-tests/css/css-ui/appearance-cssom-001-expected.txt:
- web-platform-tests/css/css-ui/appearance-initial-value-001-expected.txt:
- web-platform-tests/css/css-ui/appearance-parsing-expected.txt:
- web-platform-tests/css/css-ui/appearance-property-expected.txt:
- web-platform-tests/css/css-ui/appearance-serialization-expected.txt:
- web-platform-tests/css/css-ui/inheritance-expected.txt:
- web-platform-tests/css/css-ui/webkit-appearance-parsing-expected.txt:
- web-platform-tests/css/css-ui/webkit-appearance-property-expected.txt:
- web-platform-tests/css/css-ui/webkit-appearance-serialization-expected.txt:
- web-platform-tests/css/cssom/cssstyledeclaration-csstext-expected.txt:
- web-platform-tests/html/rendering/widgets/appearance/default-styles-expected.txt:
Source/WebCore:
Make '-webkit-appearance' a parse time alias of 'appearance', as
specified in https://www.w3.org/TR/css-ui-4/#appearance-switching.
The remaining test failures deal with <compat-auto> keywords and
non-standard values. For example, we cannot remove '-apple-pay-button'
as a valid value, since sites use it to render an Apple Pay button.
Remaining failures will be addressed on a case-by-case basis to avoid
compatibility issues. Note that this is an open spec issue (Issue 7 on
the spec linked above).
Most importantly, this change allows authors to use 'appearance: none'
and 'appearance: auto' to control the appearance of widgets.
- css/CSSComputedStyleDeclaration.cpp:
(WebCore::ComputedStyleExtractor::valueForPropertyInStyle):
- css/CSSProperties.json:
- css/parser/CSSParserFastPaths.cpp:
(WebCore::CSSParserFastPaths::isValidKeywordPropertyAndValue):
(WebCore::CSSParserFastPaths::isKeywordPropertyID):
LayoutTests:
Mark two tests ref tests as failing. These tests were incorrectly passing
due to lack of support for 'appearance'. The tests use <compat-auto> values
which we do not yet support due to compat risk with internal apps. These
tests will be addressed on a case-by-case basis.
- fast/css/getComputedStyle/computed-style-expected.txt:
- fast/css/getComputedStyle/computed-style-without-renderer-expected.txt:
- fast/css/getComputedStyle/resources/property-names.js:
- platform/glib/fast/css/getComputedStyle/computed-style-expected.txt:
- platform/glib/fast/css/getComputedStyle/computed-style-without-renderer-expected.txt:
- platform/glib/svg/css/getComputedStyle-basic-expected.txt:
- platform/gtk/imported/w3c/web-platform-tests/css/cssom/cssstyledeclaration-csstext-expected.txt:
- platform/ios-wk2/imported/w3c/web-platform-tests/css/css-ui/appearance-cssom-001-expected.txt:
- platform/ios-wk2/imported/w3c/web-platform-tests/css/cssom/cssstyledeclaration-csstext-expected.txt:
- platform/ios-wk2/imported/w3c/web-platform-tests/html/rendering/widgets/appearance/default-styles-expected.txt:
- platform/ios/fast/css/getComputedStyle/computed-style-expected.txt:
- platform/ios/fast/css/getComputedStyle/computed-style-without-renderer-expected.txt:
- platform/ios/imported/w3c/web-platform-tests/css/cssom/cssstyledeclaration-csstext-expected.txt:
- platform/ios/svg/css/getComputedStyle-basic-expected.txt:
- platform/mac-wk1/imported/w3c/web-platform-tests/html/rendering/widgets/appearance/default-styles-expected.txt:
- platform/mac/fast/css/getComputedStyle/computed-style-expected.txt:
- platform/mac/fast/css/getComputedStyle/computed-style-without-renderer-expected.txt:
- platform/mac/svg/css/getComputedStyle-basic-expected.txt:
- platform/wpe/imported/w3c/web-platform-tests/css/cssom/cssstyledeclaration-csstext-expected.txt:
- svg/css/getComputedStyle-basic-expected.txt:
- 9:54 AM Changeset in webkit [284097] by
-
- 5 edits in trunk
[WK1] Tests for smooth scrolling of a window fail
https://bugs.webkit.org/show_bug.cgi?id=191357
Reviewed by Sam Weinig.
Source/WebCore:
The scrolling functions around ScrollView are a maze of twisty passages, with no clear
bottleneck functions, and aliasing of scroll position between ScrollableArea, ScrollAnimator
and the platform widget in WK1.
Fallout from this was that animation-driven scrolling, which ends up in
ScrollView::scrollTo(), did nothing if there was a platform widget.
In addition, there was no feedback that updated ScrollAnimator's notion of scroll position
when the platform widget scrolled, causing repeated animated scrolls to fail.
Cleaning up the mess will take time; for now, just patch ScrollView::scrollTo() to do
something if there's a platform widget, and have ScrollView::scrollOffsetChangedViaPlatformWidget()
push the new position to the scroll animator.
Tested by tests in imported/w3c/web-platform-tests/css/cssom-view/
- platform/ScrollView.cpp:
(WebCore::ScrollView::scrollOffsetChangedViaPlatformWidget):
(WebCore::ScrollView::scrollTo):
(WebCore::ScrollView::setScrollPosition):
- platform/ScrollableArea.cpp:
(WebCore::ScrollableArea::scrollPositionChanged): Just some auto.
LayoutTests:
Some cssom-view tests pass now in WK1.
- platform/mac-wk1/TestExpectations:
- 9:47 AM Changeset in webkit [284096] by
-
- 70 edits in trunk/Source
Invoke build scripts with python3 explicitly
https://bugs.webkit.org/show_bug.cgi?id=231587
Reviewed by Jonathan Bedard.
Much of the work to support Python 3 was done years ago, but we need this to
actually use Python 3 on macOS.
Source/JavaScriptCore:
Python 3 no longer raises ValueError on relative module import failure, so changed
that to the correct ImportError.
- DerivedSources.make:
- Scripts/UpdateContents.py:
- Scripts/cssmin.py:
- Scripts/generate-combined-inspector-json.py:
- Scripts/generate-js-builtins.py:
- Scripts/inline-and-minify-stylesheets-and-scripts.py:
- Scripts/lazywriter.py:
- Scripts/make-js-file-arrays.py:
- Scripts/wkbuiltins/builtins_generate_combined_header.py:
- Scripts/wkbuiltins/builtins_generate_combined_implementation.py:
- Scripts/wkbuiltins/builtins_generate_internals_wrapper_header.py:
- Scripts/wkbuiltins/builtins_generate_internals_wrapper_implementation.py:
- Scripts/wkbuiltins/builtins_generate_separate_header.py:
- Scripts/wkbuiltins/builtins_generate_separate_implementation.py:
- Scripts/wkbuiltins/builtins_generate_wrapper_header.py:
- Scripts/wkbuiltins/builtins_generate_wrapper_implementation.py:
- Scripts/wkbuiltins/builtins_generator.py:
- Scripts/wkbuiltins/builtins_model.py:
- Scripts/wkbuiltins/builtins_templates.py:
- disassembler/udis86/ud_opcode.py:
(UdOpcodeTable.entries):
(UdOpcodeTables.addSSE2AVXInsn):
(itemslist): Deleted.
- inspector/scripts/codegen/cpp_generator.py:
- inspector/scripts/codegen/cpp_generator_templates.py:
- inspector/scripts/codegen/generate_cpp_alternate_backend_dispatcher_header.py:
- inspector/scripts/codegen/generate_cpp_backend_dispatcher_header.py:
- inspector/scripts/codegen/generate_cpp_backend_dispatcher_implementation.py:
- inspector/scripts/codegen/generate_cpp_frontend_dispatcher_header.py:
- inspector/scripts/codegen/generate_cpp_frontend_dispatcher_implementation.py:
- inspector/scripts/codegen/generate_cpp_protocol_types_header.py:
- inspector/scripts/codegen/generate_cpp_protocol_types_implementation.py:
- inspector/scripts/codegen/generate_js_backend_commands.py:
- inspector/scripts/codegen/generate_objc_backend_dispatcher_header.py:
- inspector/scripts/codegen/generate_objc_backend_dispatcher_implementation.py:
- inspector/scripts/codegen/generate_objc_configuration_header.py:
- inspector/scripts/codegen/generate_objc_configuration_implementation.py:
- inspector/scripts/codegen/generate_objc_frontend_dispatcher_implementation.py:
- inspector/scripts/codegen/generate_objc_header.py:
- inspector/scripts/codegen/generate_objc_internal_header.py:
- inspector/scripts/codegen/generate_objc_protocol_type_conversions_header.py:
- inspector/scripts/codegen/generate_objc_protocol_type_conversions_implementation.py:
- inspector/scripts/codegen/generate_objc_protocol_types_implementation.py:
- inspector/scripts/codegen/generator.py:
- inspector/scripts/codegen/generator_templates.py:
- inspector/scripts/codegen/models.py:
- inspector/scripts/codegen/objc_generator.py:
- inspector/scripts/codegen/objc_generator_templates.py:
- inspector/scripts/generate-inspector-protocol-bindings.py:
- wasm/generateWasm.py:
- wasm/generateWasmB3IRGeneratorInlinesHeader.py:
- wasm/generateWasmOpsHeader.py:
- yarr/create_regex_tables:
(in): Deleted.
- yarr/generateYarrCanonicalizeUnicode:
- yarr/generateYarrUnicodePropertyTables.py:
- yarr/hasher.py:
Source/WebCore:
- DerivedSources.make:
- css/makeSelectorPseudoClassAndCompatibilityElementMap.py:
- css/makeSelectorPseudoElementsMap.py:
- html/parser/create-html-entity-table:
(convert_entity_to_cpp_name): Deleted.
(convert_value_to_int): Deleted.
(offset_table_entry): Deleted.
- platform/network/create-http-header-name-table:
(HTTPHeaderName): Deleted.
Source/WebInspectorUI:
- Scripts/copy-user-interface-resources.pl:
Source/WebKit:
- DerivedSources.make:
- Scripts/generate-message-receiver.py:
- Scripts/postprocess-header-rule:
- Scripts/webkit/messages_unittest.py:
- Scripts/webkit/model_unittest.py:
- Scripts/webkit/parser_unittest.py:
- Scripts/webkit/tests/Makefile:
- 9:17 AM Changeset in webkit [284095] by
-
- 132 edits1 delete in trunk
Remove WTF::Variant and WTF::get
https://bugs.webkit.org/show_bug.cgi?id=231675
Patch by Alex Christensen <achristensen@webkit.org> on 2021-10-13
Reviewed by Chris Dumez.
Source/JavaScriptCore:
- bytecode/StructureStubClearingWatchpoint.cpp:
(JSC::WatchpointsOnStructureStubInfo::ensureReferenceAndInstallWatchpoint):
(JSC::WatchpointsOnStructureStubInfo::ensureReferenceAndAddWatchpoint):
- jit/AssemblyHelpers.cpp:
(JSC::AssemblyHelpers::branchIfValue):
- jit/SnippetReg.h:
(JSC::SnippetReg::gpr const):
(JSC::SnippetReg::fpr const):
(JSC::SnippetReg::jsValueRegs const):
- jsc.cpp:
(JSC_DEFINE_HOST_FUNCTION):
- parser/Lexer.cpp:
(JSC::Lexer<T>::lexWithoutClearingLineTerminator):
- parser/VariableEnvironment.cpp:
(JSC::CompactTDZEnvironment::toTDZEnvironmentSlow const):
- parser/VariableEnvironment.h:
(JSC::CompactTDZEnvironment::toTDZEnvironment const):
- runtime/CacheUpdate.cpp:
(JSC::CacheUpdate::asGlobal const):
(JSC::CacheUpdate::asFunction const):
- runtime/CachedTypes.cpp:
(JSC::CachedCompactTDZEnvironment::encode):
- wasm/WasmLLIntGenerator.cpp:
(JSC::Wasm::LLIntGenerator::ControlType::isCatch):
(JSC::Wasm::LLIntGenerator::ControlType::targetLabelForBranch const):
(JSC::Wasm::LLIntGenerator::addLoop):
(JSC::Wasm::LLIntGenerator::addElseToUnreachable):
(JSC::Wasm::LLIntGenerator::addCatchToUnreachable):
(JSC::Wasm::LLIntGenerator::addCatchAllToUnreachable):
(JSC::Wasm::LLIntGenerator::addDelegateToUnreachable):
(JSC::Wasm::LLIntGenerator::addRethrow):
Source/WebCore:
We are now using std::variant and std::get instead.
- Modules/applepay/paymentrequest/ApplePayPaymentHandler.cpp:
(WebCore::ApplePayPaymentHandler::handlesIdentifier):
(WebCore::ApplePayPaymentHandler::validateMerchant):
(WebCore::ApplePayPaymentHandler::didAuthorizePayment):
(WebCore::ApplePayPaymentHandler::didSelectPaymentMethod):
(WebCore::ApplePayPaymentHandler::didChangeCouponCode):
- Modules/async-clipboard/ClipboardItemBindingsDataSource.cpp:
(WebCore::ClipboardItemBindingsDataSource::invokeCompletionHandler):
(WebCore::ClipboardItemBindingsDataSource::ClipboardItemTypeLoader::sanitizeDataIfNeeded):
- Modules/cache/DOMCache.cpp:
(WebCore::DOMCache::requestFromInfo):
- Modules/fetch/FetchBody.h:
(WebCore::FetchBody::blobBody const):
(WebCore::FetchBody::formDataBody):
(WebCore::FetchBody::formDataBody const):
(WebCore::FetchBody::arrayBufferBody const):
(WebCore::FetchBody::arrayBufferViewBody const):
(WebCore::FetchBody::textBody):
(WebCore::FetchBody::textBody const):
(WebCore::FetchBody::urlSearchParamsBody const):
- Modules/fetch/FetchHeaders.cpp:
(WebCore::fillHeaderMap):
- Modules/fetch/FetchRequest.cpp:
(WebCore::FetchRequest::create):
- Modules/indexeddb/IDBDatabase.cpp:
(WebCore::IDBDatabase::createObjectStore):
(WebCore::IDBDatabase::transaction):
- Modules/indexeddb/IDBKey.cpp:
(WebCore::IDBKey::isValid const):
(WebCore::IDBKey::compare const):
- Modules/indexeddb/IDBKey.h:
(WebCore::IDBKey::array const):
(WebCore::IDBKey::string const):
(WebCore::IDBKey::date const):
(WebCore::IDBKey::number const):
(WebCore::IDBKey::binary const):
- Modules/indexeddb/IDBKeyData.cpp:
(WebCore::IDBKeyData::IDBKeyData):
(WebCore::IDBKeyData::maybeCreateIDBKey const):
(WebCore::IDBKeyData::isolatedCopy):
(WebCore::IDBKeyData::encode const):
(WebCore::IDBKeyData::decode):
(WebCore::IDBKeyData::compare const):
(WebCore::IDBKeyData::loggingString const):
(WebCore::IDBKeyData::operator== const):
(WebCore::IDBKeyData::size const):
- Modules/indexeddb/IDBKeyData.h:
(WebCore::IDBKeyData::hash const):
(WebCore::IDBKeyData::string const):
(WebCore::IDBKeyData::date const):
(WebCore::IDBKeyData::number const):
(WebCore::IDBKeyData::binary const):
(WebCore::IDBKeyData::array const):
(WebCore::IDBKeyData::encode const):
(WebCore::IDBKeyData::decode):
- Modules/mediastream/RTCPeerConnection.cpp:
(WebCore::RTCPeerConnection::addTransceiver):
(WebCore::certificateTypeFromAlgorithmIdentifier):
- Modules/mediastream/RTCRtpSFrameTransform.cpp:
(WebCore::RTCRtpSFrameTransform::setEncryptionKey):
- animation/AnimationEffect.cpp:
(WebCore::AnimationEffect::updateTiming):
- animation/KeyframeEffect.cpp:
(WebCore::processIterableKeyframes):
(WebCore::processPropertyIndexedKeyframes):
(WebCore::KeyframeEffect::create):
- bindings/js/IDBBindingUtilities.cpp:
(WebCore::injectIDBKeyIntoScriptValue):
(WebCore::maybeCreateIDBKeyFromScriptValueAndKeyPath):
(WebCore::canInjectIDBKeyIntoScriptValue):
- crypto/SubtleCrypto.cpp:
(WebCore::normalizeCryptoAlgorithmParameters):
(WebCore::SubtleCrypto::exportKey):
(WebCore::SubtleCrypto::wrapKey):
- crypto/algorithms/CryptoAlgorithmAES_CBC.cpp:
(WebCore::CryptoAlgorithmAES_CBC::importKey):
- crypto/algorithms/CryptoAlgorithmAES_CFB.cpp:
(WebCore::CryptoAlgorithmAES_CFB::importKey):
- crypto/algorithms/CryptoAlgorithmAES_CTR.cpp:
(WebCore::CryptoAlgorithmAES_CTR::importKey):
- crypto/algorithms/CryptoAlgorithmAES_GCM.cpp:
(WebCore::CryptoAlgorithmAES_GCM::importKey):
- crypto/algorithms/CryptoAlgorithmAES_KW.cpp:
(WebCore::CryptoAlgorithmAES_KW::importKey):
- crypto/algorithms/CryptoAlgorithmECDH.cpp:
(WebCore::CryptoAlgorithmECDH::importKey):
- crypto/algorithms/CryptoAlgorithmECDSA.cpp:
(WebCore::CryptoAlgorithmECDSA::importKey):
- crypto/algorithms/CryptoAlgorithmHKDF.cpp:
(WebCore::CryptoAlgorithmHKDF::importKey):
- crypto/algorithms/CryptoAlgorithmHMAC.cpp:
(WebCore::CryptoAlgorithmHMAC::importKey):
- crypto/algorithms/CryptoAlgorithmPBKDF2.cpp:
(WebCore::CryptoAlgorithmPBKDF2::importKey):
- crypto/algorithms/CryptoAlgorithmRSAES_PKCS1_v1_5.cpp:
(WebCore::CryptoAlgorithmRSAES_PKCS1_v1_5::importKey):
- crypto/algorithms/CryptoAlgorithmRSASSA_PKCS1_v1_5.cpp:
(WebCore::CryptoAlgorithmRSASSA_PKCS1_v1_5::importKey):
- crypto/algorithms/CryptoAlgorithmRSA_OAEP.cpp:
(WebCore::CryptoAlgorithmRSA_OAEP::importKey):
- crypto/algorithms/CryptoAlgorithmRSA_PSS.cpp:
(WebCore::CryptoAlgorithmRSA_PSS::importKey):
- css/CSSCustomPropertyValue.cpp:
(WebCore::CSSCustomPropertyValue::equals const):
- css/CSSCustomPropertyValue.h:
- css/StyleRule.h:
- css/parser/CSSParser.cpp:
(WebCore::CSSParser::parseValueWithVariableReferences):
- dom/DocumentMarker.h:
(WebCore::DocumentMarker::description const):
- dom/DocumentMarkerController.cpp:
(WebCore::shouldInsertAsSeparateMarker):
- dom/Element.cpp:
(WebCore::Element::scrollIntoView):
(WebCore::Element::animate):
- editing/AlternativeTextController.cpp:
(WebCore::AlternativeTextController::timerFired):
(WebCore::AlternativeTextController::respondToMarkerAtEndOfWord):
(WebCore::AlternativeTextController::removeDictationAlternativesForMarker):
(WebCore::AlternativeTextController::dictationAlternativesForMarker):
- editing/Editor.cpp:
(WebCore::Editor::advanceToNextMisspelling):
- html/canvas/CanvasStyle.cpp:
(WebCore::CanvasStyle::isEquivalentColor const):
(WebCore::CanvasStyle::isEquivalent const):
- html/canvas/CanvasStyle.h:
(WebCore::CanvasStyle::overrideAlpha const):
(WebCore::CanvasStyle::canvasGradient const):
(WebCore::CanvasStyle::canvasPattern const):
(WebCore::CanvasStyle::color const):
- html/canvas/WebGLRenderingContextBase.cpp:
(WebCore::InspectorScopedShaderProgramHighlight::saveBlendValue):
(WebCore::InspectorScopedShaderProgramHighlight::hasBufferBinding):
(WebCore::InspectorScopedShaderProgramHighlight::hasFramebufferParameterAttachment):
- html/track/VTTCue.cpp:
(WebCore::VTTCue::setLine):
(WebCore::VTTCue::setPosition):
- inspector/agents/InspectorIndexedDBAgent.cpp:
- layout/integration/InlineIteratorBox.cpp:
(WebCore::InlineIterator::Box::modernPath const):
(WebCore::InlineIterator::Box::legacyPath const):
- layout/integration/InlineIteratorBox.h:
(WebCore::InlineIterator::Box::legacyInlineBox const):
(WebCore::InlineIterator::Box::inlineBox const):
- page/ios/FrameIOS.mm:
(WebCore::Frame::interpretationsForCurrentRoot const):
- platform/PasteboardCustomData.cpp:
(WebCore::copyPlatformData):
(WebCore::PasteboardCustomData::readBuffer const):
(WebCore::PasteboardCustomData::readString const):
(WebCore::PasteboardCustomData::forEachPlatformString const):
(WebCore::PasteboardCustomData::forEachPlatformStringOrBuffer const):
- platform/SharedBuffer.cpp:
(WebCore::SharedBuffer::takeData):
- platform/audio/cocoa/CAAudioStreamDescription.cpp:
(WebCore::CAAudioStreamDescription::operator== const):
- platform/audio/cocoa/CAAudioStreamDescription.h:
(WebCore::toCAAudioStreamDescription):
- platform/cocoa/MediaUtilities.cpp:
(WebCore::createAudioFormatDescription):
- platform/generic/KeyedDecoderGeneric.cpp:
- platform/graphics/DecodingOptions.h:
(WebCore::DecodingOptions::isAuto const):
(WebCore::DecodingOptions::isSynchronous const):
(WebCore::DecodingOptions::isAsynchronous const):
(WebCore::DecodingOptions::sizeForDrawing const):
- platform/graphics/Path.cpp:
(WebCore::Path::apply const):
(WebCore::Path::addQuadCurveTo):
(WebCore::Path::addBezierCurveTo):
- platform/graphics/Path.h:
(WebCore::Path::inlineData const):
(WebCore::Path::inlineData):
- platform/graphics/displaylists/DisplayListItems.h:
- platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
(WebCore::MediaPlayerPrivateGStreamer::notifyPlayerOfTrack):
- platform/graphics/texmap/TextureMapperPlatformLayerBuffer.h:
- platform/ios/PlatformPasteboardIOS.mm:
(WebCore::createItemProviderRegistrationList):
- platform/mac/PlatformPasteboardMac.mm:
(WebCore::PlatformPasteboard::write):
(WebCore::createPasteboardItem):
- platform/mediastream/mac/MockAudioSharedUnit.mm:
(WebCore::MockAudioSharedUnit::resetSampleRate):
- platform/mediastream/mac/WebAudioSourceProviderCocoa.mm:
(WebCore::WebAudioSourceProviderCocoa::receivedNewAudioSamples):
- platform/mock/MockMediaDevice.h:
(WebCore::MockMediaDevice::type const):
(WebCore::MockMediaDevice::speakerProperties const):
- platform/mock/MockRealtimeAudioSource.cpp:
(WebCore::MockRealtimeAudioSource::MockRealtimeAudioSource):
(WebCore::MockRealtimeAudioSource::startProducingData):
- platform/mock/MockRealtimeMediaSourceCenter.cpp:
(WebCore::MockDisplayCapturer::intrinsicSize const):
- platform/mock/MockRealtimeVideoSource.cpp:
(WebCore::MockRealtimeVideoSource::MockRealtimeVideoSource):
(WebCore::MockRealtimeVideoSource::generatePresets):
(WebCore::MockRealtimeVideoSource::capabilities):
(WebCore::MockRealtimeVideoSource::mockDisplayType const):
- platform/network/DNS.h:
(WebCore::IPAddress::ipv4Address const):
(WebCore::IPAddress::ipv6Address const):
- platform/network/FormData.cpp:
(WebCore::FormData::appendMultiPartKeyValuePairItems):
(WebCore::FormData::appendNonMultiPartKeyValuePairItems):
- platform/network/curl/CurlSSLHandle.h:
- platform/xr/PlatformXR.h:
(PlatformXR::Device::FrameData::View::encode const):
- rendering/RenderBlockFlow.h:
(WebCore::RenderBlockFlow::legacyLineLayout const):
(WebCore::RenderBlockFlow::legacyLineLayout):
(WebCore::RenderBlockFlow::modernLineLayout const):
(WebCore::RenderBlockFlow::modernLineLayout):
- rendering/RenderReplaced.cpp:
(WebCore::draggedContentContainsReplacedElement):
- style/StyleBuilder.cpp:
(WebCore::Style::Builder::applyProperty):
- workers/service/ServiceWorkerJobData.cpp:
(WebCore::ServiceWorkerJobData::serviceWorkerPageIdentifier const):
- workers/service/context/ServiceWorkerThread.cpp:
(WebCore::ServiceWorkerThread::queueTaskToPostMessage):
- workers/service/server/SWServerJobQueue.cpp:
(WebCore::SWServerJobQueue::cancelJobsFromServiceWorker):
Source/WebKit:
- GPUProcess/graphics/QualifiedResourceHeap.h:
(WebKit::QualifiedResourceHeap::get const):
- NetworkProcess/cache/NetworkCacheDataCurl.cpp:
(WebKit::NetworkCache::Data::Data):
- Shared/RemoteLayerTree/RemoteLayerBackingStore.mm:
(WebKit::RemoteLayerBackingStore::applyBackingStoreToLayer):
- Shared/WebCoreArgumentCoders.cpp:
(IPC::ArgumentCoder<PasteboardCustomData::Entry>::encode):
(IPC::ArgumentCoder<IDBKeyPath>::encode):
(IPC::ArgumentCoder<ServiceWorkerOrClientData>::encode):
(IPC::ArgumentCoder<ServiceWorkerOrClientIdentifier>::encode):
- Shared/WebPreferencesStore.cpp:
(WebKit::valueForKey):
- UIProcess/API/wpe/TouchGestureController.h:
- UIProcess/Automation/gtk/WebAutomationSessionGtk.cpp:
(WebKit::WebAutomationSession::platformSimulateKeyboardInteraction):
- UIProcess/Automation/wpe/WebAutomationSessionWPE.cpp:
(WebKit::WebAutomationSession::platformSimulateKeyboardInteraction):
- UIProcess/Cocoa/UserMediaCaptureManagerProxy.cpp:
- UIProcess/ProcessThrottler.cpp:
(WebKit::ProcessThrottler::isValidBackgroundActivity):
(WebKit::ProcessThrottler::isValidForegroundActivity):
- UIProcess/WebAuthentication/AuthenticatorManager.cpp:
(WebKit::WebCore::getRpId):
(WebKit::WebCore::getUserName):
(WebKit::AuthenticatorManager::respondReceived):
- UIProcess/WebAuthentication/Cocoa/LocalAuthenticator.mm:
(WebKit::LocalAuthenticator::makeCredential):
(WebKit::LocalAuthenticator::continueMakeCredentialAfterDecidePolicy):
(WebKit::LocalAuthenticator::continueMakeCredentialAfterUserVerification):
(WebKit::LocalAuthenticator::continueMakeCredentialAfterAttested):
(WebKit::LocalAuthenticator::getAssertion):
(WebKit::LocalAuthenticator::continueGetAssertionAfterResponseSelected):
(WebKit::LocalAuthenticator::continueGetAssertionAfterUserVerification):
(WebKit::LocalAuthenticator::deleteDuplicateCredential const):
- UIProcess/WebAuthentication/WebAuthenticationRequestData.cpp:
(WebKit::getUserVerificationRequirement):
- UIProcess/WebAuthentication/fido/CtapAuthenticator.cpp:
(WebKit::CtapAuthenticator::makeCredential):
(WebKit::CtapAuthenticator::continueMakeCredentialAfterResponseReceived):
(WebKit::CtapAuthenticator::getAssertion):
(WebKit::CtapAuthenticator::processGoogleLegacyAppIdSupportExtension):
- UIProcess/WebAuthentication/fido/U2fAuthenticator.cpp:
(WebKit::U2fAuthenticator::makeCredential):
(WebKit::U2fAuthenticator::checkExcludeList):
(WebKit::U2fAuthenticator::issueRegisterCommand):
(WebKit::U2fAuthenticator::getAssertion):
(WebKit::U2fAuthenticator::issueSignCommand):
(WebKit::U2fAuthenticator::continueRegisterCommandAfterResponseReceived):
(WebKit::U2fAuthenticator::continueSignCommandAfterResponseReceived):
- WebProcess/GPU/graphics/ImageBufferShareableBitmapBackend.cpp:
(WebKit::ImageBufferShareableBitmapBackend::create):
- WebProcess/GPU/graphics/cocoa/ImageBufferShareableIOSurfaceBackend.cpp:
(WebKit::ImageBufferShareableIOSurfaceBackend::createImageBufferBackendHandle const):
- WebProcess/GPU/graphics/cocoa/ImageBufferShareableMappedIOSurfaceBackend.cpp:
(WebKit::ImageBufferShareableMappedIOSurfaceBackend::create):
- WebProcess/GPU/webrtc/MediaRecorderPrivate.cpp:
(WebKit::MediaRecorderPrivate::audioSamplesAvailable):
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLSelectElement.cpp:
(webkit_dom_html_select_element_add):
- WebProcess/Speech/SpeechRecognitionRealtimeMediaSourceManager.cpp:
- WebProcess/Storage/WebServiceWorkerFetchTaskClient.cpp:
(WebKit::WebServiceWorkerFetchTaskClient::didReceiveData):
- WebProcess/WebCoreSupport/gtk/WebEditorClientGtk.cpp:
(WebKit::WebEditorClient::executePendingEditorCommands):
- WebProcess/WebPage/Cocoa/TextCheckingControllerProxy.mm:
(WebKit::TextCheckingControllerProxy::removeAnnotationRelativeToSelection):
(WebKit::TextCheckingControllerProxy::annotatedSubstringBetweenPositions):
- WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::getPlatformEditorState const):
Source/WebKitLegacy/ios:
- WebCoreSupport/WebVisiblePosition.mm:
(-[WebVisiblePosition enclosingRangeWithDictationPhraseAlternatives:]):
Source/WebKitLegacy/mac:
- WebView/WebFrame.mm:
(-[WebFrame getDictationResultRanges:andMetadatas:]):
(-[WebFrame dictationResultMetadataForRange:]):
Source/WTF:
- wtf/Variant.h:
(WTF::get): Deleted.
Tools:
- TestWebKitAPI/CMakeLists.txt:
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- TestWebKitAPI/Tests/WTF/Variant.cpp: Removed.
- TestWebKitAPI/Tests/WebCore/DisplayListTests.cpp:
(TestWebKitAPI::TEST):
- TestWebKitAPI/Tests/WebKitCocoa/PrivateClickMeasurement.mm:
(addValuesToTable):
- 9:01 AM Changeset in webkit [284094] by
-
- 3 edits in trunk/Tools
Debugging code for jscore-test hang
https://bugs.webkit.org/show_bug.cgi?id=231573
Reviewed by Jonathan Bedard.
Occasionally, jscore-test will just hang ("1200 seconds without
output"). When that happens, send SIGTERM first and have
run-jsc-stress-tests print a backtrace when that happens, so that we
can hopefully get an idea of what went wrong.
- CISupport/ews-build/steps.py:
(RunJavaScriptCoreTests.init):
- Scripts/run-jsc-stress-tests:
- 8:37 AM Changeset in webkit [284093] by
-
- 196 edits in trunk/Source
Stop using makeWeakPtr() in WebCore
https://bugs.webkit.org/show_bug.cgi?id=231651
Reviewed by Alex Christensen.
Source/WebCore:
Stop using makeWeakPtr() in WebCore and use WeakPtr { } directly instead.
- dom/BroadcastChannel.cpp:
(WebCore::BroadcastChannel::MainThreadBridge::MainThreadBridge):
- dom/DataTransferItemList.cpp:
(WebCore::DataTransferItemList::add):
(WebCore::DataTransferItemList::ensureItems const):
(WebCore::DataTransferItemList::didSetStringData):
- dom/Document.cpp:
(WebCore::Document::buildAccessKeyCache):
(WebCore::Document::collectRangeDataFromRegister):
(WebCore::Document::determineActiveThemeColorMetaElement):
(WebCore::Document::setActiveSpeechRecognition):
(WebCore::Document::appendAutofocusCandidate):
(WebCore::Document::setMediaElementShowingTextTrack):
(WebCore::DocumentParserYieldToken::DocumentParserYieldToken):
(WebCore::Document::addIntersectionObserver):
(WebCore::Document::updateIntersectionObservations):
(WebCore::Document::addResizeObserver):
(WebCore::Document::updateMainArticleElementAfterLayout):
(WebCore::Document::setPictureInPictureElement):
- dom/Document.h:
(WebCore::Document::setContextDocument):
(WebCore::Document::setTemplateDocumentHost):
- dom/DocumentParser.cpp:
(WebCore::DocumentParser::DocumentParser):
- dom/EventLoop.h:
(WebCore::EventLoopTaskGroup::EventLoopTaskGroup):
(WebCore::EventLoopTask::EventLoopTask):
- dom/EventSender.h:
(WebCore::EventSender<T>::dispatchEventSoon):
- dom/EventTarget.cpp:
(WebCore::EventTarget::addEventListener):
- dom/FullscreenManager.cpp:
(WebCore::FullscreenManager::setFullscreenRenderer):
- dom/IdleCallbackController.cpp:
(WebCore::IdleCallbackController::IdleCallbackController):
- dom/MessagePort.cpp:
(WebCore::MessagePort::virtualHasPendingActivity const):
- dom/RadioButtonGroups.cpp:
(WebCore::RadioButtonGroup::setCheckedButton):
- dom/ScriptedAnimationController.cpp:
(WebCore::ScriptedAnimationController::ScriptedAnimationController):
- dom/SlotAssignment.cpp:
(WebCore::SlotAssignment::addSlotElementByName):
(WebCore::SlotAssignment::resolveSlotsAfterSlotMutation):
(WebCore::SlotAssignment::assignToSlot):
- editing/CustomUndoStep.cpp:
(WebCore::CustomUndoStep::CustomUndoStep):
- editing/EditCommand.cpp:
(WebCore::EditCommand::setParent):
- editing/FrameSelection.cpp:
(WebCore::FrameSelection::FrameSelection):
- editing/TextManipulationController.cpp:
(WebCore::TextManipulationController::TextManipulationController):
(WebCore::TextManipulationController::observeParagraphs):
- editing/ios/EditorIOS.mm:
(WebCore::Editor::setDictationPhrasesAsChildOfElement):
- fileapi/FileReaderLoader.cpp:
(WebCore::FileReaderLoader::FileReaderLoader):
- html/CustomPaintImage.cpp:
(WebCore::CustomPaintImage::CustomPaintImage):
- html/FormAssociatedElement.cpp:
(WebCore::FormAssociatedElement::FormAssociatedElement):
(WebCore::FormAssociatedElement::setForm):
- html/HTMLAnchorElement.cpp:
(WebCore::HTMLAnchorElement::setRootEditableElementForSelectionOnMouseDown):
- html/HTMLFormElement.cpp:
(WebCore::HTMLFormElement::submit):
(WebCore::HTMLFormElement::registerFormElement):
(WebCore::HTMLFormElement::registerImgElement):
(WebCore::HTMLFormElement::defaultButton const):
(WebCore::HTMLFormElement::addToPastNamesMap):
- html/HTMLFrameOwnerElement.cpp:
(WebCore::HTMLFrameOwnerElement::setContentFrame):
- html/HTMLImageElement.cpp:
(WebCore::HTMLImageElement::HTMLImageElement):
(WebCore::HTMLImageElement::insertedIntoAncestor):
(WebCore::HTMLImageElement::setPictureElement):
(WebCore::HTMLImageElement::setSourceElement):
- html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::mediaPlayerCreateResourceLoader):
- html/HTMLMediaElement.h:
- html/InputType.h:
(WebCore::InputType::InputType):
- html/MediaElementSession.cpp:
(WebCore::MediaSessionObserver::MediaSessionObserver):
- html/OffscreenCanvas.cpp:
(WebCore::OffscreenCanvas::setPlaceholderCanvas):
- html/URLSearchParams.cpp:
(WebCore::URLSearchParams::URLSearchParams):
- html/parser/HTMLScriptRunner.cpp:
(WebCore::HTMLScriptRunner::HTMLScriptRunner):
- html/shadow/DateTimeEditElement.cpp:
(WebCore::DateTimeEditElement::DateTimeEditElement):
- html/shadow/DateTimeFieldElement.cpp:
(WebCore::DateTimeFieldElement::DateTimeFieldElement):
- html/shadow/MediaControlTextTrackContainerElement.cpp:
(WebCore::MediaControlTextTrackContainerElement::MediaControlTextTrackContainerElement):
- html/track/TextTrackCue.cpp:
(WebCore::TextTrackCueBox::TextTrackCueBox):
- html/track/TrackBase.cpp:
(WebCore::TrackBase::setTrackList):
- html/track/TrackListBase.h:
(WebCore::TrackListBase::setOpaqueRootObserver):
- inspector/InspectorFrontendAPIDispatcher.cpp:
(WebCore::InspectorFrontendAPIDispatcher::InspectorFrontendAPIDispatcher):
- inspector/InspectorOverlay.cpp:
(WebCore::InspectorOverlay::setGridOverlayForNode):
- inspector/agents/InspectorDOMAgent.cpp:
(WebCore::InspectorDOMAgent::bind):
- inspector/agents/InspectorLayerTreeAgent.cpp:
(WebCore::InspectorLayerTreeAgent::bindPseudoElement):
- inspector/agents/InspectorNetworkAgent.cpp:
(WebCore::InspectorNetworkAgent::enable):
- inspector/agents/InspectorPageAgent.cpp:
(WebCore::InspectorPageAgent::frameId):
- inspector/agents/InspectorWorkerAgent.cpp:
(WebCore::InspectorWorkerAgent::connectToWorkerInspectorProxy):
- layout/formattingContexts/table/TableGrid.cpp:
(WebCore::Layout::TableGrid::Slot::Slot):
- layout/layouttree/LayoutBox.cpp:
(WebCore::Layout::Box::setCachedGeometryForLayoutState const):
- loader/DocumentLoader.cpp:
(WebCore::DocumentLoader::tryLoadingSubstituteData):
(WebCore::DocumentLoader::contentFilterDidBlock):
- loader/DocumentWriter.cpp:
(WebCore::DocumentWriter::setFrame):
- loader/FrameLoader.cpp:
(WebCore::PageLevelForbidScope::PageLevelForbidScope):
(WebCore::FrameLoader::setOpener):
(WebCore::FrameLoader::loadFrameRequest):
- loader/FrameNetworkingContext.h:
(WebCore::FrameNetworkingContext::FrameNetworkingContext):
- loader/LinkLoader.cpp:
(WebCore::LinkLoader::preconnectIfNeeded):
- loader/LinkPreloadResourceClients.cpp:
(WebCore::LinkPreloadResourceClient::LinkPreloadResourceClient):
- loader/MediaResourceLoader.cpp:
(WebCore::MediaResourceLoader::MediaResourceLoader):
- loader/NetscapePlugInStreamLoader.cpp:
(WebCore::NetscapePlugInStreamLoader::NetscapePlugInStreamLoader):
- loader/PolicyChecker.cpp:
(WebCore::FrameLoader::PolicyChecker::checkNavigationPolicy):
(WebCore::FrameLoader::PolicyChecker::checkNewWindowPolicy):
- loader/SubframeLoader.cpp:
(WebCore::FrameLoader::SubframeLoader::loadPlugin):
- loader/appcache/ApplicationCache.cpp:
(WebCore::ApplicationCache::setGroup):
(WebCore::ApplicationCache::setManifestResource):
- loader/appcache/ApplicationCacheGroup.cpp:
(WebCore::ApplicationCacheGroup::update):
- loader/appcache/ApplicationCacheHost.cpp:
(WebCore::ApplicationCacheHost::setDOMApplicationCache):
(WebCore::ApplicationCacheHost::setCandidateApplicationCacheGroup):
- loader/cache/CachedImage.cpp:
(WebCore::CachedImage::load):
- loader/cache/CachedResourceLoader.h:
(WebCore::CachedResourceLoader::setDocument):
- loader/ios/LegacyPreviewLoader.mm:
(WebCore::LegacyPreviewLoader::previewConverterDidStartConverting):
- page/DOMWindowExtension.cpp:
(WebCore::DOMWindowExtension::DOMWindowExtension):
- page/DOMWindowProperty.cpp:
(WebCore::DOMWindowProperty::DOMWindowProperty):
- page/EventHandler.cpp:
(WebCore::widgetForElement):
(WebCore::EventHandler::updateLastScrollbarUnderMouse):
- page/Frame.cpp:
(WebCore::Frame::Frame):
- page/FrameDestructionObserver.cpp:
(WebCore::FrameDestructionObserver::observeFrame):
- page/FrameTree.cpp:
(WebCore::FrameTree::FrameTree):
(WebCore::FrameTree::appendChild):
- page/FrameView.cpp:
(WebCore::FrameView::updateEmbeddedObject):
- page/FrameViewLayoutContext.cpp:
(WebCore::FrameViewLayoutContext::layout):
(WebCore::FrameViewLayoutContext::setSubtreeLayoutRoot):
- page/ImageOverlayController.cpp:
(WebCore::ImageOverlayController::ImageOverlayController):
(WebCore::ImageOverlayController::selectionQuadsDidChange):
- page/IntersectionObserver.cpp:
(WebCore::IntersectionObserver::IntersectionObserver):
(WebCore::IntersectionObserver::observe):
- page/Page.cpp:
(WebCore::Page::updateRendering):
(WebCore::Page::doAfterUpdateRendering):
(WebCore::Page::updateElementsWithTextRecognitionResults):
(WebCore::Page::setServiceWorkerGlobalScope):
- page/PointerLockController.cpp:
(WebCore::PointerLockController::elementWasRemoved):
(WebCore::PointerLockController::documentDetached):
(WebCore::PointerLockController::didAcquirePointerLock):
- page/Quirks.cpp:
(WebCore::Quirks::Quirks):
(WebCore::Quirks::triggerOptionalStorageAccessQuirk const):
- page/ResizeObservation.cpp:
(WebCore::ResizeObservation::ResizeObservation):
- page/ResizeObserver.cpp:
(WebCore::ResizeObserver::ResizeObserver):
(WebCore::ResizeObserver::observe):
- page/UndoItem.cpp:
(WebCore::UndoItem::setUndoManager):
- page/WheelEventTestMonitor.cpp:
(WebCore::WheelEventTestMonitor::scheduleCallbackCheck):
- page/ios/ContentChangeObserver.cpp:
(WebCore::ContentChangeObserver::didFinishTransition):
- page/ios/ContentChangeObserver.h:
(WebCore::ContentChangeObserver::setHiddenTouchTarget):
- page/mac/EventHandlerMac.mm:
(WebCore::scrollableAreaForEventTarget):
(WebCore::scrollableAreaForContainerNode):
(WebCore::EventHandler::determineWheelEventTarget):
- page/mac/ImageOverlayControllerMac.mm:
(WebCore::ImageOverlayController::updateDataDetectorHighlights):
(WebCore::ImageOverlayController::elementUnderMouseDidChange):
- page/scrolling/ScrollLatchingController.cpp:
(WebCore::ScrollLatchingController::updateAndFetchLatchingStateForFrame):
- platform/NowPlayingManager.cpp:
(WebCore::NowPlayingManager::addClient):
- platform/PreviewConverter.cpp:
(WebCore::PreviewConverter::addClient):
(WebCore::PreviewConverter::didAddClient):
- platform/ScrollAnimator.cpp:
(WebCore::ScrollAnimator::createTimer):
- platform/ScrollView.cpp:
(WebCore::ScrollView::ProhibitScrollingWhenChangingContentSizeForScope::ProhibitScrollingWhenChangingContentSizeForScope):
- platform/Widget.cpp:
(WebCore::Widget::setParent):
- platform/audio/PlatformMediaSessionManager.cpp:
(WebCore::PlatformMediaSessionManager::addSession):
(WebCore::PlatformMediaSessionManager::sessionWillEndPlayback):
(WebCore::PlatformMediaSessionManager::setCurrentSession):
- platform/audio/cocoa/MediaSessionManagerCocoa.mm:
(WebCore::MediaSessionManagerCocoa::sessionWillEndPlayback):
- platform/audio/glib/MediaSessionManagerGLib.cpp:
(WebCore::MediaSessionManagerGLib::sessionWillEndPlayback):
- platform/audio/gstreamer/AudioFileReaderGStreamer.cpp:
(WebCore::AudioFileReader::decodeAudioForBusCreation):
- platform/audio/gstreamer/AudioSourceProviderGStreamer.cpp:
(WebCore::AudioSourceProviderGStreamer::setClient):
- platform/audio/mac/SharedRoutingArbitrator.mm:
(WebCore::SharedRoutingArbitrator::beginRoutingArbitrationForToken):
- platform/encryptedmedia/CDMProxy.cpp:
(WebCore::CDMInstanceSessionProxy::CDMInstanceSessionProxy):
- platform/encryptedmedia/clearkey/CDMClearKey.cpp:
(WebCore::CDMInstanceSessionClearKey::updateLicense):
(WebCore::CDMInstanceSessionClearKey::removeSessionData):
- platform/graphics/AudioTrackPrivate.h:
(WebCore::AudioTrackPrivate::setClient):
- platform/graphics/InbandTextTrackPrivate.h:
(WebCore::InbandTextTrackPrivate::setClient):
- platform/graphics/VideoTrackPrivate.h:
(WebCore::VideoTrackPrivate::setClient):
- platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
- platform/graphics/avfoundation/SampleBufferDisplayLayer.h:
(WebCore::SampleBufferDisplayLayer::SampleBufferDisplayLayer):
- platform/graphics/avfoundation/objc/AVOutputDeviceMenuControllerTargetPicker.mm:
(WebCore::AVOutputDeviceMenuControllerTargetPicker::AVOutputDeviceMenuControllerTargetPicker):
- platform/graphics/avfoundation/objc/AVPlaybackTargetPicker.h:
(WebCore::AVPlaybackTargetPicker::AVPlaybackTargetPicker):
- platform/graphics/avfoundation/objc/AVRoutePickerViewTargetPicker.mm:
(WebCore::AVRoutePickerViewTargetPicker::AVRoutePickerViewTargetPicker):
- platform/graphics/avfoundation/objc/CDMInstanceFairPlayStreamingAVFObjC.mm:
(WebCore::CDMInstanceFairPlayStreamingAVFObjC::createSession):
- platform/graphics/avfoundation/objc/CDMSessionAVFoundationObjC.mm:
(WebCore::CDMSessionAVFoundationObjC::CDMSessionAVFoundationObjC):
- platform/graphics/avfoundation/objc/LocalSampleBufferDisplayLayer.mm:
(-[WebAVSampleBufferStatusChangeListener initWithParent:]):
- platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(WebCore::MediaPlayerPrivateAVFoundationObjC::MediaPlayerPrivateAVFoundationObjC):
(WebCore::MediaPlayerPrivateAVFoundationObjC::createVideoOutput):
(WebCore::MediaPlayerPrivateAVFoundationObjC::createSession):
- platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:
(WebCore::EffectiveRateChangedListener::EffectiveRateChangedListener):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::setCDMSession):
- platform/graphics/avfoundation/objc/MediaSourcePrivateAVFObjC.mm:
(WebCore::MediaSourcePrivateAVFObjC::MediaSourcePrivateAVFObjC):
- platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:
(WebCore::SourceBufferPrivateAVFObjC::SourceBufferPrivateAVFObjC):
(WebCore::SourceBufferPrivateAVFObjC::setCDMSession):
- platform/graphics/avfoundation/objc/WebCoreAVFResourceLoader.mm:
(WebCore::PlatformResourceMediaLoader::create):
- platform/graphics/gstreamer/ImageDecoderGStreamer.cpp:
(WebCore::ImageDecoderGStreamer::InnerDecoder::handleMessage):
(WebCore::ImageDecoderGStreamer::InnerDecoder::preparePipeline):
- platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
(WebCore::MediaPlayerPrivateGStreamer::notifyPlayerOfTrack):
(WebCore::MediaPlayerPrivateGStreamer::updateTracks):
(WebCore::MediaPlayerPrivateGStreamer::handleStreamCollectionMessage):
(WebCore::MediaPlayerPrivateGStreamer::createGSTPlayBin):
- platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
- platform/graphics/gstreamer/eme/CDMThunder.cpp:
(WebCore::CDMInstanceSessionThunder::CDMInstanceSessionThunder):
- platform/graphics/gstreamer/eme/WebKitCommonEncryptionDecryptorGStreamer.cpp:
(webKitMediaCommonEncryptionDecryptGetCDMProxyDecryptionClient):
- platform/graphics/gstreamer/mse/AppendPipeline.cpp:
(WebCore::AppendPipeline::makeWebKitTrack):
- platform/graphics/texmap/TextureMapperLayer.cpp:
(WebCore::TextureMapperLayer::setMaskLayer):
(WebCore::TextureMapperLayer::setReplicaLayer):
(WebCore::TextureMapperLayer::setBackdropLayer):
- platform/graphics/win/MediaPlayerPrivateMediaFoundation.cpp:
(WebCore::MediaPlayerPrivateMediaFoundation::MediaPlayerPrivateMediaFoundation):
- platform/ios/PreviewConverterIOS.mm:
(-[WebPreviewConverterDelegate initWithDelegate:]):
- platform/ios/VideoFullscreenInterfaceAVKit.mm:
(-[WebAVPlayerViewControllerDelegate setFullscreenInterface:]):
- platform/ios/WebCoreMotionManager.mm:
(-[WebCoreMotionManager sendAccelerometerData:]):
(-[WebCoreMotionManager sendMotionData:withHeading:]):
- platform/mac/DataDetectorHighlight.mm:
(WebCore::DataDetectorHighlight::DataDetectorHighlight):
- platform/mac/PlaybackSessionInterfaceMac.mm:
(WebCore::PlaybackSessionInterfaceMac::PlaybackSessionInterfaceMac):
- platform/mac/VideoFullscreenInterfaceMac.mm:
(WebCore::VideoFullscreenInterfaceMac::setVideoFullscreenModel):
(WebCore::VideoFullscreenInterfaceMac::setVideoFullscreenChangeObserver):
- platform/mediarecorder/cocoa/MediaRecorderPrivateWriterCocoa.mm:
(WebCore::MediaRecorderPrivateWriter::compressedVideoOutputBufferCallback):
(WebCore::MediaRecorderPrivateWriter::compressedAudioOutputBufferCallback):
- platform/mediastream/AudioTrackPrivateMediaStream.cpp:
(WebCore::AudioTrackPrivateMediaStream::createRenderer):
- platform/mediastream/libwebrtc/LibWebRTCDTMFSenderBackend.h:
- platform/mediastream/mac/MediaStreamTrackAudioSourceProviderCocoa.cpp:
(WebCore::MediaStreamTrackAudioSourceProviderCocoa::MediaStreamTrackAudioSourceProviderCocoa):
- platform/network/cocoa/CookieStorageObserver.h:
- platform/network/cocoa/RangeResponseGenerator.mm:
(WebCore::RangeResponseGenerator::giveResponseToTaskIfBytesInRangeReceived):
(WebCore::RangeResponseGenerator::MediaResourceClient::MediaResourceClient):
- plugins/DOMMimeType.cpp:
(WebCore::DOMMimeType::DOMMimeType):
- plugins/DOMMimeTypeArray.cpp:
(WebCore::DOMMimeTypeArray::DOMMimeTypeArray):
- plugins/DOMPlugin.cpp:
(WebCore::DOMPlugin::DOMPlugin):
- plugins/DOMPluginArray.cpp:
(WebCore::DOMPluginArray::DOMPluginArray):
- rendering/FloatingObjects.cpp:
(WebCore::FloatingObject::FloatingObject):
(WebCore::ComputeFloatOffsetAdapter::ComputeFloatOffsetAdapter):
(WebCore::FindNextFloatLogicalBottomAdapter::FindNextFloatLogicalBottomAdapter):
(WebCore::FloatingObjects::FloatingObjects):
- rendering/FloatingObjects.h:
(WebCore::FloatingObject::setOriginatingLine):
- rendering/Grid.cpp:
(WebCore::Grid::insert):
- rendering/HighlightData.h:
(WebCore::RenderRange::RenderRange):
- rendering/LayerAncestorClippingStack.h:
(WebCore::CompositedClipData::CompositedClipData):
- rendering/LegacyInlineBox.h:
(WebCore::LegacyInlineBox::LegacyInlineBox):
- rendering/LegacyRootInlineBox.cpp:
(WebCore::LegacyRootInlineBox::setLineBreakInfo):
- rendering/LegacyRootInlineBox.h:
(WebCore::LegacyRootInlineBox::appendFloat):
- rendering/RenderBlock.cpp:
(WebCore::RenderBlock::updateCachedEnclosingFragmentedFlow const):
- rendering/RenderBlockFlow.cpp:
(WebCore::RenderBlockFlow::setMultiColumnFlow):
- rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::ContinuationChainNode::ContinuationChainNode):
(WebCore::RenderBoxModelObject::setFirstLetterRemainingText):
- rendering/RenderButton.cpp:
(WebCore::RenderButton::setInnerRenderer):
(WebCore::RenderButton::setText):
- rendering/RenderElement.cpp:
(WebCore::RenderElement::setBackdropRenderer):
- rendering/RenderFragmentedFlow.cpp:
(WebCore::RenderFragmentedFlow::updateFragmentsFragmentedFlowPortionRect):
- rendering/RenderFragmentedFlow.h:
- rendering/RenderFullScreen.h:
- rendering/RenderImageResource.cpp:
(WebCore::RenderImageResource::initialize):
- rendering/RenderLayer.cpp:
(WebCore::RenderLayer::updatePagination):
(WebCore::RenderLayer::setBackingProviderLayer):
- rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::BackingSharingState::appendSharingLayer):
(WebCore::RenderLayerCompositor::attachScrollingNode):
- rendering/RenderLayoutState.cpp:
(WebCore::RenderLayoutState::propagateLineGridInfo):
(WebCore::RenderLayoutState::establishLineGrid):
- rendering/RenderListItem.h:
- rendering/RenderListMarker.cpp:
(WebCore::RenderListMarker::RenderListMarker):
- rendering/RenderMenuList.cpp:
(WebCore::RenderMenuList::setInnerRenderer):
(RenderMenuList::setText):
- rendering/RenderMultiColumnSpannerPlaceholder.cpp:
(WebCore::RenderMultiColumnSpannerPlaceholder::RenderMultiColumnSpannerPlaceholder):
- rendering/RenderScrollbar.cpp:
(WebCore::RenderScrollbar::RenderScrollbar):
- rendering/RenderTable.cpp:
(WebCore::RenderTable::willInsertTableSection):
(WebCore::RenderTable::addCaption):
(WebCore::RenderTable::updateColumnCache const):
(WebCore::RenderTable::recalcSections const):
- rendering/RenderText.cpp:
(WebCore::RenderText::setInlineWrapperForDisplayContents):
- rendering/RenderTextFragment.h:
- rendering/RenderView.cpp:
(WebCore::RenderView::RepaintRegionAccumulator::RepaintRegionAccumulator):
(WebCore::RenderView::layerChildrenChangedDuringStyleChange):
- rendering/mathml/RenderMathMLFenced.h:
- rendering/svg/SVGRenderSupport.cpp:
(WebCore::SVGHitTestCycleDetectionScope::SVGHitTestCycleDetectionScope):
- rendering/updating/RenderTreeBuilder.cpp:
(WebCore::RenderTreeBuilder::childFlowStateChangesAndAffectsParentBlock):
(WebCore::RenderTreeBuilder::destroyAndCleanUpAnonymousWrappers):
- rendering/updating/RenderTreeBuilderBlock.cpp:
(WebCore::RenderTreeBuilder::Block::detach):
- rendering/updating/RenderTreeBuilderFirstLetter.cpp:
(WebCore::RenderTreeBuilder::FirstLetter::updateStyle):
(WebCore::RenderTreeBuilder::FirstLetter::createRenderers):
- rendering/updating/RenderTreeBuilderMultiColumn.cpp:
(WebCore::RenderTreeBuilder::MultiColumn::multiColumnDescendantInserted):
- rendering/updating/RenderTreePosition.cpp:
(WebCore::RenderTreePosition::computeNextSibling):
- rendering/updating/RenderTreePosition.h:
(WebCore::RenderTreePosition::RenderTreePosition):
- rendering/updating/RenderTreeUpdaterGeneratedContent.cpp:
(WebCore::RenderTreeUpdater::GeneratedContent::updateQuotesUpTo):
(WebCore::RenderTreeUpdater::GeneratedContent::updateBackdropRenderer):
- svg/SVGElement.cpp:
(WebCore::SVGElement::addReferencingElement):
- svg/SVGElementRareData.h:
(WebCore::SVGElementRareData::setCorrespondingElement):
- svg/SVGViewElement.h:
- svg/SVGViewSpec.cpp:
(WebCore::SVGViewSpec::SVGViewSpec):
- testing/Internals.cpp:
(WebCore::Internals::xrTest):
- testing/MockCDMFactory.cpp:
(WebCore::MockCDMFactory::createCDM):
(WebCore::MockCDM::createInstance):
(WebCore::MockCDMInstance::createSession):
- workers/WorkerFontLoadRequest.cpp:
(WebCore::WorkerFontLoadRequest::load):
- workers/WorkerGlobalScope.cpp:
(WebCore::WorkerGlobalScope::importScripts):
(WebCore::WorkerGlobalScope::setMainScriptSourceProvider):
- workers/WorkerOrWorkletScriptController.cpp:
(WebCore::WorkerOrWorkletScriptController::initScriptWithSubclass):
- workers/WorkerRunLoop.cpp:
(WebCore::WorkerMainRunLoop::setGlobalScope):
- workers/WorkerThread.cpp:
(WebCore::WorkerThread::evaluateScriptIfNecessary):
- workers/service/server/RegistrationDatabase.cpp:
(WebCore::RegistrationDatabase::RegistrationDatabase):
- workers/service/server/SWServer.cpp:
(WebCore::SWServer::addRegistration):
- workers/service/server/SWServerWorker.cpp:
(WebCore::SWServerWorker::SWServerWorker):
- worklets/WorkletGlobalScope.cpp:
(WebCore::WorkletGlobalScope::WorkletGlobalScope):
- worklets/WorkletPendingTasks.cpp:
(WebCore::WorkletPendingTasks::WorkletPendingTasks):
- xml/DOMParser.cpp:
(WebCore::DOMParser::DOMParser):
Source/WTF:
- wtf/WeakPtr.h:
(WTF::WeakPtr::WeakPtr):
(WTF::WeakPtr::implForObject):
- 7:33 AM Changeset in webkit [284092] by
-
- 2 edits in trunk/Source/WTF
CLang build warning in CheckedPtr.h
https://bugs.webkit.org/show_bug.cgi?id=231672
Patch by Philippe Normand <pnormand@igalia.com> on 2021-10-13
Reviewed by Alex Christensen.
Assert on the wrapped pointer. Asserting on
this
always results to true, defeating the
purpose of the ASSERT.
- wtf/CheckedPtr.h:
(WTF::CheckedPtr::operator* const):
(WTF::CheckedPtr::operator*):
- 7:31 AM WebKitGTK/2.34.x edited by
- (diff)
- 7:30 AM WebKitGTK/StableRelease edited by
- (diff)
- 6:56 AM Changeset in webkit [284091] by
-
- 3 edits in trunk/Source/WebCore
[GStreamer] Crash in WebCore::MediaPlayerPrivateGStreamer::sourceSetup when loading reddit video
https://bugs.webkit.org/show_bug.cgi?id=231519
Patch by Philippe Normand <pnormand@igalia.com> on 2021-10-13
Reviewed by Xabier Rodriguez-Calvar.
Since this GStreamer commit:
https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/commit/52bca104e447309898ca8904b3914211ec7d4114
and starting from GStreamer 1.20, the playbin::source-setup signal is emitted before the
source element is added to the pipeline, so this gave us the opportunity to refactor our
code handling the downloadbuffer configuration, using the existing deep-element-added signal
handler.
- platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
(WebCore::MediaPlayerPrivateGStreamer::~MediaPlayerPrivateGStreamer):
(WebCore::MediaPlayerPrivateGStreamer::sourceSetup):
(WebCore::MediaPlayerPrivateGStreamer::configureDownloadBuffer):
(WebCore::MediaPlayerPrivateGStreamer::createGSTPlayBin):
(WebCore::MediaPlayerPrivateGStreamer::uriDecodeBinElementAddedCallback): Deleted.
- platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
- 6:24 AM Changeset in webkit [284090] by
-
- 6 edits2 adds in trunk
[LFC][IFC] Do not break at the inline box boundary when wrapping is not allowed
https://bugs.webkit.org/show_bug.cgi?id=231581
Reviewed by Antti Koivisto.
Source/WebCore:
This patch ensures that we don't consider whitespace characters as soft wrap opportunities when wrapping is not allowed.
Test: fast/inline/no-soft-wrap-opportunity-at-inline-box.html
- layout/formattingContexts/inline/InlineContentBreaker.cpp:
(WebCore::Layout::InlineContentBreaker::processOverflowingContent const):
(WebCore::Layout::isWrappableRun):
(WebCore::Layout::InlineContentBreaker::isWrappingAllowed): Deleted.
- layout/formattingContexts/inline/InlineLineBuilder.cpp:
(WebCore::Layout::isAtSoftWrapOpportunity):
(WebCore::Layout::LineBuilder::handleInlineContent):
- layout/formattingContexts/inline/text/TextUtil.cpp:
(WebCore::Layout::TextUtil::isWrappingAllowed):
- layout/formattingContexts/inline/text/TextUtil.h:
LayoutTests:
- fast/inline/no-soft-wrap-opportunity-at-inline-box-expected.html: Added.
- fast/inline/no-soft-wrap-opportunity-at-inline-box.html: Added.
- 4:21 AM Changeset in webkit [284089] by
-
- 2 edits in trunk/Source/WebCore
Unreviewed, THUNDER build fix
- platform/graphics/gstreamer/eme/CDMThunder.cpp: Include PrintStream.h, required for boolForPrinting().
- 4:00 AM Changeset in webkit [284088] by
-
- 3 edits in trunk/Source/WebCore
Unreviewed. Fix GTK build with ATSPI enabled after r284009
- accessibility/atspi/AccessibilityRootAtspi.cpp:
(WebCore::AccessibilityRootAtspi::create):
(WebCore::AccessibilityRootAtspi::AccessibilityRootAtspi):
- accessibility/atspi/AccessibilityRootAtspi.h:
- 3:21 AM Changeset in webkit [284087] by
-
- 8 edits in trunk
Unreviewed, reverting r283609
Build failure with GStreamer 1.14 and regression causing frame
corruption.
Reverted changeset:
"[MSE][GStreamer] Honor MP4 edit lists"
https://bugs.webkit.org/show_bug.cgi?id=231019
https://commits.webkit.org/r283609
- 3:00 AM Changeset in webkit [284086] by
-
- 2 edits in trunk/Source/WebCore
Unreviewed. Fix GTK build with ATSPI enabled after r283851
- accessibility/atspi/AccessibilityObjectAtspi.cpp: Inlcude ElementInlines.h for getIdAttribute().
- 2:54 AM Changeset in webkit [284085] by
-
- 21 edits20 adds4 deletes in trunk
Add support for WebRTC media capabilities
https://bugs.webkit.org/show_bug.cgi?id=231568
Reviewed by Eric Carlson.
LayoutTests/imported/w3c:
- resources/import-expectations.json:
- web-platform-tests/media-capabilities/META.yml: Added.
- web-platform-tests/media-capabilities/README.md: Added.
- web-platform-tests/media-capabilities/decodingInfo.any-expected.txt: Added.
- web-platform-tests/media-capabilities/decodingInfo.any.html: Added.
- web-platform-tests/media-capabilities/decodingInfo.any.js: Added.
- web-platform-tests/media-capabilities/decodingInfo.any.worker-expected.txt: Added.
- web-platform-tests/media-capabilities/decodingInfo.any.worker.html: Added.
- web-platform-tests/media-capabilities/decodingInfo.webrtc-expected.txt: Added.
- web-platform-tests/media-capabilities/decodingInfo.webrtc.html: Added.
- web-platform-tests/media-capabilities/encodingInfo-expected.txt: Added.
- web-platform-tests/media-capabilities/encodingInfo.html: Added.
- web-platform-tests/media-capabilities/encodingInfo.webrtc-expected.txt: Added.
- web-platform-tests/media-capabilities/encodingInfo.webrtc.html: Added.
- web-platform-tests/media-capabilities/idlharness.any-expected.txt: Added.
- web-platform-tests/media-capabilities/idlharness.any.html: Added.
- web-platform-tests/media-capabilities/idlharness.any.js: Added.
- web-platform-tests/media-capabilities/idlharness.any.worker-expected.txt: Added.
- web-platform-tests/media-capabilities/idlharness.any.worker.html: Added.
- web-platform-tests/media-capabilities/w3c-import.log: Added.
Source/WebCore:
Add WebRTC decoding and encoding type.
In case webrtc type is used, forward the call to LibWebRTCProvider.
LibWebRTCProvider then gets underlying RTC capabilities to expose media capabilities.
It also adds dedicated support for powerEfficient value.
All information is already exposed in existing Media Capabilities or RTCRtpSender/Receiver getCapabilities so we do not increase fingerprinting here.
Tests: imported/w3c/web-platform-tests/media-capabilities/decodingInfo.any.html
imported/w3c/web-platform-tests/media-capabilities/decodingInfo.any.worker.html
imported/w3c/web-platform-tests/media-capabilities/decodingInfo.webrtc.html
imported/w3c/web-platform-tests/media-capabilities/decodingInfoEncryptedMedia.http.html
imported/w3c/web-platform-tests/media-capabilities/decodingInfoEncryptedMedia.https.html
imported/w3c/web-platform-tests/media-capabilities/encodingInfo.html
imported/w3c/web-platform-tests/media-capabilities/encodingInfo.webrtc.html
imported/w3c/web-platform-tests/media-capabilities/idlharness.any.html
imported/w3c/web-platform-tests/media-capabilities/idlharness.any.worker.html
- Modules/mediacapabilities/MediaCapabilities.cpp:
- Modules/mediacapabilities/MediaDecodingType.idl:
- Modules/mediacapabilities/MediaEncodingType.idl:
- WebCore.xcodeproj/project.pbxproj:
- bindings/js/JSMediaCapabilitiesCustom.h:
- bindings/scripts/CodeGeneratorJS.pm:
- platform/graphics/cocoa/MediaEngineConfigurationFactoryCocoa.cpp:
- platform/mediacapabilities/MediaCapabilitiesLogging.h:
- platform/mediacapabilities/MediaDecodingType.h:
- platform/mediacapabilities/MediaEncodingType.h:
- platform/mediastream/libwebrtc/LibWebRTCProvider.cpp:
- platform/mediastream/libwebrtc/LibWebRTCProvider.h:
- platform/mock/MediaEngineConfigurationFactoryMock.cpp:
LayoutTests:
- media/mediacapabilities/mock-encodingInfo-expected.txt:
- media/mediacapabilities/mock-encodingInfo.html:
- platform/ios/media/mediacapabilities/mediacapabilities-encodingInfo-undefined-expected.txt: Removed.
- platform/ios/media/mediacapabilities/mediacapabilities-encodingInfo-undefined.html: Removed.
- platform/ios/media/mediacapabilities/mediacapabilities-types-expected.txt: Removed.
- platform/mac/media/mediacapabilities/mediacapabilities-types-expected.txt: Removed.
- platform/mac/media/mediacapabilities/mediacapabilities-encodingInfo-undefined-expected.txt: Removed.
- platform/mac/media/mediacapabilities/mediacapabilities-encodingInfo-undefined.html: Removed.
- platform/mac/media/mediacapabilities/mediacapabilities-types-expected.txt:
- tests-options.json:
- 12:59 AM Changeset in webkit [284084] by
-
- 7 edits2 adds in trunk
Sticky element inside another sticky element does not redraw properly on scroll
https://bugs.webkit.org/show_bug.cgi?id=199915
<rdar://problem/53375284>
Reviewed by Simon Fraser.
When calculating layer position for sticky nodes in the scrolling tree, take into
account situations where the sticky parents of sticky nodes don't stick (due to
sizing). This was handled properly in layout, but not in the scrolling tree, which
caused these kinds of nodes to jump around.
Source/WebCore:
Test: scrollingcoordinator/mac/nested-sticky-with-nonsticking-sticky-parent.html
- page/scrolling/ScrollingStateStickyNode.cpp:
(WebCore::ScrollingStateStickyNode::computeLayerPosition const):
(WebCore::ScrollingStateStickyNode::scrollDeltaSinceLastCommit const):
- page/scrolling/ScrollingStateStickyNode.h:
- page/scrolling/cocoa/ScrollingTreeStickyNode.mm:
(WebCore::ScrollingTreeStickyNode::computeLayerPosition const):
- page/scrolling/nicosia/ScrollingTreeStickyNode.cpp:
(WebCore::ScrollingTreeStickyNode::computeLayerPosition const):
(WebCore::ScrollingTreeStickyNode::scrollDeltaSinceLastCommit const):
- page/scrolling/nicosia/ScrollingTreeStickyNode.h:
LayoutTests:
- scrollingcoordinator/mac/nested-sticky-with-nonsticking-sticky-parent-expected.html: Added.
- scrollingcoordinator/mac/nested-sticky-with-nonsticking-sticky-parent.html: Added.
- 12:53 AM Changeset in webkit [284083] by
-
- 2 edits in trunk
Add my github username to contributors.json
Unreviewed.
- metadata/contributors.json:
- 12:51 AM Changeset in webkit [284082] by
-
- 3 edits in trunk/Source/ThirdParty/libwebrtc
Override guessed color space for incoming H.264/265 streams
https://bugs.webkit.org/show_bug.cgi?id=231353
<rdar://problem/83969311>
Reviewed by Youenn Fablet.
When the VTDecompressionSession decodes incoming H.264/H.265 samples,
it puts guessed color space attachments on the CVPixelBuffer, and the
guesses are based on video resolution. WebRTC streams however default
to being sRGB. So this patch overrides a guess with what we know the
stream will be. (Once we support different color spaces in WebRTC
video streams we'll need to adjust this.)
- Source/webrtc/sdk/objc/components/video_codec/RTCVideoDecoderH264.mm:
(overrideColorSpaceAttachmentsIfNeeded):
(decompressionOutputCallback):
- Source/webrtc/sdk/objc/components/video_codec/RTCVideoDecoderH265.mm:
(overrideColorSpaceAttachmentsIfNeeded):
(h265DecompressionOutputCallback):
- 12:29 AM Changeset in webkit [284081] by
-
- 2 edits in trunk/Source/JavaScriptCore
[GTK] Unreviewed, build fix for Ubuntu 18.04 after r283852
- wasm/WasmB3IRGenerator.h:
Oct 12, 2021:
- 10:54 PM Changeset in webkit [284080] by
-
- 150 edits1 copy in trunk
[Build-time perf] Forward-declare more things in Document.h
https://bugs.webkit.org/show_bug.cgi?id=231489
Reviewed by Myles C. Maxfield.
Move the folowing enumerations outside their classes so that they can be forward-declared:
- MediaProducer::MediaStateFlags -> MediaProducerMediaStateFlags
- MediaProducer::MediaCaptureKind -> MediaProducerMediaCaptureKind
- MediaProducer::MutedState -> MediaProducerMutedState
Source/WebCore:
- StyleColor::Options -> StyleColorOptions
- MutationObserver::{MutationType,ObservationFlags,DeliveryFlags} -> MutationObserverOptionType
Additionally, make MutationObserverOptions a OptionSet<MutationObserverOptionType>, and update
callsites to use OptionSet methods for setting and checking flags.
Move inlined methods to DocumentInlines.h and PageInlines.h and mark the declarations as
inline
.
On this machine, this shows a reduction from ~1.2s compilation time for Document.h to ~1.0s, most
of the remainder due to the inclusion of Node.h (via ContainerNode.h) and ScriptExecutionContext.h.
- Modules/airplay/WebMediaSessionManager.cpp:
(WebCore::flagsAreSet):
(WebCore::mediaProducerStateString):
(WebCore::WebMediaSessionManager::showPlaybackTargetPicker):
(WebCore::WebMediaSessionManager::clientStateDidChange):
(WebCore::WebMediaSessionManager::configurePlaybackTargetClients):
(WebCore::WebMediaSessionManager::configurePlaybackTargetMonitoring):
(WebCore::WebMediaSessionManager::configureWatchdogTimer):
- Modules/airplay/WebMediaSessionManager.h:
(WTF::LogArgument<WebCore::MediaProducerMediaStateFlags>::toString):
(WTF::LogArgument<WebCore::MediaProducer::MediaStateFlags>::toString): Deleted.
- Modules/mediastream/MediaStream.cpp:
(WebCore::MediaStream::mediaState const):
- Modules/mediastream/MediaStream.h:
- Modules/mediastream/MediaStreamTrack.cpp:
(WebCore::MediaStreamTrack::mediaState const):
(WebCore::sourceCaptureState):
(WebCore::MediaStreamTrack::captureState):
(WebCore::MediaStreamTrack::updateCaptureAccordingToMutedState):
(WebCore::MediaStreamTrack::updateToPageMutedState):
(WebCore::trackMatchesKind):
(WebCore::MediaStreamTrack::endCapture):
- Modules/mediastream/MediaStreamTrack.h:
- Modules/mediastream/RTCController.cpp:
- Modules/mediastream/UserMediaRequest.cpp:
- Modules/permissions/PermissionStatus.cpp:
- Modules/webaudio/AudioContext.cpp:
(WebCore::AudioContext::mediaState const):
(WebCore::AudioContext::visibilityStateChanged):
- Modules/webaudio/AudioContext.h:
- WebCore.xcodeproj/project.pbxproj:
- accessibility/AXObjectCache.h:
- accessibility/AccessibilityObject.cpp:
- bindings/js/JSLazyEventListener.cpp:
- bindings/js/ScriptController.cpp:
- css/StyleColor.cpp:
(WebCore::StyleColor::colorFromKeyword):
- css/StyleColor.h:
- dom/CharacterData.cpp:
(WebCore::canUseSetDataOptimization):
- dom/ChildListMutationScope.h:
(WebCore::ChildListMutationScope::ChildListMutationScope):
- dom/ContainerNode.cpp:
(WebCore::ContainerNode::removeAllChildrenWithScriptAssertion):
- dom/Document.cpp:
(WebCore::Document::resetVisitedLinkColor):
(WebCore::Document::setRTCNetworkManager):
(WebCore::Document::updateIsPlayingMedia):
(WebCore::Document::enqueueSecurityPolicyViolationEvent):
(WebCore::Document::styleColorOptions const):
(WebCore::Document::playbackTargetPickerClientStateDidChange):
(WebCore::Document::stopMediaCapture):
- dom/Document.h:
(WebCore::Document::hasMutationObservers const):
(WebCore::Document::addMutationObserverTypes):
(WebCore::Document::getOverrideStyle):
(WebCore::Document::charset const): Deleted.
(WebCore::Document::encoding const): Deleted.
(WebCore::Document::setRTCNetworkManager): Deleted.
(WebCore::Document::hasMutationObserversOfType const): Deleted.
(WebCore::Document::isSameOriginAsTopDocument const): Deleted.
(WebCore::Document::isCapturing const): Deleted.
(WebCore::Document::textEncoding const): Deleted.
(WebCore::Document::templateDocument const): Deleted.
(WebCore::Document::existingAXObjectCache const): Deleted.
(WebCore::Document::create): Deleted.
(WebCore::Document::invalidateAccessKeyCache): Deleted.
(WebCore::Node::scriptExecutionContext const): Deleted.
- dom/DocumentInlines.h:
(WebCore::Document::encoding const):
(WebCore::Document::charset const):
(WebCore::Document::isCapturing const):
(WebCore::Document::hasMutationObserversOfType const):
(WebCore::Document::isSameOriginAsTopDocument const):
- dom/MutationObserver.cpp:
(WebCore::MutationObserver::validateOptions):
(WebCore::MutationObserver::observe):
- dom/MutationObserver.h:
- dom/MutationObserverInterestGroup.cpp:
(WebCore::MutationObserverInterestGroup::createIfNeeded):
- dom/MutationObserverInterestGroup.h:
(WebCore::MutationObserverInterestGroup::createForChildListMutation):
(WebCore::MutationObserverInterestGroup::createForCharacterDataMutation):
(WebCore::MutationObserverInterestGroup::createForAttributesMutation):
(WebCore::MutationObserverInterestGroup::hasOldValue const):
- dom/MutationObserverRegistration.cpp:
(WebCore::MutationObserverRegistration::shouldReceiveMutationFrom const):
- dom/MutationObserverRegistration.h:
(WebCore::MutationObserverRegistration::isSubtree const):
(WebCore::MutationObserverRegistration::deliveryOptions const):
(WebCore::MutationObserverRegistration::mutationTypes const):
- dom/Node.cpp:
(WebCore::collectMatchingObserversForMutation):
(WebCore::Node::registeredMutationObservers):
- dom/Node.h:
- dom/ProcessingInstruction.cpp:
- dom/ScriptElement.cpp:
- dom/SecurityPolicyViolationEvent.h:
(WebCore::SecurityPolicyViolationEventInit::SecurityPolicyViolationEventInit):
(WebCore::SecurityPolicyViolationEventInit::encode const):
(WebCore::SecurityPolicyViolationEventInit::decode):
(WebCore::SecurityPolicyViolationEvent::Init::encode const): Deleted.
(WebCore::SecurityPolicyViolationEvent::Init::decode): Deleted.
- html/HTMLLinkElement.cpp:
- html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::shouldOverrideBackgroundPlaybackRestriction const):
(WebCore::HTMLMediaElement::updateMediaState):
(WebCore::HTMLMediaElement::mediaState const):
- html/HTMLMediaElement.h:
- html/MediaElementSession.cpp:
(WebCore::MediaElementSession::playbackStateChangePermitted const):
(WebCore::MediaElementSession::mediaStateDidChange):
- html/MediaElementSession.h:
- inspector/InspectorInstrumentation.h:
- inspector/agents/InspectorDOMAgent.cpp:
- inspector/agents/InspectorNetworkAgent.cpp:
- loader/CrossOriginOpenerPolicy.h:
- loader/DocumentLoader.cpp:
(WebCore::DocumentLoader::enqueueSecurityPolicyViolationEvent):
- loader/DocumentLoader.h:
- loader/DocumentWriter.cpp:
- loader/FormSubmission.cpp:
- loader/FrameLoader.cpp:
- loader/cache/CachedResourceLoader.cpp:
- page/ChromeClient.h:
(WebCore::ChromeClient::isPlayingMediaDidChange):
(WebCore::ChromeClient::playbackTargetPickerClientStateDidChange):
- page/Frame.cpp:
- page/FrameView.cpp:
(WebCore::FrameView::styleColorOptions const):
- page/FrameView.h:
- page/MediaProducer.h:
- page/Page.cpp:
(WebCore::Page::updateIsPlayingMedia):
(WebCore::Page::setMuted):
(WebCore::Page::stopMediaCapture):
(WebCore::Page::playbackTargetPickerClientStateDidChange):
- page/Page.h:
(WebCore::Page::mediaState const):
(WebCore::Page::mutedState const):
(WebCore::Page::isAudioMuted const): Deleted.
(WebCore::Page::isMediaCaptureMuted const): Deleted.
- page/PageInlines.h: Copied from Source/WebCore/dom/DocumentInlines.h.
(WebCore::Page::isAudioMuted const):
(WebCore::Page::isMediaCaptureMuted const):
- page/PageSerializer.cpp:
- page/csp/ContentSecurityPolicy.cpp:
(WebCore::ContentSecurityPolicy::reportViolation const):
- page/csp/ContentSecurityPolicyClient.h:
- platform/graphics/MediaPlayer.cpp:
- rendering/RenderObject.cpp:
(WebCore::RenderObject::styleColorOptions const):
- rendering/RenderObject.h:
- rendering/RenderReplaced.cpp:
(WebCore::RenderReplaced::calculateHighlightColor const):
- rendering/RenderTheme.cpp:
(WebCore::RenderTheme::activeSelectionBackgroundColor const):
(WebCore::RenderTheme::inactiveSelectionBackgroundColor const):
(WebCore::RenderTheme::transformSelectionBackgroundColor const):
(WebCore::RenderTheme::activeSelectionForegroundColor const):
(WebCore::RenderTheme::inactiveSelectionForegroundColor const):
(WebCore::RenderTheme::activeListBoxSelectionBackgroundColor const):
(WebCore::RenderTheme::inactiveListBoxSelectionBackgroundColor const):
(WebCore::RenderTheme::activeListBoxSelectionForegroundColor const):
(WebCore::RenderTheme::inactiveListBoxSelectionForegroundColor const):
(WebCore::RenderTheme::platformActiveSelectionBackgroundColor const):
(WebCore::RenderTheme::platformActiveSelectionForegroundColor const):
(WebCore::RenderTheme::platformInactiveSelectionBackgroundColor const):
(WebCore::RenderTheme::platformInactiveSelectionForegroundColor const):
(WebCore::RenderTheme::platformActiveListBoxSelectionBackgroundColor const):
(WebCore::RenderTheme::platformActiveListBoxSelectionForegroundColor const):
(WebCore::RenderTheme::platformInactiveListBoxSelectionBackgroundColor const):
(WebCore::RenderTheme::platformInactiveListBoxSelectionForegroundColor const):
(WebCore::RenderTheme::colorCache const):
(WebCore::RenderTheme::systemColor const):
(WebCore::RenderTheme::textSearchHighlightColor const):
(WebCore::RenderTheme::platformTextSearchHighlightColor const):
(WebCore::RenderTheme::appHighlightColor const):
(WebCore::RenderTheme::platformAppHighlightColor const):
(WebCore::RenderTheme::defaultButtonTextColor const):
(WebCore::RenderTheme::platformDefaultButtonTextColor const):
(WebCore::RenderTheme::focusRingColor const):
- rendering/RenderTheme.h:
(WebCore::RenderTheme::platformFocusRingColor const):
(WebCore::RenderTheme::supportsSelectionForegroundColors const):
(WebCore::RenderTheme::supportsListBoxSelectionForegroundColors const):
- rendering/RenderThemeIOS.h:
- rendering/RenderThemeIOS.mm:
(WebCore::RenderThemeIOS::platformActiveSelectionBackgroundColor const):
(WebCore::RenderThemeIOS::platformInactiveSelectionBackgroundColor const):
(WebCore::RenderThemeIOS::platformFocusRingColor const):
(WebCore::RenderThemeIOS::platformAppHighlightColor const):
(WebCore::RenderThemeIOS::systemColor const):
(WebCore::RenderThemeIOS::checkboxRadioBorderColor):
(WebCore::RenderThemeIOS::checkboxRadioBackgroundColor):
(WebCore::RenderThemeIOS::checkboxRadioIndicatorColor):
- rendering/RenderThemeMac.h:
- rendering/RenderThemeMac.mm:
(WebCore::RenderThemeMac::platformActiveSelectionBackgroundColor const):
(WebCore::RenderThemeMac::platformInactiveSelectionBackgroundColor const):
(WebCore::RenderThemeMac::transformSelectionBackgroundColor const):
(WebCore::RenderThemeMac::supportsSelectionForegroundColors const):
(WebCore::RenderThemeMac::platformActiveSelectionForegroundColor const):
(WebCore::RenderThemeMac::platformInactiveSelectionForegroundColor const):
(WebCore::RenderThemeMac::platformActiveListBoxSelectionBackgroundColor const):
(WebCore::RenderThemeMac::platformInactiveListBoxSelectionBackgroundColor const):
(WebCore::RenderThemeMac::platformActiveListBoxSelectionForegroundColor const):
(WebCore::RenderThemeMac::platformInactiveListBoxSelectionForegroundColor const):
(WebCore::RenderThemeMac::platformFocusRingColor const):
(WebCore::RenderThemeMac::platformTextSearchHighlightColor const):
(WebCore::RenderThemeMac::platformAppHighlightColor const):
(WebCore::RenderThemeMac::platformDefaultButtonTextColor const):
(WebCore::RenderThemeMac::systemColor const):
(WebCore::RenderThemeMac::adjustMenuListStyle const):
- rendering/StyledMarkedText.cpp:
(WebCore::resolveStyleForMarkedText):
- rendering/TextPaintStyle.cpp:
(WebCore::computeTextPaintStyle):
- testing/Internals.cpp:
(WebCore::Internals::setPageMuted):
(WebCore::Internals::pageMediaState):
(WebCore::Internals::systemColorForCSSValue):
- xml/parser/XMLDocumentParserLibxml2.cpp:
Source/WebKit:
- GPUProcess/media/RemoteMediaPlayerProxy.cpp:
- NetworkProcess/NetworkResourceLoader.cpp:
(WebKit::NetworkResourceLoader::enqueueSecurityPolicyViolationEvent):
- NetworkProcess/NetworkResourceLoader.h:
- Scripts/webkit/messages.py:
(headers_for_type):
- Shared/WebPageCreationParameters.cpp:
(WebKit::WebPageCreationParameters::decode):
- Shared/WebPageCreationParameters.h:
- UIProcess/API/APIUIClient.h:
(API::UIClient::mediaCaptureStateDidChange):
- UIProcess/API/C/WKPage.cpp:
(WKPageSetMuted):
(WKPageGetMediaState):
- UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView cameraCaptureState]):
(-[WKWebView microphoneCaptureState]):
(-[WKWebView setMicrophoneCaptureState:completionHandler:]):
(-[WKWebView setCameraCaptureState:completionHandler:]):
(-[WKWebView _stopMediaCapture]):
(-[WKWebView _setPageMuted:]):
- UIProcess/API/glib/WebKitWebView.cpp:
(webkitWebViewConfigureMediaCapture):
(webkit_web_view_set_camera_capture_state):
(webkit_web_view_set_microphone_capture_state):
(webkit_web_view_set_display_capture_state):
- UIProcess/Cocoa/MediaUtilities.h:
- UIProcess/Cocoa/MediaUtilities.mm:
(WebKit::toWKMediaCaptureStateDeprecated):
(WebKit::toWKMediaMutedState):
- UIProcess/Cocoa/UIDelegate.h:
- UIProcess/Cocoa/UIDelegate.mm:
(WebKit::UIDelegate::UIClient::mediaCaptureStateDidChange):
- UIProcess/UserMediaPermissionRequestManagerProxy.cpp:
(WebKit::UserMediaPermissionRequestManagerProxy::~UserMediaPermissionRequestManagerProxy):
(WebKit::UserMediaPermissionRequestManagerProxy::stopCapture):
(WebKit::UserMediaPermissionRequestManagerProxy::captureStateChanged):
- UIProcess/UserMediaPermissionRequestManagerProxy.h:
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::updateActivityState):
(WebKit::WebPageProxy::setMuted):
(WebKit::WebPageProxy::stopMediaCapture):
(WebKit::WebPageProxy::isPlayingMediaDidChange):
(WebKit::WebPageProxy::updatePlayingMediaDidChange):
(WebKit::WebPageProxy::playbackTargetPickerClientStateDidChange):
- UIProcess/WebPageProxy.h:
- UIProcess/WebPageProxy.messages.in:
- UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::pageMutedStateChanged):
- UIProcess/WebProcessProxy.h:
- WebProcess/Plugins/PluginView.cpp:
- WebProcess/Plugins/PluginView.h:
(WebKit::PluginView::mediaState const):
- WebProcess/WebCoreSupport/WebChromeClient.cpp:
(WebKit::WebChromeClient::isPlayingMediaDidChange):
(WebKit::WebChromeClient::playbackTargetPickerClientStateDidChange):
- WebProcess/GPU/media/MediaPlayerPrivateRemote.cpp:
- WebProcess/WebCoreSupport/WebChromeClient.h:
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::enqueueSecurityPolicyViolationEvent):
(WebKit::WebPage::setMuted):
(WebKit::WebPage::stopMediaCapture):
(WebKit::WebPage::isPlayingMediaDidChange):
- WebProcess/WebPage/WebPage.h:
- WebProcess/WebPage/WebPage.messages.in:
Source/WebKitLegacy/mac:
- DOM/DOMDocument.mm:
- WebCoreSupport/WebChromeClient.h:
- WebCoreSupport/WebChromeClient.mm:
(WebChromeClient::playbackTargetPickerClientStateDidChange):
- WebView/WebMediaPlaybackTargetPicker.h:
- WebView/WebMediaPlaybackTargetPicker.mm:
(WebMediaPlaybackTargetPicker::playbackTargetPickerClientStateDidChange):
- WebView/WebView.mm:
(-[WebView _playbackTargetPickerClientStateDidChange:state:]):
- WebView/WebViewInternal.h:
- 10:50 PM Changeset in webkit [284079] by
-
- 17 edits in trunk/Source/WebKit
[GPU Process] Use IPC streaming for concurrent display list processing
https://bugs.webkit.org/show_bug.cgi?id=230860
rdar://83438038
Reviewed by Tim Horton.
This patch rebuilds the concurrent display list architecture in the web and GPU processes on top of the
streamable IPC connections currently used by WebGL in the GPU process. See below for more details.
There should be no change in behavior.
- GPUProcess/GPUConnectionToWebProcess.cpp:
(WebKit::GPUConnectionToWebProcess::createRenderingBackend):
Pass a StreamConnectionBuffer from the web process to the GPU process when constructing
RemoteRenderingBackend; this serves as the pool of shared memory used to store streaming IPC messages sent from
the web process to the GPU process. I've (somewhat arbitrarily) chosen the size of this StreamConnectionBuffer
to match WebGL's connection buffer, though this can be tuned as needed. In a future patch, we may also want to
implement a mechanism for starting out with a small connection buffer, and growing it by successively larger
segments as needed.
- GPUProcess/GPUConnectionToWebProcess.h:
- GPUProcess/GPUConnectionToWebProcess.messages.in:
- GPUProcess/cocoa/GPUProcessCocoa.mm:
(WebKit::GPUProcess::additionalStateForDiagnosticReport const):
Add a FIXME for re-introducing diagnostic state logging when using streamable IPC.
- GPUProcess/graphics/RemoteDisplayListRecorder.cpp:
(WebKit::RemoteDisplayListRecorder::RemoteDisplayListRecorder):
(WebKit::RemoteDisplayListRecorder::startListeningForIPC):
(WebKit::RemoteDisplayListRecorder::stopListeningForIPC):
Add and remove the remote display list as a destination on the RemoteRenderingBackend's stream connection. Note
that the synchronous dispatch to the main thread here is necessary to maintain the ordering of out-of-stream IPC
messages that may have been received on the IPC thread.
- GPUProcess/graphics/RemoteDisplayListRecorder.h:
(WebKit::RemoteDisplayListRecorder::create):
(WebKit::RemoteDisplayListRecorder::handleItem):
- GPUProcess/graphics/RemoteImageBuffer.h:
(WebKit::RemoteImageBuffer::RemoteImageBuffer):
(WebKit::RemoteImageBuffer::apply): Deleted.
Introduce
m_remoteDisplayList
to RemoteImageBuffer, and remove some logic for applying display list items that
is no longer necessary.
- GPUProcess/graphics/RemoteRenderingBackend.cpp:
(WebKit::RemoteRenderingBackend::create):
(WebKit::RemoteRenderingBackend::RemoteRenderingBackend):
Set up the IPC stream connection and stream connection work queue, and immediately send a wakeup semaphore back
to the web process.
(WebKit::RemoteRenderingBackend::startListeningForIPC):
(WebKit::RemoteRenderingBackend::~RemoteRenderingBackend):
(WebKit::RemoteRenderingBackend::stopListeningForIPC):
Add a mechanism to immediately tell all
m_remoteDisplayLists
to stop listening for streaming IPC messages when
the owning RemoteRenderingBackend stops listening.
(WebKit::RemoteRenderingBackend::dispatch):
(WebKit::RemoteRenderingBackend::didCreateImageBufferBackend):
(WebKit::RemoteRenderingBackend::createImageBufferWithQualifiedIdentifier):
(WebKit::RemoteRenderingBackend::cacheNativeImageWithQualifiedIdentifier):
(WebKit::RemoteRenderingBackend::cacheFontWithQualifiedIdentifier):
(WebKit::RemoteRenderingBackend::finalizeRenderingUpdate):
(WebKit::RemoteRenderingBackend::applyMediaItem): Deleted.
(WebKit::RemoteRenderingBackend::ReplayerDelegate::ReplayerDelegate): Deleted.
(WebKit::RemoteRenderingBackend::ReplayerDelegate::apply): Deleted.
(WebKit::RemoteRenderingBackend::ReplayerDelegate::didCreateMaskImageBuffer): Deleted.
(WebKit::RemoteRenderingBackend::ReplayerDelegate::didResetMaskImageBuffer): Deleted.
(WebKit::RemoteRenderingBackend::ReplayerDelegate::recordResourceUse): Deleted.
(WebKit::RemoteRenderingBackend::submit): Deleted.
(WebKit::RemoteRenderingBackend::nextDestinationImageBufferAfterApplyingDisplayLists): Deleted.
(WebKit::RemoteRenderingBackend::wakeUpAndApplyDisplayList): Deleted.
(WebKit::RemoteRenderingBackend::wakeUpAndApplyDisplayListWithQualifiedIdentifier): Deleted.
(WebKit::RemoteRenderingBackend::setNextItemBufferToRead): Deleted.
(WebKit::RemoteRenderingBackend::didCreateSharedDisplayListHandle): Deleted.
(WebKit::RemoteRenderingBackend::didCreateSharedDisplayListHandleWithQualifiedIdentifier): Deleted.
(WebKit::RemoteRenderingBackend::resumeFromPendingWakeupInformation): Deleted.
(WebKit::RemoteRenderingBackend::didCreateMaskImageBuffer): Deleted.
(WebKit::RemoteRenderingBackend::didResetMaskImageBuffer): Deleted.
(WebKit::RemoteRenderingBackend::decodeItem): Deleted.
(WebKit::RemoteRenderingBackend::lastKnownState const): Deleted.
(WebKit::RemoteRenderingBackend::updateLastKnownState): Deleted.
Remove logic for coordinating wakeups and shared display list item buffers in the GPU process.
- GPUProcess/graphics/RemoteRenderingBackend.h:
Subclass IPC::StreamMessageReceiver. In this new concurrent display list model, RemoteRenderingBackend serves
as a streaming IPC destination alongside each RemoteDisplayListRecorder in the GPU process; all messages
previously sent to the RemoteRenderingBackend as normal IPC are now sent through the connection stream (though
some must be marked as non-stream-encodable).
(WebKit::RemoteRenderingBackend::streamConnection const):
(WebKit::RemoteRenderingBackend::decodeAndCreate): Deleted.
(): Deleted.
(WebKit::RemoteRenderingBackend::PendingWakeupInformation::shouldPerformWakeup const): Deleted.
Delete more logic related to concurrent display lists.
- GPUProcess/graphics/RemoteRenderingBackend.messages.in:
Make RemoteRenderingBackend a stream message receiver.
- GPUProcess/graphics/RemoteRenderingBackendCreationParameters.h:
(WebKit::RemoteRenderingBackendCreationParameters::encode const):
(WebKit::RemoteRenderingBackendCreationParameters::decode):
Remove the IPC::Semaphore here, that was previously used for quick GPU process wakeups. This semaphore is no
longer needed because we always use IPC::Semaphore for waking the GPU process when using streaming IPC.
- GPUProcess/graphics/RemoteResourceCache.h:
- WebProcess/GPU/graphics/RemoteImageBufferProxy.h:
Make the RemoteImageBufferProxy template class directly subclass ConcreteImageBuffer instead of
DisplayList::ImageBuffer; additionally, introduce aRemoteDisplayListRecorderProxy m_remoteDisplayList
here,
which we use as our drawing graphics context.
(WebKit::RemoteImageBufferProxy::~RemoteImageBufferProxy):
(WebKit::RemoteImageBufferProxy::RemoteImageBufferProxy):
(WebKit::RemoteImageBufferProxy::recordNativeImageUse):
(WebKit::RemoteImageBufferProxy::recordFontUse):
(WebKit::RemoteImageBufferProxy::recordImageBufferUse):
(WebKit::RemoteImageBufferProxy::clearDisplayList): Deleted.
- WebProcess/GPU/graphics/RemoteRenderingBackendProxy.cpp:
(WebKit::RemoteRenderingBackendProxy::RemoteRenderingBackendProxy):
(WebKit::RemoteRenderingBackendProxy::ensureGPUProcessConnection):
(WebKit::RemoteRenderingBackendProxy::gpuProcessConnectionDidClose):
(WebKit::RemoteRenderingBackendProxy::createRemoteImageBuffer):
(WebKit::RemoteRenderingBackendProxy::sharedMemoryForGetPixelBuffer):
(WebKit::RemoteRenderingBackendProxy::destroyGetPixelBufferSharedMemory):
(WebKit::RemoteRenderingBackendProxy::getDataURLForImageBuffer):
(WebKit::RemoteRenderingBackendProxy::getDataForImageBuffer):
(WebKit::RemoteRenderingBackendProxy::getShareableBitmap):
Send all IPC messages to RemoteRenderingBackend in the GPU process through the stream connection, instead of
using standard IPC messages. This guarantees ordering when receiving cached resources.
(WebKit::RemoteRenderingBackendProxy::cacheNativeImage):
(WebKit::RemoteRenderingBackendProxy::cacheFont):
(WebKit::RemoteRenderingBackendProxy::deleteAllFonts):
(WebKit::RemoteRenderingBackendProxy::releaseRemoteResource):
(WebKit::RemoteRenderingBackendProxy::finalizeRenderingUpdate):
(WebKit::RemoteRenderingBackendProxy::renderingBackendIdentifier const):
(WebKit::RemoteRenderingBackendProxy::ensureBackendCreated):
(WebKit::RemoteRenderingBackendProxy::streamConnection):
Add a mechanism to ensure that we have the IPC stream wakeup semaphore before grabbing the stream connection.
(WebKit::RemoteRenderingBackendProxy::didCreateWakeUpSemaphoreForDisplayListStream):
(WebKit::RemoteRenderingBackendProxy::willAppendItem): Deleted.
(WebKit::RemoteRenderingBackendProxy::sendWakeupMessage): Deleted.
(WebKit::RemoteRenderingBackendProxy::sendDeferredWakeupMessageIfNeeded): Deleted.
(WebKit::RemoteRenderingBackendProxy::didAppendData): Deleted.
(WebKit::RemoteRenderingBackendProxy::mostRecentlyUsedDisplayListHandle): Deleted.
(WebKit::RemoteRenderingBackendProxy::findReusableDisplayListHandle): Deleted.
(WebKit::RemoteRenderingBackendProxy::createItemBuffer): Deleted.
Remove all logic previously used to coordinate concurrent display list processing on the remote rendering
backend.
- WebProcess/GPU/graphics/RemoteRenderingBackendProxy.h:
(WebKit::RemoteRenderingBackendProxy::remoteResourceCacheProxy):
(WebKit::RemoteRenderingBackendProxy::sendToStream):
(WebKit::RemoteRenderingBackendProxy::sendSyncToStream):
Add helper methods to send IPC messages to the remote rendering backend through the connection stream.
- WebProcess/GPU/graphics/RemoteRenderingBackendProxy.messages.in:
- WebProcess/WebPage/IPCTestingAPI.cpp:
(WebKit::IPCTestingAPI::encodeRemoteRenderingBackendCreationParameters):
- 10:44 PM Changeset in webkit [284078] by
-
- 34 edits in trunk/Source
Non-unified build fixes, October 2021 edition.
https://bugs.webkit.org/show_bug.cgi?id=231654
Reviewed by Don Olmstead.
Source/JavaScriptCore:
- runtime/ControlFlowProfiler.h:
Source/WebCore:
- accessibility/AccessibilityMenuListOption.cpp:
- bindings/js/JSDOMAsyncIterator.h:
(WebCore::JSIterator>::next):
(WebCore::JSIterator>::runNextSteps):
- css/SelectorFilter.cpp:
- css/typedom/CSSUnparsedValue.h:
- dom/Attr.cpp:
- dom/CustomElementReactionQueue.cpp:
- dom/DocumentSharedObjectPool.cpp:
- dom/ScriptRunner.cpp:
- editing/InsertListCommand.cpp:
- editing/SpellingCorrectionCommand.h:
- html/HTMLFrameSetElement.h:
- html/HTMLSourceElement.h:
- html/HTMLTemplateElement.cpp:
- html/MediaFragmentURIParser.cpp:
- html/SubmitInputType.cpp:
- page/IntersectionObserver.h:
- page/scrolling/ScrollingCoordinatorTypes.h:
- rendering/RenderBoxModelObject.cpp:
- rendering/svg/RenderSVGInline.cpp:
- rendering/svg/RenderSVGResourceContainer.cpp:
- rendering/svg/SVGRenderingContext.cpp:
- rendering/svg/SVGResources.cpp:
- style/MatchedDeclarationsCache.cpp:
- style/RuleSetBuilder.cpp:
- style/StyleInvalidator.h:
- style/StyleScopeRuleSets.cpp:
- workers/WorkerGlobalScope.cpp:
Source/WebKit:
- NetworkProcess/PrivateClickMeasurement/PrivateClickMeasurementConnection.cpp:
- WebProcess/GPU/graphics/RemoteDisplayListRecorderProxy.h:
- WebProcess/GPU/media/MediaPlayerPrivateRemote.cpp:
- 6:55 PM Changeset in webkit [284077] by
-
- 5 edits2 adds in trunk
Add webpushd executable
https://bugs.webkit.org/show_bug.cgi?id=231650
Patch by Alex Christensen <achristensen@webkit.org> on 2021-10-12
Reviewed by Brady Eidson.
.:
- WebKit.xcworkspace/xcshareddata/xcschemes/All Source.xcscheme:
Source/WebKit:
- Configurations/webpushd.xcconfig: Added.
- Scripts/process-entitlements.sh:
- Shared/EntryPointUtilities/Cocoa/Daemon/webpushd.c: Added.
(main):
- WebKit.xcodeproj/project.pbxproj:
- 6:52 PM Changeset in webkit [284076] by
-
- 4 edits in trunk/Source
Move some staged VisionKitCore SPI into VisionKitCoreSPI.h
https://bugs.webkit.org/show_bug.cgi?id=231648
Reviewed by Tim Horton.
Source/WebCore/PAL:
See WebKit/ChangeLog for more details.
- pal/spi/cocoa/VisionKitCoreSPI.h:
Source/WebKit:
Move these interface declarations out of this implementation file, and into PAL instead, but only if we're not
using the Apple internal SDK. Additionally, redefine VKWKDataDetectorInfo as a class instead of a protocol; this
workaround was only added to ensure source and binary compatibility with older versions of the internal macOS
Monterey/iOS 15 SDK.
No change in behavior.
- Platform/cocoa/TextRecognitionUtilities.mm:
(WebKit::makeTextRecognitionResult):
- 6:40 PM Changeset in webkit [284075] by
-
- 205 edits in trunk/Source
Use std::variant instead of WTF::Variant
https://bugs.webkit.org/show_bug.cgi?id=231629
Patch by Alex Christensen <achristensen@webkit.org> on 2021-10-12
Reviewed by Chris Dumez.
Source/JavaScriptCore:
- bytecode/StructureStubClearingWatchpoint.h:
- dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compileCallDOM):
- jit/AssemblyHelpers.cpp:
(JSC::AssemblyHelpers::branchIfValue):
- jit/AssemblyHelpers.h:
(JSC::AssemblyHelpers::branchIfTruthy):
(JSC::AssemblyHelpers::branchIfFalsey):
- jit/SnippetReg.h:
- jsc.cpp:
- parser/Lexer.h:
- parser/VariableEnvironment.h:
- runtime/BytecodeCacheError.h:
- runtime/CachePayload.cpp:
(JSC::CachePayload::CachePayload):
- runtime/CachePayload.h:
- runtime/CacheUpdate.h:
- runtime/ISO8601.cpp:
(JSC::ISO8601::parseTimeZoneBracketedAnnotation):
- runtime/ISO8601.h:
- wasm/WasmLLIntGenerator.cpp:
Source/WebCore:
- Modules/async-clipboard/ClipboardItemBindingsDataSource.h:
- Modules/cache/DOMCacheEngine.h:
- Modules/fetch/FetchBody.h:
- Modules/fetch/FetchBodyOwner.h:
- Modules/fetch/FetchHeaders.h:
- Modules/fetch/FetchRequest.h:
- Modules/fetch/FetchResponse.h:
- Modules/indexeddb/IDBCursor.h:
- Modules/indexeddb/IDBDatabase.h:
- Modules/indexeddb/IDBKey.h:
- Modules/indexeddb/IDBKeyData.h:
- Modules/indexeddb/IDBKeyPath.h:
- Modules/indexeddb/IDBRequest.h:
- Modules/mediacontrols/MediaControlsHost.cpp:
(WebCore::MediaControlsHost::showMediaControlsContextMenu):
- Modules/mediacontrols/MediaControlsHost.h:
- Modules/mediastream/MediaDevices.cpp:
(WebCore::createMediaConstraints):
- Modules/mediastream/MediaDevices.h:
- Modules/mediastream/MediaTrackConstraints.h:
- Modules/mediastream/RTCIceServer.h:
- Modules/mediastream/RTCPeerConnection.h:
- Modules/mediastream/RTCRtpTransform.h:
- Modules/mediastream/libwebrtc/LibWebRTCDataChannelHandler.h:
- Modules/mediastream/libwebrtc/LibWebRTCRtpSenderBackend.h:
- Modules/paymentrequest/PaymentMethodChangeEvent.h:
- Modules/paymentrequest/PaymentRequest.h:
- Modules/push-api/PushEventInit.h:
- Modules/push-api/PushSubscriptionOptionsInit.h:
- Modules/speech/SpeechRecognitionUpdate.h:
- Modules/webaudio/AudioContextOptions.h:
- Modules/webaudio/AudioNode.h:
- Modules/webxr/WebXRWebGLLayer.h:
- accessibility/AXObjectCache.h:
- accessibility/AccessibilityObjectInterface.h:
- accessibility/isolatedtree/AXIsolatedTree.h:
- animation/EffectTiming.h:
- animation/KeyframeEffect.cpp:
(WebCore::KeyframeEffect::create):
- animation/KeyframeEffect.h:
- animation/OptionalEffectTiming.h:
- bindings/IDLTypes.h:
- bindings/js/BufferSource.h:
- bindings/js/JSValueInWrappedObject.h:
- crypto/CryptoAlgorithm.h:
- crypto/CryptoKey.h:
- crypto/SubtleCrypto.h:
- crypto/parameters/CryptoAlgorithmEcdsaParams.h:
- crypto/parameters/CryptoAlgorithmHkdfParams.h:
- crypto/parameters/CryptoAlgorithmHmacKeyParams.h:
- crypto/parameters/CryptoAlgorithmPbkdf2Params.h:
- crypto/parameters/CryptoAlgorithmRsaHashedImportParams.h:
- crypto/parameters/CryptoAlgorithmRsaHashedKeyGenParams.h:
- css/CSSCustomPropertyValue.h:
- css/DOMMatrix.cpp:
(WebCore::DOMMatrix::create):
- css/DOMMatrix.h:
- css/DOMMatrixReadOnly.cpp:
(WebCore::DOMMatrixReadOnly::create):
- css/DOMMatrixReadOnly.h:
- css/FontFace.h:
- css/StyleRule.h:
- css/parser/CSSPropertyParserHelpers.h:
- css/typedom/CSSNumericValue.h:
- css/typedom/CSSUnparsedValue.h:
- dom/Document.h:
- dom/DocumentMarker.h:
- dom/Element.cpp:
(WebCore::Element::scrollIntoView):
(WebCore::Element::animate):
- dom/Element.h:
- dom/EventTarget.h:
- dom/MessageEvent.h:
- dom/Node.h:
- editing/AlternativeTextController.h:
- editing/TextCheckingHelper.cpp:
(WebCore::TextCheckingHelper::findFirstMisspelledWordOrUngrammaticalPhrase const):
- editing/TextCheckingHelper.h:
- editing/TextManipulationController.h:
- fileapi/Blob.h:
- fileapi/FileReader.cpp:
(WebCore::FileReader::result const):
- fileapi/FileReader.h:
- fileapi/NetworkSendQueue.h:
- html/DOMFormData.h:
- html/HTMLAllCollection.cpp:
(WebCore::HTMLAllCollection::namedOrIndexedItemOrItems const):
(WebCore::HTMLAllCollection::namedItemOrItems const):
- html/HTMLAllCollection.h:
- html/HTMLDocument.cpp:
(WebCore::HTMLDocument::namedItem):
- html/HTMLDocument.h:
- html/HTMLFormControlsCollection.cpp:
(WebCore::HTMLFormControlsCollection::namedItemOrItems const):
- html/HTMLFormControlsCollection.h:
- html/HTMLFormElement.cpp:
(WebCore::HTMLFormElement::namedItem):
- html/HTMLFormElement.h:
- html/HTMLMediaElement.h:
- html/HTMLOptionsCollection.h:
- html/HTMLSelectElement.h:
- html/ImageBitmap.h:
- html/OffscreenCanvas.h:
- html/URLSearchParams.cpp:
(WebCore::URLSearchParams::create):
- html/URLSearchParams.h:
- html/canvas/CanvasRenderingContext2DBase.h:
- html/canvas/CanvasStyle.h:
- html/canvas/WebGL2RenderingContext.h:
- html/canvas/WebGLAny.h:
- html/canvas/WebGLMultiDraw.h:
- html/canvas/WebGLRenderingContextBase.h:
- html/track/TrackEvent.h:
- html/track/VTTCue.h:
- inspector/InspectorCanvas.h:
- inspector/InspectorShaderProgram.h:
- layout/integration/InlineIteratorBox.h:
- layout/integration/InlineIteratorLine.h:
- page/DiagnosticLoggingClient.h:
- page/IntersectionObserver.h:
- page/Page.h:
- page/Performance.h:
- page/PerformanceMeasureOptions.h:
- page/PerformanceUserTiming.cpp:
(WebCore::PerformanceUserTiming::convertMarkToTimestamp const):
- page/PerformanceUserTiming.h:
- page/scrolling/ScrollingCoordinator.h:
- platform/PasteboardCustomData.cpp:
(WebCore::copyPlatformData):
(WebCore::PasteboardCustomData::forEachPlatformStringOrBuffer const):
- platform/PasteboardCustomData.h:
- platform/SharedBuffer.h:
- platform/audio/AudioStreamDescription.h:
- platform/encryptedmedia/CDMProxy.h:
- platform/graphics/DecodingOptions.h:
- platform/graphics/FontCascadeDescription.h:
- platform/graphics/Gradient.h:
- platform/graphics/InlinePathData.h:
- platform/graphics/cocoa/SourceBufferParser.h:
- platform/graphics/cocoa/SourceBufferParserWebM.h:
- platform/graphics/displaylists/DisplayListResourceHeap.h:
- platform/mediastream/mac/DisplayCaptureSourceMac.h:
- platform/mock/MockMediaDevice.h:
- platform/network/DNS.h:
- platform/network/FormData.h:
- platform/sql/SQLValue.h:
- platform/xr/PlatformXR.h:
- rendering/RenderBlockFlow.h:
- testing/TypeConversions.h:
- workers/SharedWorker.cpp:
(WebCore::SharedWorker::SharedWorker):
- workers/SharedWorker.h:
- workers/service/ExtendableMessageEvent.h:
- workers/service/ServiceWorkerTypes.h:
- xml/XMLHttpRequest.h:
Source/WebKit:
- NetworkProcess/NetworkLoadChecker.h:
- NetworkProcess/cache/NetworkCacheData.h:
- Platform/IPC/ArgumentCoders.h:
(IPC::VariantCoder::encode):
(IPC::VariantCoder::decode):
- Platform/IPC/Attachment.h:
- Platform/IPC/MessageReceiveQueueMap.h:
- Shared/SessionState.h:
- Shared/WebCoreArgumentCoders.h:
- Shared/WebPreferencesStore.h:
- Shared/mac/MediaFormatReader/MediaSampleCursor.h:
- UIProcess/API/APIWebAuthenticationPanel.h:
- UIProcess/API/C/WKMockMediaDevice.cpp:
(WKAddMockMediaDevice):
- UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _showSafeBrowsingWarning:completionHandler:]):
(-[WKWebView _showSafeBrowsingWarningWithURL:title:warning:detailsWithLinks:completionHandler:]):
- UIProcess/API/Cocoa/WKWebViewInternal.h:
- UIProcess/API/Cocoa/_WKWebAuthenticationPanel.mm:
(-[_WKWebAuthenticationPanel makeCredentialWithChallenge:origin:options:completionHandler:]):
(-[_WKWebAuthenticationPanel getAssertionWithChallenge:origin:options:completionHandler:]):
- UIProcess/Automation/SimulatedInputDispatcher.h:
- UIProcess/Automation/WebAutomationSession.cpp:
(WebKit::WebAutomationSession::simulateKeyboardInteraction):
- UIProcess/Automation/WebAutomationSession.h:
- UIProcess/Automation/ios/WebAutomationSessionIOS.mm:
(WebKit::WebAutomationSession::platformSimulateKeyboardInteraction):
- UIProcess/Automation/mac/WebAutomationSessionMac.mm:
(WebKit::WebAutomationSession::platformSimulateKeyboardInteraction):
- UIProcess/Cocoa/SOAuthorization/SubFrameSOAuthorizationSession.h:
- UIProcess/Cocoa/WKSafeBrowsingWarning.h:
- UIProcess/Cocoa/WKSafeBrowsingWarning.mm:
(-[WKSafeBrowsingWarning initWithFrame:safeBrowsingWarning:completionHandler:]):
- UIProcess/Cocoa/WebViewImpl.h:
- UIProcess/Cocoa/WebViewImpl.mm:
(WebKit::WebViewImpl::showSafeBrowsingWarning):
- UIProcess/PageClient.h:
(WebKit::PageClient::showSafeBrowsingWarning):
- UIProcess/ProcessThrottler.h:
- UIProcess/WebAuthentication/Authenticator.h:
- UIProcess/WebAuthentication/AuthenticatorManager.cpp:
(WebKit::WebCore::getRpId):
(WebKit::WebCore::getUserName):
- UIProcess/WebAuthentication/AuthenticatorManager.h:
- UIProcess/WebAuthentication/WebAuthenticationRequestData.cpp:
(WebKit::getClientDataType):
(WebKit::getUserVerificationRequirement):
- UIProcess/WebAuthentication/WebAuthenticationRequestData.h:
- UIProcess/WebAuthentication/WebAuthenticatorCoordinatorProxy.cpp:
(WebKit::WebAuthenticatorCoordinatorProxy::handleRequest):
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::receivedPolicyDecision):
- UIProcess/WebPageProxy.h:
- UIProcess/ios/PageClientImplIOS.h:
- UIProcess/ios/PageClientImplIOS.mm:
(WebKit::PageClientImpl::showSafeBrowsingWarning):
- UIProcess/mac/PageClientImplMac.h:
- UIProcess/mac/PageClientImplMac.mm:
(WebKit::PageClientImpl::showSafeBrowsingWarning):
- WebAuthnProcess/WebAuthnConnectionToWebProcess.cpp:
(WebKit::WebAuthnConnectionToWebProcess::handleRequest):
- WebProcess/GPU/graphics/ImageBufferBackendHandle.h:
- WebProcess/Storage/WebServiceWorkerFetchTaskClient.h:
- WebProcess/WebPage/RemoteLayerTree/PlatformCAAnimationRemote.h:
Source/WebKitLegacy/mac:
- DOM/DOMHTMLSelectElement.mm:
(-[DOMHTMLSelectElement add:before:]):
Source/WTF:
- wtf/LikelyDenseUnsignedIntegerSet.h:
- wtf/SmallSet.h:
- wtf/text/TextBreakIterator.cpp:
(WTF::mapModeToBackingIterator):
- wtf/text/TextBreakIterator.h:
- wtf/text/cocoa/TextBreakIteratorInternalICUCocoa.cpp:
(WTF::mapModeToBackingIterator):
- 6:23 PM Changeset in webkit [284074] by
-
- 6 edits in trunk/Source/ThirdParty
Invoke ThirdParty build scripts with python3 explicitly
https://bugs.webkit.org/show_bug.cgi?id=231605
Reviewed by Dean Jackson.
Source/ThirdParty/ANGLE:
- ANGLE.xcodeproj/project.pbxproj:
- adjust-angle-include-paths.py:
- src/libANGLE/renderer/metal/shaders/create_mtl_internal_shaders.py:
Source/ThirdParty/libwebrtc:
- Source/third_party/googletest/googletest/xcode/gtest.xcodeproj/project.pbxproj:
- 6:10 PM Changeset in webkit [284073] by
-
- 2 edits in trunk/Source/WebCore
[LFC][IFC] Inline box boundaries should not prevent trailing whitespace collapsing
https://bugs.webkit.org/show_bug.cgi?id=231614
Reviewed by Antti Koivisto.
This is currently papered over by webkit.org/b/231581 (not testable).
- layout/formattingContexts/inline/InlineContentBreaker.cpp:
(WebCore::Layout::InlineContentBreaker::ContinuousContent::append):
- 6:09 PM Changeset in webkit [284072] by
-
- 3 edits in trunk/Tools
[AppleSilicon] Support native simulator testing
https://bugs.webkit.org/show_bug.cgi?id=231639
<rdar://problem/84170151>
Reviewed by Tim Horton.
- Scripts/webkitpy/port/ios_simulator.py:
(IOSSimulatorPort): Add arm64 as possible architecture.
(IOSSimulatorPort.architecture): Return the native system's architecture.
- Scripts/webkitpy/port/watch_simulator.py:
(WatchSimulatorPort): Add arm64_32.
(WatchSimulatorPort.architecture): Return the native system's 32 bit architecture.
- 6:06 PM Changeset in webkit [284071] by
-
- 14 edits1 add in trunk
Adopt platform UI for WebAuthn
https://bugs.webkit.org/show_bug.cgi?id=230906
<rdar://74659556>
Patch by Garrett Davidson <garrett_davidson@apple.com> on 2021-10-12
Reviewed by David Kilzer.
Source/WebKit:
Switch to using the platform's UI for WebAuthn transactions, where available,
which takes precedence over the WebAuthn process.
Covered by existing tests.
- Platform/spi/Cocoa/AuthenticationServicesCoreSPI.h:
When possible, switch to importing the umbrella header directly instead of
redeclaring the entire interface.
Also, fix an existing bug caused by the redeclaration, where the
ASCSecurityKeyPublicKeyCredentialKind enum was renamed.
- SourcesCocoa.txt:
Build the new file.
- UIProcess/API/Cocoa/_WKWebAuthenticationPanel.mm:
(-[_WKWebAuthenticationPanel makeCredentialWithChallenge:origin:options:completionHandler:]):
Return the full error to the delegate.
- UIProcess/WebAuthentication/Cocoa/AuthenticationServicesCoreSoftLink.h:
- UIProcess/WebAuthentication/Cocoa/AuthenticationServicesCoreSoftLink.mm:
Add all of the new required classes for soft linking, and sort the list.
- UIProcess/WebAuthentication/Cocoa/WebAuthenticatorCoordinatorProxy.mm: Added.
(WebKit::toArrayBuffer):
(WebKit::toNSData):
(WebKit::toNSString):
(WebKit::toExceptionCode):
(WebKit::toASCDescriptor):
Helper methods for converting between WK and ASC types.
(WebKit::configureRegistrationRequestContext):
(WebKit::configurationAssertionRequestContext):
Create and configure an ASCCredentialRequestContext from the provided options.
(WebKit::WebAuthenticatorCoordinatorProxy::makeCredential):
(WebKit::WebAuthenticatorCoordinatorProxy::getAssertion):
Configure and perform the request.
(WebKit::WebAuthenticatorCoordinatorProxy::performRequest):
- Create a proxy to talk to AuthenticationServicesAgent.
- Ask the proxy if we're allowed to perform the request.
- If no, return an error.
- If yes, create presenter and present over the web page's window.
- When the request if finished, check the kind of credential we got, and return
the relevant AuthenticatorResponseData/AuthenticatorAttachment.
- If the request was canceled or failed,
credential
will be nil anderror
will
be non-nil. In most cases, the error will be WKErrorDomain, which we can convert
directly to ExceptionData. The one exception is the user canceled the request in
the platform UI, so return the appropriate ExceptionData in that case. The final
"Operation failed." case covers anything else unexpected happening.
(WebKit::WebAuthenticatorCoordinatorProxy::isUserVerifyingPlatformAuthenticatorAvailable):
If +shouldUseAlternateCredentialStore is true, this is always true. Otherwise,
fall back to the old behavior.
- UIProcess/WebAuthentication/Cocoa/WKASCAuthorizationPresenterDelegate.mm:
(-[WKASCAuthorizationPresenterDelegate authorizationPresenter:credentialRequestedForLoginChoice:authenticatedContext:completionHandler:]):
Use the new name of the enum, unconditionally.
- UIProcess/WebAuthentication/WebAuthenticatorCoordinatorProxy.cpp:
Wrap a few methods in the new flag. When the flag is on, these methods will exist
in WebAuthenticatorCoordinatorProxy.mm.
- UIProcess/WebAuthentication/WebAuthenticatorCoordinatorProxy.h:
New ivar and method for the platform presenter.
Make the superclass public so we can use the WeakPtr inheritance.
- UIProcess/ios/WKHoverPlatterParameters.mm:
Add some missing imports since this file got pushed off the end of
UnifiedSource47-mm.mm.
- WebKit.xcodeproj/project.pbxproj:
Add the new file.
- WebProcess/WebAuthentication/WebAuthenticatorCoordinator.cpp:
When platform UI is available, prefer it over the WebAuthn process.
(WebKit::WebAuthenticatorCoordinator::makeCredential):
(WebKit::WebAuthenticatorCoordinator::getAssertion):
(WebKit::WebAuthenticatorCoordinator::isUserVerifyingPlatformAuthenticatorAvailable):
Tools:
Update the timeout test to expect NotAllowedError, which is the expected error
code when a timeout occurs, per Step 21 of the "Create a New Credential"
algorithm.
- TestWebKitAPI/Tests/WebKitCocoa/_WKWebAuthenticationPanel.mm:
(TestWebKitAPI::TEST):
- 5:59 PM Changeset in webkit [284070] by
-
- 3 edits in trunk/Source/WebCore
Implement alternate style for textarea
https://bugs.webkit.org/show_bug.cgi?id=231560
Reviewed by Devin Rousso.
- rendering/RenderThemeIOS.h:
- rendering/RenderThemeIOS.mm:
(WebCore::RenderThemeIOS::paintTextFieldDecorations):
(WebCore::RenderThemeIOS::adjustTextAreaStyle const):
Do the same as r283962, but for <textarea>; give it an inner shadow and
remove its border when using the alternate appearance.
- 5:43 PM Changeset in webkit [284069] by
-
- 2 edits in branches/safari-613.1.5-branch/Source/WebKit
Cherry-pick r283977. rdar://problem/84174728
[GPUP] Add missing entitlement
https://bugs.webkit.org/show_bug.cgi?id=231499
<rdar://83847918>
Reviewed by Brent Fulgham.
Add the entitlement "com.apple.private.webkit.use-xpc-endpoint" in the GPU process,
which will enable XPC communication with other WebKit processes.
- Scripts/process-entitlements.sh:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@283977 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 5:33 PM Changeset in webkit [284068] by
-
- 2 edits3 adds in trunk/LayoutTests
[GTK] Update test expectations for CSS web platform tests.
https://bugs.webkit.org/show_bug.cgi?id=231632
Unreviewed test gardening.
Patch by Arcady Goldmints-Orlov <Arcady Goldmints-Orlov> on 2021-10-12
- platform/gtk/TestExpectations:
- platform/gtk/fast/css/empty-inline-line-height-first-line-expected.txt: Added.
- platform/gtk/fast/css/empty-inline-line-height-first-line-quirksmode-expected.txt: Added.
- platform/gtk/fast/parser/entities-in-xhtml-expected.txt: Added.
- 5:31 PM Changeset in webkit [284067] by
-
- 47 edits in trunk
CSP: Implement unsafe-hashes
https://bugs.webkit.org/show_bug.cgi?id=231313
<rdar://problem/83724376>
Reviewed by Brent Fulgham.
LayoutTests/imported/w3c:
Some unsafe-hashes tests still "fail" because we haven't implemented
some directives like script-src-elem/script-src-attr but will
still test correct behavior for unsafe-hashes because the reports are
received correctly. Tracking implementation of missing directives
in rdar://83332874.
- web-platform-tests/content-security-policy/navigation/to-javascript-parent-initiated-parent-csp-expected.txt:
- web-platform-tests/content-security-policy/securitypolicyviolation/blockeduri-inline-expected.txt:
Tests that have changed failures now that the blockedURI target is
correct.
- web-platform-tests/content-security-policy/unsafe-hashes/javascript_src_allowed-href-expected.txt:
- web-platform-tests/content-security-policy/unsafe-hashes/javascript_src_allowed-href_blank-expected.txt:
- web-platform-tests/content-security-policy/unsafe-hashes/javascript_src_allowed-window_location-expected.txt:
- web-platform-tests/content-security-policy/unsafe-hashes/javascript_src_allowed-window_open-expected.txt:
- web-platform-tests/content-security-policy/unsafe-hashes/script_event_handlers_allowed-expected.txt:
- web-platform-tests/content-security-policy/unsafe-hashes/style_attribute_allowed-expected.txt:
- web-platform-tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/string-compilation-nonce-classic-expected.txt:
- web-platform-tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/string-compilation-nonce-module-expected.txt:
Source/WebCore:
No new tests. Existing imported web platform tests cover behavior.
unsafe-hashes allows specific event handlers and style attributes
while blocking all other inline script and style. To implement it,
we pass in the code source for event handlers when we check CSP for
inline style, event handlers and javascript: navigation targets.
Then we compare the hash of the source with the specified hashes in
the CSP policy.
- bindings/js/JSEventListener.cpp:
(WebCore::JSEventListener::handleEvent):
- bindings/js/JSEventListener.h:
(WebCore::JSEventListener::code const):
- bindings/js/JSLazyEventListener.cpp:
(WebCore::JSLazyEventListener::initializeJSFunction const):
- bindings/js/JSLazyEventListener.h:
- bindings/js/ScriptController.cpp:
(WebCore::ScriptController::executeJavaScriptURL):
- dom/InlineStyleSheetOwner.cpp:
(WebCore::InlineStyleSheetOwner::createSheet):
- dom/StyledElement.cpp:
(WebCore::StyledElement::styleAttributeChanged):
There are two types of inline style, either a style tag or the style
attribute. Style attributes are covered by unsafe-hashes and come from
StyledElement::styleAttributeChanged, so we specify that unsafe-hashes
should be checked.
- loader/FrameLoader.cpp:
(WebCore::createWindow):
- page/csp/ContentSecurityPolicy.cpp:
This patch updates blockedURL to be a string when reporting violations
now that we need to report "inline" as the blocked URI in many cases.
(WebCore::ContentSecurityPolicy::allowRunningOrDisplayingInsecureContent):
(WebCore::ContentSecurityPolicy::checkHashAndReportViolation const):
Refactor to separate out code to search for known hashes now that it
is used in multiple places.
(WebCore::ContentSecurityPolicy::allowJavaScriptURLs const):
(WebCore::ContentSecurityPolicy::allowInlineEventHandlers const):
(WebCore::ContentSecurityPolicy::allowNonParserInsertedScripts const):
(WebCore::ContentSecurityPolicy::allowInlineScript const):
(WebCore::ContentSecurityPolicy::allowInlineStyle const):
(WebCore::ContentSecurityPolicy::allowEval const):
(WebCore::ContentSecurityPolicy::allowFrameAncestors const):
(WebCore::ContentSecurityPolicy::allowPluginType const):
(WebCore::ContentSecurityPolicy::allowObjectFromSource const):
(WebCore::ContentSecurityPolicy::allowChildFrameFromSource const):
(WebCore::ContentSecurityPolicy::allowResourceFromSource const):
(WebCore::ContentSecurityPolicy::allowConnectToSource const):
(WebCore::ContentSecurityPolicy::allowBaseURI const):
(WebCore::ContentSecurityPolicy::reportViolation const):
- page/csp/ContentSecurityPolicy.h:
- page/csp/ContentSecurityPolicyDirectiveList.cpp:
(WebCore::checkUnsafeHashes):
(WebCore::ContentSecurityPolicyDirectiveList::violatedDirectiveForUnsafeHashScript const):
(WebCore::ContentSecurityPolicyDirectiveList::violatedDirectiveForUnsafeHashStyle const):
- page/csp/ContentSecurityPolicyDirectiveList.h:
- page/csp/ContentSecurityPolicySourceList.cpp:
(WebCore::ContentSecurityPolicySourceList::parseSource):
- page/csp/ContentSecurityPolicySourceList.h:
(WebCore::ContentSecurityPolicySourceList::allowUnsafeHashes const):
- page/csp/ContentSecurityPolicySourceListDirective.cpp:
(WebCore::ContentSecurityPolicySourceListDirective::allowUnsafeHashes const):
- page/csp/ContentSecurityPolicySourceListDirective.h:
LayoutTests:
Mostly updating blockedURI to be "inline" in the case of inline script
or style violations to match the CSP3 spec.
javascript_src_allowed-href_blank.html times out because it can't find
opener.t1. This is unrelated to unsafe-hashes and seems to be another
bug in our DOM code.
- http/tests/security/contentSecurityPolicy/1.1/report-uri-effective-directive-expected.txt:
- http/tests/security/contentSecurityPolicy/1.1/scripthash-allowed-by-enforced-policy-and-blocked-by-report-policy-expected.txt:
- http/tests/security/contentSecurityPolicy/1.1/scripthash-allowed-by-enforced-policy-and-blocked-by-report-policy2-expected.txt:
- http/tests/security/contentSecurityPolicy/1.1/scripthash-allowed-by-legacy-enforced-policy-and-blocked-by-report-policy-expected.txt:
- http/tests/security/contentSecurityPolicy/1.1/scripthash-allowed-by-legacy-enforced-policy-and-blocked-by-report-policy2-expected.txt:
- http/tests/security/contentSecurityPolicy/1.1/scripthash-blocked-by-enforced-policy-and-allowed-by-report-policy-expected.txt:
- http/tests/security/contentSecurityPolicy/1.1/scripthash-blocked-by-legacy-enforced-policy-and-blocked-by-report-policy-expected.txt:
- http/tests/security/contentSecurityPolicy/1.1/scripthash-blocked-by-legacy-enforced-policy-and-blocked-by-report-policy2-expected.txt:
- http/tests/security/contentSecurityPolicy/1.1/scriptnonce-blocked-by-enforced-policy-and-allowed-by-report-policy-expected.txt:
- http/tests/security/contentSecurityPolicy/report-and-enforce-expected.txt:
- http/tests/security/contentSecurityPolicy/report-only-expected.txt:
- http/tests/security/contentSecurityPolicy/report-only-from-header-expected.txt:
- http/tests/security/contentSecurityPolicy/report-only-upgrade-insecure-expected.txt:
- http/tests/security/contentSecurityPolicy/report-status-code-zero-when-using-https-expected.txt:
- http/tests/security/contentSecurityPolicy/report-uri-expected.txt:
- http/tests/security/contentSecurityPolicy/report-uri-from-child-frame-expected.txt:
- http/tests/security/contentSecurityPolicy/report-uri-scheme-relative-expected.txt:
- 5:24 PM Changeset in webkit [284066] by
-
- 6 edits in trunk/LayoutTests/imported/w3c
WPT test gardening for font palettes
https://bugs.webkit.org/show_bug.cgi?id=231649
This is being upstreamed in https://github.com/web-platform-tests/wpt/pull/30959.
Unreviewed.
- web-platform-tests/css/css-fonts/font-palette-add-2.html:
- web-platform-tests/css/css-fonts/font-palette-modify-2.html:
- web-platform-tests/css/css-fonts/font-palette-remove-2.html:
- web-platform-tests/css/css-fonts/parsing/font-palette-invalid.html:
- web-platform-tests/css/css-fonts/parsing/font-palette-valid.html:
- 5:18 PM Changeset in webkit [284065] by
-
- 2 edits in trunk
[PlayStation] Enable RemoteInspector by default
https://bugs.webkit.org/show_bug.cgi?id=231599
Reviewed by Fujii Hironori.
It was treated as experimental feature but we've depended on this feature in various situation.
- Source/cmake/OptionsPlayStation.cmake:
- 5:14 PM Changeset in webkit [284064] by
-
- 13 edits2 copies in trunk/Source
Scrolling thread animations need to commit layers on the scrolling thread
https://bugs.webkit.org/show_bug.cgi?id=231593
Reviewed by Tim Horton.
Source/WebCore:
Export some AsyncScrollingCoordinator functions.
- WebCore.xcodeproj/project.pbxproj:
- page/scrolling/AsyncScrollingCoordinator.h:
- page/scrolling/mac/ScrollingCoordinatorMac.h:
Source/WebKit:
Re-land r284022 with a fix in WebPageProxy to avoid non-balanced calls to
setDisplayLinkForDisplayWantsFullSpeedUpdates().
Scroll animations were running on the scrolling thread (in that the timers were firing on
that thread), but the scrolling thread wasn't changing layer positions, so those animations
weren't smooth.
This happened because of an existing assumption that we only commit layer changes on the
scrolling thread in response to wheel events; the machinery around
ThreadedScrollingTree::displayDidRefresh() was all gated on having recently received a wheel
event.
To fix this we need to communicate back to the UI process when there are active scroll
animations running. The ScrollingTree already tracks this, and the virtual
hasNodeWithAnimatedScrollChanged() on ScrollingCoordinator is called for it. To get this to
the UI process on macOS, subclass ScrollingCoordinatorMac in WebKit2 and override
hasNodeWithAnimatedScrollChanged() to call into WebPage, which then IPCs to WebPageProxy.
This ends up calling setDisplayLinkForDisplayWantsFullSpeedUpdates() so that know to IPC
displayDidRefresh to EventDispatcher off the main thread (as we do for wheel events).
Scroll animations are still based on a 60Hz timer, but in future should be driven by
displayDidRefresh() notifications.
- SourcesCocoa.txt:
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::wheelEventHysteresisUpdated):
(WebKit::WebPageProxy::updateDisplayLinkFrequency):
(WebKit::WebPageProxy::updateWheelEventActivityAfterProcessSwap):
(WebKit::WebPageProxy::setHasActiveAnimatedScrolls):
(WebKit::WebPageProxy::resetStateAfterProcessExited):
- UIProcess/WebPageProxy.h:
- UIProcess/WebPageProxy.messages.in:
- WebKit.xcodeproj/project.pbxproj:
- WebProcess/WebCoreSupport/WebChromeClient.cpp:
(WebKit::WebChromeClient::createScrollingCoordinator const):
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::setHasActiveAnimatedScrolls):
- WebProcess/WebPage/WebPage.h:
- WebProcess/WebPage/mac/TiledCoreAnimationScrollingCoordinator.h: Copied from Source/WebCore/page/scrolling/mac/ScrollingCoordinatorMac.h.
- WebProcess/WebPage/mac/TiledCoreAnimationScrollingCoordinator.mm: Copied from Source/WebCore/page/scrolling/mac/ScrollingCoordinatorMac.h.
(WebKit::TiledCoreAnimationScrollingCoordinator::TiledCoreAnimationScrollingCoordinator):
(WebKit::TiledCoreAnimationScrollingCoordinator::pageDestroyed):
(WebKit::TiledCoreAnimationScrollingCoordinator::hasNodeWithAnimatedScrollChanged):
- 5:01 PM Changeset in webkit [284063] by
-
- 5 edits2 adds in trunk
[LFC][IFC] Do not collapse whitespace with zero-width space separator in-between
https://bugs.webkit.org/show_bug.cgi?id=231595
Reviewed by Antti Koivisto.
Source/WebCore:
Zero-width space characters separate individual sequence of whitespace (and non-whitepsace) content so we
should no collapse the before/after whitespace.
Test: fast/text/whitespace-with-zero-width-space-in-between.html
- layout/formattingContexts/inline/InlineLine.cpp:
(WebCore::Layout::Line::appendTextContent):
- layout/formattingContexts/inline/InlineTextItem.cpp:
(WebCore::Layout::InlineTextItem::isZeroWidthSpaceSeparator const):
(WebCore::Layout::InlineTextItem::isEmptyContent const): Deleted.
- layout/formattingContexts/inline/InlineTextItem.h:
(WebCore::Layout::InlineTextItem::width const):
LayoutTests:
- fast/text/whitespace-with-zero-width-space-in-between-expected.html: Added.
- fast/text/whitespace-with-zero-width-space-in-between.html: Added.
- 4:51 PM Changeset in webkit [284062] by
-
- 4 edits in trunk/Source
Remove some unused UIKit SPI declarations
https://bugs.webkit.org/show_bug.cgi?id=231646
Reviewed by Wenson Hsieh.
- Platform/spi/ios/UIKitSPI.h:
- wtf/PlatformHave.h:
- 4:46 PM Changeset in webkit [284061] by
-
- 2 edits in trunk/LayoutTests
[ macOS wk1 ] imported/w3c/web-platform-tests/css/selectors/focus-visible-009.html is a flaky failure.
https://bugs.webkit.org/show_bug.cgi?id=231647
Unreviewed test gardening.
- platform/mac-wk1/TestExpectations:
- 4:36 PM Changeset in webkit [284060] by
-
- 3 edits2 adds in trunk
[LFC][IFC] LazyLineBreakIterator should be correctly setup for the prior context case
https://bugs.webkit.org/show_bug.cgi?id=231608
Reviewed by Antti Koivisto.
Source/WebCore:
Pass in the locale and the breaking mode values when constructing the LazyLineBreakIterator for finding soft wrap opportunities across layout boxes.
Test: fast/inline/line-break-loose-with-inline-box-boundary.html
- layout/formattingContexts/inline/InlineLineBuilder.cpp:
(WebCore::Layout::endsWithSoftWrapOpportunity):
LayoutTests:
- fast/inline/line-break-loose-with-inline-box-boundary-expected.html: Added.
- fast/inline/line-break-loose-with-inline-box-boundary.html: Added.
- 4:35 PM Changeset in webkit [284059] by
-
- 35 edits4 copies4 adds in trunk
Implement FileSystemSyncAccessHandle read() and write()
https://bugs.webkit.org/show_bug.cgi?id=231466
<rdar://problem/84050394>
Reviewed by Youenn Fablet.
LayoutTests/imported/w3c:
- web-platform-tests/file-system-access/sandboxed_FileSystemSyncAccessHandle-close.https.tentative.worker-expected.txt:
- web-platform-tests/file-system-access/sandboxed_FileSystemSyncAccessHandle-flush.https.tentative.worker-expected.txt:
- web-platform-tests/file-system-access/sandboxed_FileSystemSyncAccessHandle-getSize.https.tentative.worker-expected.txt:
- web-platform-tests/file-system-access/sandboxed_FileSystemSyncAccessHandle-read-write.https.tentative.worker-expected.txt:
- web-platform-tests/file-system-access/sandboxed_FileSystemSyncAccessHandle-truncate.https.tentative.worker-expected.txt:
Source/WebCore:
Implement read() and write() according to proposal:
https://github.com/WICG/file-system-access/blob/main/AccessHandle.md
Test: storage/filesystemaccess/sync-access-handle-read-write-worker.html
API test: FileSystemAccess.ProcessCrashDuringWrite
- Modules/filesystemaccess/FileSystemFileHandle.cpp:
(WebCore::FileSystemFileHandle::createSyncAccessHandle):
(WebCore::FileSystemFileHandle::getSize):
(WebCore::FileSystemFileHandle::truncate):
(WebCore::FileSystemFileHandle::flush):
- Modules/filesystemaccess/FileSystemFileHandle.h:
- Modules/filesystemaccess/FileSystemStorageConnection.h:
- Modules/filesystemaccess/FileSystemSyncAccessHandle.cpp:
(WebCore::FileSystemSyncAccessHandle::create):
(WebCore::FileSystemSyncAccessHandle::FileSystemSyncAccessHandle):
(WebCore::FileSystemSyncAccessHandle::truncate):
(WebCore::FileSystemSyncAccessHandle::getSize):
(WebCore::FileSystemSyncAccessHandle::flush):
(WebCore::FileSystemSyncAccessHandle::close):
(WebCore::FileSystemSyncAccessHandle::read):
(WebCore::FileSystemSyncAccessHandle::write):
- Modules/filesystemaccess/FileSystemSyncAccessHandle.h:
- Modules/filesystemaccess/FileSystemSyncAccessHandle.idl:
- Modules/filesystemaccess/WorkerFileSystemStorageConnection.cpp:
(WebCore::WorkerFileSystemStorageConnection::didCreateSyncAccessHandle):
(WebCore::WorkerFileSystemStorageConnection::createSyncAccessHandle):
- Modules/filesystemaccess/WorkerFileSystemStorageConnection.h:
- bindings/js/BufferSource.h:
(WebCore::BufferSource::mutableData const):
Source/WebCore/PAL:
- PAL.xcodeproj/project.pbxproj:
- pal/spi/cocoa/FilePortSPI.h: Added.
Source/WebKit:
Let network process open the file and pass file descriptor to web process, so that web process can read and
write the file without sending IPC messages. Currently getting file size, truncating file and syncing file are
still performed by network process.
- NetworkProcess/storage/FileSystemStorageError.h:
(WebKit::convertToException):
- NetworkProcess/storage/FileSystemStorageHandle.cpp:
(WebKit::FileSystemStorageHandle::createSyncAccessHandle):
(WebKit::FileSystemStorageHandle::truncate):
(WebKit::FileSystemStorageHandle::flush):
(WebKit::FileSystemStorageHandle::close):
- NetworkProcess/storage/FileSystemStorageHandle.h:
- NetworkProcess/storage/NetworkStorageManager.cpp:
(WebKit::NetworkStorageManager::createSyncAccessHandle):
- NetworkProcess/storage/NetworkStorageManager.h:
- NetworkProcess/storage/NetworkStorageManager.messages.in:
- Platform/IPC/SharedFileHandle.cpp: Added.
(IPC::SharedFileHandle::create):
(IPC::SharedFileHandle::encode const):
(IPC::SharedFileHandle::decode):
- Platform/IPC/SharedFileHandle.h: Added.
(IPC::SharedFileHandle::handle):
(IPC::SharedFileHandle::SharedFileHandle):
- Platform/IPC/cocoa/SharedFileHandleCocoa.cpp: Added.
(IPC::SharedFileHandle::create):
(IPC::SharedFileHandle::encode const):
(IPC::SharedFileHandle::decode):
- Sources.txt:
- UIProcess/API/Cocoa/WKPreferences.mm:
(-[WKPreferences _fileSystemAccessEnabled]):
(-[WKPreferences _setFileSystemAccessEnabled:]):
(-[WKPreferences _storageAPIEnabled]):
(-[WKPreferences _setStorageAPIEnabled:]):
(-[WKPreferences _accessHandleEnabled]):
(-[WKPreferences _setAccessHandleEnabled:]):
- UIProcess/API/Cocoa/WKPreferencesPrivate.h:
- WebKit.xcodeproj/project.pbxproj:
- WebProcess/WebCoreSupport/WebFileSystemStorageConnection.cpp:
(WebKit::WebFileSystemStorageConnection::createSyncAccessHandle):
- WebProcess/com.apple.WebProcess.sb.in:
Source/WTF:
- wtf/PlatformHave.h:
Tools:
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- TestWebKitAPI/Tests/WebKitCocoa/FileSystemAccess.mm: Added.
(-[FileSystemAccessMessageHandler userContentController:didReceiveScriptMessage:]):
(test):
LayoutTests:
- storage/filesystemaccess/resources/sync-access-handle-read-write.js: Added.
(finishTest):
(arrayBufferToString):
(stringToArrayBuffer):
(write):
(read):
(async test):
- storage/filesystemaccess/sync-access-handle-read-write-worker-expected.txt: Added.
- storage/filesystemaccess/sync-access-handle-read-write-worker.html: Added.
- 4:33 PM Changeset in webkit [284058] by
-
- 2 edits in trunk/LayoutTests
[ iOS, Mac ] imported/w3c/web-platform-tests/css/css-cascade/layer-counter-style-override.html is a flaky failure.
https://bugs.webkit.org/show_bug.cgi?id=230905
Unreviewed test gardening.
- platform/mac-wk1/TestExpectations:
- 4:33 PM Changeset in webkit [284057] by
-
- 131 edits in trunk
Decrease use of makeWeakPtr()
https://bugs.webkit.org/show_bug.cgi?id=231615
Reviewed by Alex Christensen.
Decrease use of makeWeakPtr() and use WeakPtr { } directly instead.
Source/JavaScriptCore:
- inspector/JSGlobalObjectInspectorController.cpp:
(Inspector::JSGlobalObjectInspectorController::consoleClient const):
- wasm/WasmMemory.cpp:
(JSC::Wasm::Memory::registerInstance):
Source/WebCore:
- Modules/encryptedmedia/MediaKeySession.cpp:
(WebCore::MediaKeySession::generateRequest):
(WebCore::MediaKeySession::load):
(WebCore::MediaKeySession::update):
(WebCore::MediaKeySession::close):
(WebCore::MediaKeySession::remove):
- Modules/encryptedmedia/MediaKeySystemAccess.cpp:
(WebCore::MediaKeySystemAccess::createMediaKeys):
- Modules/encryptedmedia/MediaKeySystemController.cpp:
(WebCore::MediaKeySystemController::MediaKeySystemController):
- Modules/encryptedmedia/MediaKeys.cpp:
(WebCore::MediaKeys::MediaKeys):
(WebCore::MediaKeys::createSession):
- Modules/encryptedmedia/legacy/WebKitMediaKeys.cpp:
(WebCore::WebKitMediaKeys::setMediaElement):
- Modules/fetch/FetchBodySource.cpp:
(WebCore::FetchBodySource::FetchBodySource):
- Modules/fetch/FetchResponse.cpp:
(WebCore::FetchResponse::addAbortSteps):
- Modules/filesystemaccess/WorkerFileSystemStorageConnection.cpp:
(WebCore::WorkerFileSystemStorageConnection::WorkerFileSystemStorageConnection):
- Modules/gamepad/GamepadManager.cpp:
(WebCore::GamepadManager::platformGamepadDisconnected):
(WebCore::GamepadManager::makeGamepadVisible):
- Modules/geolocation/Geolocation.cpp:
(WebCore::Geolocation::Geolocation):
- Modules/highlight/AppHighlightStorage.cpp:
(WebCore::AppHighlightStorage::AppHighlightStorage):
- Modules/indexeddb/IDBCursor.h:
(WebCore::IDBCursor::setRequest):
- Modules/indexeddb/client/IDBConnectionToServer.cpp:
(WebCore::IDBClient::IDBConnectionToServer::IDBConnectionToServer):
- Modules/indexeddb/server/UniqueIDBDatabaseConnection.cpp:
(WebCore::IDBServer::UniqueIDBDatabaseConnection::UniqueIDBDatabaseConnection):
- Modules/indexeddb/server/UniqueIDBDatabaseTransaction.cpp:
(WebCore::IDBServer::UniqueIDBDatabaseTransaction::UniqueIDBDatabaseTransaction):
- Modules/mediacontrols/MediaControlsHost.cpp:
(WebCore::MediaControlsHost::MediaControlsHost):
(WebCore::MediaControlsHost::showMediaControlsContextMenu):
- Modules/mediasession/MediaMetadata.cpp:
(WebCore::MediaMetadata::setMediaSession):
- Modules/mediasession/MediaSession.cpp:
(WebCore::MediaSession::MediaSession):
- Modules/mediasession/MediaSessionCoordinator.cpp:
(WebCore::MediaSessionCoordinator::setMediaSessionCoordinatorPrivate):
(WebCore::MediaSessionCoordinator::setMediaSession):
- Modules/mediasource/MediaSource.cpp:
(WebCore::MediaSource::attachToElement):
- Modules/mediastream/MediaDevices.cpp:
(WebCore::MediaDevices::computeUserGesturePriviledge):
(WebCore::MediaDevices::enumerateDevices):
- Modules/mediastream/PeerConnectionBackend.cpp:
(WebCore::PeerConnectionBackend::addIceCandidate):
- Modules/mediastream/RTCDTMFSender.cpp:
(WebCore::RTCDTMFSender::RTCDTMFSender):
- Modules/mediastream/RTCIceTransport.cpp:
(WebCore::RTCIceTransport::RTCIceTransport):
- Modules/mediastream/RTCRtpReceiver.cpp:
(WebCore::RTCRtpReceiver::RTCRtpReceiver):
- Modules/mediastream/RTCRtpSFrameTransform.cpp:
(WebCore::RTCRtpSFrameTransform::initializeTransformer):
(WebCore::RTCRtpSFrameTransform::createStreams):
- Modules/mediastream/RTCRtpScriptTransform.cpp:
(WebCore::RTCRtpScriptTransform::setTransformer):
- Modules/mediastream/RTCRtpScriptTransformer.cpp:
(WebCore::RTCRtpScriptTransformer::start):
- Modules/mediastream/RTCRtpSender.cpp:
(WebCore::RTCRtpSender::RTCRtpSender):
(WebCore::RTCRtpSender::replaceTrack):
- Modules/mediastream/RTCRtpTransceiver.cpp:
(WebCore::RTCRtpTransceiver::setConnection):
- Modules/mediastream/libwebrtc/LibWebRTCDataChannelHandler.cpp:
(WebCore::LibWebRTCDataChannelHandler::setClient):
- Modules/mediastream/libwebrtc/LibWebRTCDtlsTransportBackend.cpp:
(WebCore::LibWebRTCDtlsTransportBackendObserver::LibWebRTCDtlsTransportBackendObserver):
- Modules/mediastream/libwebrtc/LibWebRTCIceTransportBackend.cpp:
(WebCore::LibWebRTCIceTransportBackendObserver::LibWebRTCIceTransportBackendObserver):
- Modules/mediastream/libwebrtc/LibWebRTCRtpSenderBackend.cpp:
(WebCore::LibWebRTCRtpSenderBackend::LibWebRTCRtpSenderBackend):
(WebCore::LibWebRTCRtpSenderBackend::startSource):
- Modules/mediastream/libwebrtc/LibWebRTCSctpTransportBackend.cpp:
(WebCore::LibWebRTCSctpTransportBackendObserver::LibWebRTCSctpTransportBackendObserver):
- Modules/paymentrequest/PaymentResponse.cpp:
- Modules/permissions/Permissions.cpp:
(WebCore::Permissions::Permissions):
- Modules/plugins/QuickTimePluginReplacement.mm:
(WebCore::QuickTimePluginReplacement::QuickTimePluginReplacement):
- Modules/plugins/YouTubePluginReplacement.cpp:
(WebCore::YouTubePluginReplacement::YouTubePluginReplacement):
- Modules/remoteplayback/RemotePlayback.cpp:
(WebCore::RemotePlayback::RemotePlayback):
- Modules/speech/DOMWindowSpeechSynthesis.cpp:
(WebCore::DOMWindowSpeechSynthesis::speechSynthesis):
- Modules/speech/SpeechRecognitionCaptureSourceImpl.cpp:
(WebCore::SpeechRecognitionCaptureSourceImpl::SpeechRecognitionCaptureSourceImpl):
(WebCore::SpeechRecognitionCaptureSourceImpl::updateDataSource):
- Modules/speech/SpeechRecognizer.cpp:
(WebCore::SpeechRecognizer::startCapture):
- Modules/speech/SpeechSynthesis.cpp:
(WebCore::SpeechSynthesis::SpeechSynthesis):
- Modules/speech/cocoa/SpeechRecognizerCocoa.mm:
(WebCore::SpeechRecognizer::startRecognition):
- Modules/storage/StorageManager.cpp:
(WebCore::StorageManager::StorageManager):
- Modules/storage/WorkerStorageConnection.cpp:
(WebCore::WorkerStorageConnection::WorkerStorageConnection):
- Modules/webaudio/AudioNode.cpp:
(WebCore::AudioNode::toWeakOrStrongContext):
- Modules/webaudio/AudioSummingJunction.cpp:
(WebCore::AudioSummingJunction::AudioSummingJunction):
- Modules/webaudio/AudioWorklet.cpp:
(WebCore::AudioWorklet::AudioWorklet):
- Modules/webaudio/AudioWorkletMessagingProxy.cpp:
(WebCore::AudioWorkletMessagingProxy::AudioWorkletMessagingProxy):
- Modules/websockets/WebSocketChannel.cpp:
(WebCore::WebSocketChannel::WebSocketChannel):
- Modules/webxr/WebXRInputSource.cpp:
(WebCore::WebXRInputSource::WebXRInputSource):
- Modules/webxr/WebXRInputSpace.cpp:
(WebCore::WebXRInputSpace::WebXRInputSpace):
- Modules/webxr/WebXRReferenceSpace.cpp:
(WebCore::WebXRReferenceSpace::WebXRReferenceSpace):
- Modules/webxr/WebXRRenderState.h:
(WebCore::WebXRRenderState::setOutputCanvas):
- Modules/webxr/WebXRRigidTransform.cpp:
(WebCore::WebXRRigidTransform::inverse):
- Modules/webxr/WebXRSession.cpp:
(WebCore::WebXRSession::WebXRSession):
- Modules/webxr/WebXRSpace.cpp:
(WebCore::WebXRViewerSpace::WebXRViewerSpace):
- Modules/webxr/WebXRSystem.cpp:
(WebCore::WebXRSystem::WebXRSystem):
(WebCore::WebXRSystem::ensureImmersiveXRDeviceIsSelected):
(WebCore::WebXRSystem::registerSimulatedXRDeviceForTesting):
(WebCore::WebXRSystem::unregisterSimulatedXRDeviceForTesting):
- animation/AnimationTimeline.cpp:
(WebCore::AnimationTimeline::animationTimingDidChange):
- animation/DeclarativeAnimation.cpp:
(WebCore::DeclarativeAnimation::DeclarativeAnimation):
- animation/DocumentTimeline.cpp:
(WebCore::DocumentTimeline::DocumentTimeline):
- animation/KeyframeEffectStack.cpp:
(WebCore::KeyframeEffectStack::addEffect):
- bindings/js/JSLazyEventListener.cpp:
(WebCore::JSLazyEventListener::create):
- bindings/js/ScriptCachedFrameData.cpp:
(WebCore::ScriptCachedFrameData::restore):
- bindings/js/ScriptController.cpp:
(WebCore::ScriptController::initScriptForWindowProxy):
- bindings/js/WindowProxy.cpp:
(WebCore::WindowProxy::WindowProxy):
(WebCore::WindowProxy::setDOMWindow):
- crypto/SubtleCrypto.cpp:
(WebCore::getPromise):
(WebCore::SubtleCrypto::encrypt):
(WebCore::SubtleCrypto::decrypt):
(WebCore::SubtleCrypto::sign):
(WebCore::SubtleCrypto::verify):
(WebCore::SubtleCrypto::digest):
(WebCore::SubtleCrypto::generateKey):
(WebCore::SubtleCrypto::deriveKey):
(WebCore::SubtleCrypto::deriveBits):
(WebCore::SubtleCrypto::importKey):
(WebCore::SubtleCrypto::exportKey):
(WebCore::SubtleCrypto::wrapKey):
(WebCore::SubtleCrypto::unwrapKey):
- css/CSSFontFace.cpp:
(WebCore::CSSFontFace::CSSFontFace):
(WebCore::CSSFontFace::wrapper):
(WebCore::CSSFontFace::setWrapper):
- css/CSSFontFaceSet.cpp:
(WebCore::CSSFontFaceSet::CSSFontFaceSet):
- css/CSSFontFaceSource.cpp:
(WebCore::CSSFontFaceSource::CSSFontFaceSource):
- css/CSSFontSelector.cpp:
(WebCore::CSSFontSelector::CSSFontSelector):
- css/MediaQueryEvaluator.cpp:
(WebCore::MediaQueryEvaluator::MediaQueryEvaluator):
- css/MediaQueryMatcher.cpp:
(WebCore::MediaQueryMatcher::MediaQueryMatcher):
(WebCore::MediaQueryMatcher::addMediaQueryList):
- css/PropertySetCSSStyleDeclaration.cpp:
(WebCore::PropertySetCSSStyleDeclaration::wrapForDeprecatedCSSOM):
- css/StyleSheetList.cpp:
(WebCore::StyleSheetList::StyleSheetList):
- css/parser/CSSDeferredParser.cpp:
(WebCore::CSSDeferredParser::CSSDeferredParser):
- dom/DeviceOrientationAndMotionAccessController.cpp:
(WebCore::DeviceOrientationAndMotionAccessController::shouldAllowAccess):
- dom/MessagePort.cpp:
(WebCore::MessagePort::dispatchMessages):
- html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::updateActiveTextTrackCues):
(WebCore::HTMLMediaElement::progressEventTimerFired):
- platform/graphics/ImageSource.cpp:
(WebCore::ImageSource::ensureDecoderAvailable):
- platform/graphics/avfoundation/objc/LocalSampleBufferDisplayLayer.mm:
(WebCore::LocalSampleBufferDisplayLayer::onIrregularFrameRateNotification):
- platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(WebCore::MediaPlayerPrivateAVFoundationObjC::createAVAssetForURL):
- platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.mm:
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::MediaPlayerPrivateMediaStreamAVFObjC):
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::processNewVideoSample):
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::ensureLayers):
- platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:
(WebCore::SourceBufferPrivateAVFObjC::didParseInitializationData):
(WebCore::SourceBufferPrivateAVFObjC::append):
- platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
(WebCore::MediaPlayerPrivateGStreamer::videoSinkCapsChanged):
- platform/mediarecorder/cocoa/MediaRecorderPrivateWriterCocoa.mm:
(WebCore::MediaRecorderPrivateWriter::stopRecording):
(WebCore::MediaRecorderPrivateWriter::fetchData):
- platform/mediastream/cocoa/AudioMediaStreamTrackRendererCocoa.cpp:
(WebCore::AudioMediaStreamTrackRendererCocoa::start):
(WebCore::AudioMediaStreamTrackRendererCocoa::pushSamples):
- platform/mock/mediasource/MockMediaPlayerMediaSource.cpp:
(WebCore::MockMediaPlayerMediaSource::play):
(WebCore::MockMediaPlayerMediaSource::seekWithTolerance):
(WebCore::MockMediaPlayerMediaSource::seekCompleted):
- testing/Internals.cpp:
(WebCore::Internals::videoSampleAvailable):
- testing/ServiceWorkerInternals.cpp:
(WebCore::ServiceWorkerInternals::schedulePushEvent):
(WebCore::ServiceWorkerInternals::lastNavigationWasAppInitiated):
- workers/service/context/ServiceWorkerThread.cpp:
(WebCore::ServiceWorkerThread::queueTaskToPostMessage):
(WebCore::ServiceWorkerThread::queueTaskToFireInstallEvent):
(WebCore::ServiceWorkerThread::queueTaskToFireActivateEvent):
(WebCore::ServiceWorkerThread::queueTaskToFirePushEvent):
(WebCore::ServiceWorkerThread::start):
- workers/service/server/SWServer.cpp:
(WebCore::SWServer::addRegistrationFromStore):
(WebCore::SWServer::validateRegistrationDomain):
(WebCore::SWServer::scheduleJob):
(WebCore::SWServer::startScriptFetch):
(WebCore::SWServer::runServiceWorkerIfNecessary):
(WebCore::SWServer::createContextConnection):
(WebCore::SWServer::processPushMessage):
(WebCore::SWServer::fireFunctionalEvent):
Source/WebKit:
- GPUProcess/media/RemoteMediaPlayerProxy.cpp:
(WebKit::RemoteMediaPlayerProxy::getConfiguration):
(WebKit::RemoteMediaPlayerProxy::performTaskAtMediaTime):
- GPUProcess/webrtc/RemoteAudioMediaStreamTrackRendererInternalUnitManager.cpp:
(WebKit::RemoteAudioMediaStreamTrackRendererInternalUnitManager::Unit::Unit):
- GPUProcess/webrtc/RemoteSampleBufferDisplayLayer.cpp:
(WebKit::RemoteSampleBufferDisplayLayer::initialize):
- NetworkProcess/NetworkLoadChecker.cpp:
(WebKit::NetworkLoadChecker::processContentRuleListsForLoad):
- NetworkProcess/ServiceWorker/ServiceWorkerFetchTask.cpp:
(WebKit::ServiceWorkerFetchTask::cannotHandle):
- NetworkProcess/ServiceWorker/WebSWServerConnection.cpp:
(WebKit::WebSWServerConnection::controlClient):
(WebKit::WebSWServerConnection::startFetch):
- NetworkProcess/ServiceWorker/WebSWServerToContextConnection.cpp:
(WebKit::WebSWServerToContextConnection::firePushEvent):
- NetworkProcess/cache/CacheStorageEngine.cpp:
(WebKit::CacheStorage::Engine::initialize):
(WebKit::CacheStorage::Engine::writeFile):
(WebKit::CacheStorage::Engine::readFile):
(WebKit::CacheStorage::Engine::fetchEntries):
(WebKit::CacheStorage::Engine::clearCachesForOriginFromDisk):
- NetworkProcess/cocoa/WebSocketTaskCocoa.mm:
(WebKit::WebSocketTask::readNextMessage):
- UIProcess/API/Cocoa/WKWebViewTesting.mm:
(-[WKWebView _createMediaSessionCoordinatorForTesting:completionHandler:]):
- UIProcess/Cocoa/GroupActivities/GroupActivitiesSessionNotifier.mm:
- UIProcess/Cocoa/WebProcessPoolCocoa.mm:
(WebKit::WebProcessPool::registerNotificationObservers):
- UIProcess/Inspector/WebInspectorUIExtensionControllerProxy.cpp:
(WebKit::WebInspectorUIExtensionControllerProxy::registerExtension):
(WebKit::WebInspectorUIExtensionControllerProxy::unregisterExtension):
(WebKit::WebInspectorUIExtensionControllerProxy::createTabForExtension):
(WebKit::WebInspectorUIExtensionControllerProxy::evaluateScriptForExtension):
(WebKit::WebInspectorUIExtensionControllerProxy::reloadForExtension):
(WebKit::WebInspectorUIExtensionControllerProxy::showExtensionTab):
(WebKit::WebInspectorUIExtensionControllerProxy::evaluateScriptInExtensionTab):
- UIProcess/Network/NetworkProcessProxy.cpp:
(WebKit::NetworkProcessProxy::didReceiveAuthenticationChallenge):
- UIProcess/SpeechRecognitionPermissionManager.cpp:
(WebKit::SpeechRecognitionPermissionManager::requestSpeechRecognitionServiceAccess):
(WebKit::SpeechRecognitionPermissionManager::requestMicrophoneAccess):
- UIProcess/SpeechRecognitionServer.cpp:
(WebKit::SpeechRecognitionServer::requestPermissionForRequest):
(WebKit::SpeechRecognitionServer::handleRequest):
- UIProcess/UserMediaPermissionRequestManagerProxy.cpp:
(WebKit::UserMediaPermissionRequestManagerProxy::finishGrantingRequest):
(WebKit::UserMediaPermissionRequestManagerProxy::processUserMediaPermissionValidRequest):
(WebKit::UserMediaPermissionRequestManagerProxy::computeFilteredDeviceList):
- UIProcess/WebsiteData/WebDeviceOrientationAndMotionAccessController.cpp:
(WebKit::WebDeviceOrientationAndMotionAccessController::shouldAllowAccess):
- WebProcess/GPU/media/RemoteLegacyCDMFactory.cpp:
(WebKit::RemoteLegacyCDMFactory::registerFactory):
- WebProcess/GPU/media/RemoteMediaEngineConfigurationFactory.cpp:
(WebKit::RemoteMediaEngineConfigurationFactory::registerFactory):
- WebProcess/GPU/webrtc/AudioMediaStreamTrackRendererInternalUnitManager.cpp:
(WebKit::AudioMediaStreamTrackRendererInternalUnitManager::Proxy::createRemoteUnit):
- WebProcess/GPU/webrtc/MediaRecorderPrivate.cpp:
(WebKit::MediaRecorderPrivate::startRecording):
- WebProcess/GPU/webrtc/SampleBufferDisplayLayer.cpp:
(WebKit::SampleBufferDisplayLayer::initialize):
- WebProcess/Inspector/WebInspectorUIExtensionController.cpp:
(WebKit::WebInspectorUIExtensionController::registerExtension):
(WebKit::WebInspectorUIExtensionController::unregisterExtension):
(WebKit::WebInspectorUIExtensionController::createTabForExtension):
(WebKit::WebInspectorUIExtensionController::evaluateScriptForExtension):
(WebKit::WebInspectorUIExtensionController::reloadForExtension):
(WebKit::WebInspectorUIExtensionController::showExtensionTab):
(WebKit::WebInspectorUIExtensionController::evaluateScriptInExtensionTab):
- WebProcess/MediaSession/RemoteMediaSessionCoordinator.cpp:
(WebKit::RemoteMediaSessionCoordinator::join):
(WebKit::RemoteMediaSessionCoordinator::seekTo):
(WebKit::RemoteMediaSessionCoordinator::play):
(WebKit::RemoteMediaSessionCoordinator::pause):
(WebKit::RemoteMediaSessionCoordinator::setTrack):
- WebProcess/Network/webrtc/LibWebRTCNetworkManager.cpp:
(WebKit::LibWebRTCNetworkManager::StartUpdating):
(WebKit::LibWebRTCNetworkManager::StopUpdating):
(WebKit::LibWebRTCNetworkManager::CreateNameForAddress):
- WebProcess/XR/PlatformXRSystemProxy.cpp:
(WebKit::PlatformXRSystemProxy::enumerateImmersiveXRDevices):
Source/WTF:
- wtf/CancellableTask.h:
(WTF::TaskCancellationGroup::Handle::Handle):
- wtf/ListHashSet.h:
(WTF::ListHashSetConstIterator::ListHashSetConstIterator):
(WTF::ListHashSetConstIterator::operator++):
(WTF::ListHashSetConstIterator::operator--):
- wtf/WeakHashSet.h:
- 4:30 PM Changeset in webkit [284056] by
-
- 4 edits in trunk/Source/WebKit
Stop passing RegistrableDomain by value in NetworkSessionCocoa
https://bugs.webkit.org/show_bug.cgi?id=231633
Reviewed by Alex Christensen.
- NetworkProcess/NetworkSession.h:
(WebKit::NetworkSession::hasIsolatedSession const):
- NetworkProcess/cocoa/NetworkSessionCocoa.h:
- NetworkProcess/cocoa/NetworkSessionCocoa.mm:
(WebKit::NetworkSessionCocoa::isolatedSession):
(WebKit::SessionSet::isolatedSession):
(WebKit::NetworkSessionCocoa::hasIsolatedSession const):
- 4:16 PM Changeset in webkit [284055] by
-
- 6 edits3 adds3 deletes in trunk
Rename AdAttributionDaemon to adattributiond
https://bugs.webkit.org/show_bug.cgi?id=231620
Reviewed by Kate Cheney.
Source/WebKit:
adattributiond is its approved name in rdar://80701098 and we already used it in some places.
Use it consistently.
- Configurations/adattributiond.xcconfig: Renamed from Source/WebKit/Configurations/AdAttributionDaemon.xcconfig.
- Resources/SandboxProfiles/ios/com.apple.WebKit.adattributiond.sb: Renamed from Source/WebKit/Resources/SandboxProfiles/ios/com.apple.WebKit.AdAttributionDaemon.sb.
- Scripts/process-entitlements.sh:
- Shared/EntryPointUtilities/Cocoa/Daemon/adattributiond.c: Renamed from Source/WebKit/Shared/EntryPointUtilities/Cocoa/Daemon/AdAttributionDaemon.c.
- WebKit.xcodeproj/project.pbxproj:
Tools:
- TestWebKitAPI/Tests/WebKitCocoa/EventAttribution.mm:
(TestWebKitAPI::testPCMDaemonLocation):
(TestWebKitAPI::cleanUpDaemon):
- 4:04 PM Changeset in webkit [284054] by
-
- 2 edits in trunk/LayoutTests
[ iOS ] fast/scrolling/ios/scroll-snap-with-momentum-scroll-in-overflow-scroll-area.html is a flaky failure.
https://bugs.webkit.org/show_bug.cgi?id=231641
Unreviewed test gardening.
- platform/ios-wk2/TestExpectations:
- 4:02 PM Changeset in webkit [284053] by
-
- 3 edits in trunk/LayoutTests
[ iOS15 iPad Debug ] webrtc/video-mute.html is a flaky timeout.
https://bugs.webkit.org/show_bug.cgi?id=231640.
Unreviewed test gardening.
- platform/ios-14-wk2/TestExpectations:
- platform/ipad/TestExpectations:
- 3:49 PM Changeset in webkit [284052] by
-
- 2 edits in trunk/LayoutTests
[ iOS15 Debug ] webgl/pending/conformance/glsl/misc/shader-with-reserved-words-2.html is a flaky timeout.
https://bugs.webkit.org/show_bug.cgi?id=231638.
Unreviewed test gardening.
- platform/ios-wk2/TestExpectations:
- 3:48 PM Changeset in webkit [284051] by
-
- 6 edits in trunk/Source/WebKit
Reduce use of WebCore structures in adattributiond
https://bugs.webkit.org/show_bug.cgi?id=231617
Patch by Alex Christensen <achristensen@webkit.org> on 2021-10-12
Reviewed by Chris Dumez.
In order to reduce the memory use of adattributiond, I'm planning to have it not link WebKit.framework.
This is progress towards that.
I use a RunLoop::Timer instead of a WebCore::Timer, which does the same thing on the main thread.
I use a WTF::String to represent the error description or lack thereof instead of sending the whole error.
I stop sending the response, because it was unused.
- NetworkProcess/PrivateClickMeasurement/PrivateClickMeasurementManager.cpp:
(WebKit::PrivateClickMeasurementManager::PrivateClickMeasurementManager):
(WebKit::PrivateClickMeasurementManager::getTokenPublicKey):
(WebKit::PrivateClickMeasurementManager::getSignedUnlinkableToken):
(WebKit::PrivateClickMeasurementManager::attribute):
(WebKit::PrivateClickMeasurementManager::fireConversionRequestImpl):
- NetworkProcess/PrivateClickMeasurement/PrivateClickMeasurementManager.h:
- NetworkProcess/PrivateClickMeasurement/PrivateClickMeasurementNetworkLoader.cpp:
(WebKit::PCM::NetworkLoader::start):
- NetworkProcess/PrivateClickMeasurement/PrivateClickMeasurementNetworkLoader.h:
- NetworkProcess/PrivateClickMeasurement/cocoa/PrivateClickMeasurementNetworkLoaderCocoa.mm:
(WebKit::PCM::NetworkLoader::start):
- 3:47 PM Changeset in webkit [284050] by
-
- 3 edits6 adds in trunk
ASSERT hit in surrogatePairAwareIndex and surrogatePairAwareStart lambdas for text with unpaired surrogates
https://bugs.webkit.org/show_bug.cgi?id=231606
Patch by Gabriel Nava Marino <gnavamarino@apple.com> on 2021-10-12
Reviewed by Myles C. Maxfield.
Source/WebCore:
Tests: fast/text/word-break-column-gap-display-flex-utf16-surrogates.html
fast/text/word-break-letter-spacing-utf16-surrogates.html
fast/text/word-break-max-width-utf16-surrogates.html
- layout/formattingContexts/inline/text/TextUtil.cpp:
(WebCore::Layout::TextUtil::midWordBreak):
Account for unpaired surrogates in surrogatePairAwareIndex and surrogatePairAwareStart lambdas
in TextUtil::MidWordBreak TextUtil::midWordBreak
LayoutTests:
- fast/text/word-break-column-gap-display-flex-utf16-surrogates-expected.txt: Added.
- fast/text/word-break-column-gap-display-flex-utf16-surrogates.html: Added.
- fast/text/word-break-letter-spacing-utf16-surrogates-expected.txt: Added.
- fast/text/word-break-letter-spacing-utf16-surrogates.html: Added.
- fast/text/word-break-max-width-utf16-surrogates-expected.txt: Added.
- fast/text/word-break-max-width-utf16-surrogates.html: Added.
- 3:44 PM Changeset in webkit [284049] by
-
- 13 edits2 deletes in trunk/Source
Unreviewed, reverting r284022.
Caused tests to exit early due to an assertion failure
Reverted changeset:
"Scrolling thread animations need to commit layers on the
scrolling thread"
https://bugs.webkit.org/show_bug.cgi?id=231593
https://commits.webkit.org/r284022
- 3:42 PM Changeset in webkit [284048] by
-
- 9 edits1 add in trunk
[GPU Process] Unique RenderingResourceIdentifiers Part 9: Finish migrating RemoteResourceCache to QualifiedRenderingResourceIdentifier
https://bugs.webkit.org/show_bug.cgi?id=231414
<rdar://problem/84015584>
Reviewed by Said Abou-Hallawa.
Source/WebCore:
We can delete a bunch of the methods of ResourceHeapImpl because they are only used in the
GPU Process-specific implementation.
No new tests because there is no behavior change.
- platform/graphics/displaylists/DisplayList.h:
- platform/graphics/displaylists/DisplayListResourceHeap.h:
(WebCore::DisplayList::ResourceHeap::add): Deleted.
(WebCore::DisplayList::ResourceHeap::getImageBuffer const): Deleted.
(WebCore::DisplayList::ResourceHeap::getNativeImage const): Deleted.
(WebCore::DisplayList::ResourceHeap::getFont const): Deleted.
(WebCore::DisplayList::ResourceHeap::hasImageBuffer const): Deleted.
(WebCore::DisplayList::ResourceHeap::hasNativeImage const): Deleted.
(WebCore::DisplayList::ResourceHeap::hasFont const): Deleted.
(WebCore::DisplayList::ResourceHeap::removeImageBuffer): Deleted.
(WebCore::DisplayList::ResourceHeap::removeNativeImage): Deleted.
(WebCore::DisplayList::ResourceHeap::removeFont): Deleted.
(WebCore::DisplayList::ResourceHeap::clear): Deleted.
(WebCore::DisplayList::ResourceHeap::deleteAllFonts): Deleted.
Source/WebKit:
Now that DisplayList::ResourceHeap exists, we can make a ResourceHeap subclass specifically for
the GPU process. The implementation of this class holds QualifiedRenderingResourceIdentifiers
instead of RenderingResourceIdentifier.
- GPUProcess/graphics/QualifiedResourceHeap.h: Added.
(WebKit::QualifiedResourceHeap::QualifiedResourceHeap):
(WebKit::QualifiedResourceHeap::add):
(WebKit::QualifiedResourceHeap::getImageBuffer const):
(WebKit::QualifiedResourceHeap::getNativeImage const):
(WebKit::QualifiedResourceHeap::getFont const):
(WebKit::QualifiedResourceHeap::hasImageBuffer const):
(WebKit::QualifiedResourceHeap::hasNativeImage const):
(WebKit::QualifiedResourceHeap::hasFont const):
(WebKit::QualifiedResourceHeap::removeImageBuffer):
(WebKit::QualifiedResourceHeap::removeNativeImage):
(WebKit::QualifiedResourceHeap::removeFont):
(WebKit::QualifiedResourceHeap::deleteAllFonts):
- GPUProcess/graphics/RemoteResourceCache.cpp:
(WebKit::RemoteResourceCache::RemoteResourceCache):
(WebKit::RemoteResourceCache::cacheImageBuffer):
(WebKit::RemoteResourceCache::cachedImageBuffer const):
(WebKit::RemoteResourceCache::cacheNativeImage):
(WebKit::RemoteResourceCache::cachedNativeImage const):
(WebKit::RemoteResourceCache::cacheFont):
(WebKit::RemoteResourceCache::cachedFont const):
(WebKit::RemoteResourceCache::maybeRemoveResource):
- GPUProcess/graphics/RemoteResourceCache.h:
- WebKit.xcodeproj/project.pbxproj:
Tools:
- TestWebKitAPI/Tests/WebCore/cg/DisplayListTestsCG.cpp:
(TestWebKitAPI::TEST):
- 3:40 PM Changeset in webkit [284047] by
-
- 2 edits in trunk/LayoutTests
Update expectations for webgl/1.0.3/conformance/uniforms/uniform-default-values.html.
https://bugs.webkit.org/show_bug.cgi?id=231514.
Unreviewed test gardening.
- platform/ios-simulator/TestExpectations:
- 3:26 PM Changeset in webkit [284046] by
-
- 2 edits in trunk/LayoutTests
[ iOS15 Debug ] media/media-fragments/TC0001.html is a flaky timeout.
https://bugs.webkit.org/show_bug.cgi?id=231636.
Unreviewed test gardening.
- platform/ios-wk2/TestExpectations:
- 3:21 PM Changeset in webkit [284045] by
-
- 2 edits in trunk/LayoutTests
[ iPad Release ] editing/selection/ios/scroll-to-reveal-selection-when-showing-software-keyboard.html is timing out.
https://bugs.webkit.org/show_bug.cgi?id=231635
Unreviewed test gardening.
- platform/ipad/TestExpectations:
- 3:19 PM Changeset in webkit [284044] by
-
- 8 edits in trunk/Source
Versioning.
WebKit-7613.1.6
- 3:16 PM Changeset in webkit [284043] by
-
- 1 copy in branches/safari-613.1.5-branch
New branch.
- 3:13 PM Changeset in webkit [284042] by
-
- 2 edits in trunk/LayoutTests
[ iOS15 Debug ] fast/selectors/case-insensitive-attribute-bascis.html is failing).
https://bugs.webkit.org/show_bug.cgi?id=231631.
Unreviewed test gardening.
- platform/ios-wk2/TestExpectations:
- 3:10 PM Changeset in webkit [284041] by
-
- 1 edit in trunk/metadata/contributors.json
Add my github account and personal email
Unreviewed.
- metadata/contributors.json:
- 3:09 PM Changeset in webkit [284040] by
-
- 2 edits in trunk/LayoutTests
[ iOS ] http/tests/cache/disk-cache/redirect-chain-limits.html is a flaky timeout.
https://bugs.webkit.org/show_bug.cgi?id=231630
Unreviewed test gardening.
- platform/ios-wk2/TestExpectations:
- 2:58 PM Changeset in webkit [284039] by
-
- 2 edits in trunk/Tools
WebKitTestRunner should check mainFrameURL exists in InjectedBundlePage::willSendRequestForFrame
https://bugs.webkit.org/show_bug.cgi?id=231401
Patch by Gabriel Nava Marino <gnavamarino@apple.com> on 2021-10-12
Reviewed by Youenn Fablet.
- WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:
(WTR::InjectedBundlePage::willSendRequestForFrame):
Add mainFrameURL check in case of loading a non localhost URL with WebKitTestRunner.
- 2:56 PM Changeset in webkit [284038] by
-
- 5 edits1 add in trunk/Source
Switch WTF::bridge_cast to use type traits
<https://webkit.org/b/231467>
<rdar://problem/84050614>
Reviewed by Darin Adler.
Source/WebCore:
- accessibility/mac/AXObjectCacheMac.mm:
(WebCore::addTextMarkerFor):
- accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
- Call bridge_id_cast() with CF pointer to prevent autorelease.
(-[WebAccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]):
- Switch from calling RetainPtr<>::bridgingAutorelease() to bridge_id_cast(RetainPtr<>&&) since this prevents the objects from being autoreleased and prevents retain count churn since the lambdas return RetainPtr<id>.
Source/WTF:
- wtf/cocoa/TollFreeBridging.h: Add.
(WTF::CFTollFreeBridgingTraits): Add.
(WTF::NSTollFreeBridgingTraits): Add.
- Define type traits for CF and NS classes with toll-free bridging.
- wtf/cocoa/TypeCastsCocoa.h:
(WTF::bridge_cast):
- Make use of type traits in TollFreeBridging.h.
- 2:55 PM Changeset in webkit [284037] by
-
- 2 edits in trunk/LayoutTests
[ iOS15 Debug ] fast/scrolling/ios/click-events-during-momentum-scroll-in-main-frame.html is a flaky timeout.
https://bugs.webkit.org/show_bug.cgi?id=231623.
Unreviewed test gardening.
- platform/ios-wk2/TestExpectations:
- 2:51 PM Changeset in webkit [284036] by
-
- 4 edits in trunk/Source/JavaScriptCore
Fix spec-correctness when inlining proto intrinsic using get_by_id_with_this
https://bugs.webkit.org/show_bug.cgi?id=231559
Reviewed by Yusuke Suzuki.
My original fix in r283512 has some theoretical spec correctness issues.
I'm not sure if they can be materialized or not since we only use
get_by_id_with_this in very limited scenarios. However, this patch just
makes it so we call the getter instead of attempting to inline it
when using get_by_id_with_this.
- jit/AssemblyHelpers.cpp:
(JSC::AssemblyHelpers::emitLoadPrototypeWithoutCheck): Deleted.
- jit/AssemblyHelpers.h:
- jit/IntrinsicEmitter.cpp:
(JSC::IntrinsicGetterAccessCase::canEmitIntrinsicGetter):
(JSC::IntrinsicGetterAccessCase::emitIntrinsicGetter):
- 2:46 PM Changeset in webkit [284035] by
-
- 2 edits in trunk/LayoutTests
[ iOS15 ] 2 iOS rotation tests are timing out constantly.
https://bugs.webkit.org/show_bug.cgi?id=231622.
Unreviewed test gardening.
- platform/ios-wk2/TestExpectations:
- 2:39 PM Changeset in webkit [284034] by
-
- 2 edits in trunk/LayoutTests
[ iOS & 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/ios-wk2/TestExpectations:
- 2:34 PM Changeset in webkit [284033] by
-
- 2 edits in trunk/LayoutTests
[ iOS15 Debug ] 4 dom-paste tests are flaky timeouts.
https://bugs.webkit.org/show_bug.cgi?id=231619.
Unreviewed test gardening.
- platform/ios-wk2/TestExpectations:
- 2:31 PM Changeset in webkit [284032] by
-
- 1 copy in tags/Safari-612.2.9.1.8
Tag Safari-612.2.9.1.8.
- 2:28 PM Changeset in webkit [284031] by
-
- 8 edits in branches/safari-612.2.9.1.7-branch/Source
Versioning.
WebKit-7612.2.9.1.8
- 2:27 PM Changeset in webkit [284030] by
-
- 2 edits in trunk/LayoutTests
[ iOS ] fast/mediastream/apply-constraints-video.html is a flaky failure.
https://bugs.webkit.org/show_bug.cgi?id=231618
Unreviewed test gardening.
- platform/ios-wk2/TestExpectations:
- 2:23 PM Changeset in webkit [284029] by
-
- 2 edits in trunk/Source/WTF
Add support for ScrollOptions' ScrollBehavior and CSS scroll-behavior properties
https://bugs.webkit.org/show_bug.cgi?id=188043
<rdar://48436802>
Reviewed by Myles C. Maxfield.
Enable CSS smooth scrolling by default.
- Scripts/Preferences/WebPreferencesExperimental.yaml:
- 2:20 PM Changeset in webkit [284028] by
-
- 3 edits in trunk/LayoutTests
[ iOS15 iPad Debug ] compositing/layer-creation/scale-rotation-transition-overlap.html is a flaky timeout.
https://bugs.webkit.org/show_bug.cgi?id=231616.
Unreviewed test gardening.
- platform/ios-wk2/TestExpectations:
- platform/ipad/TestExpectations:
- 2:06 PM Changeset in webkit [284027] by
-
- 2 edits in trunk/LayoutTests
[ iOS ] imported/blink/fast/dom/importNode-cdata.html is a flaky timeout.
https://bugs.webkit.org/show_bug.cgi?id=231612
Unreviewed test gardening.
- platform/ios-wk2/TestExpectations:
- 2:01 PM Changeset in webkit [284026] by
-
- 2 edits in trunk/LayoutTests
[ iOS15 iPad Debug ] imported/w3c/web-platform-tests/webrtc-encoded-transform/sframe-transform-in-worker.https.html is a flaky failure.
https://bugs.webkit.org/show_bug.cgi?id=231611.
Unreviewed test gardening.
- platform/ipad/TestExpectations:
- 2:00 PM Changeset in webkit [284025] by
-
- 13 edits2 deletes in branches/safari-613.1.4-branch/Source
Revert "rdar://16833552 (Add a module map file for PrivateFrameworks/WebKitLegacy)"
This reverts commit r284023.
- 1:59 PM Changeset in webkit [284024] by
-
- 1 copy in tags/Safari-613.1.4.4
Tag Safari-613.1.4.4.
- 1:58 PM Changeset in webkit [284023] by
-
- 13 edits3 adds in branches/safari-613.1.4-branch/Source
rdar://16833552 (Add a module map file for PrivateFrameworks/WebKitLegacy)
Define modules for the Cocoa Touch environment. macOS can't define modules in WebKitLegacy because it's a nested framework on that platform. The public module is empty because there are no public headers. The private module map sets PrivateHeaders as the umbrella directory because there isn't an umbrella header already. Then it makes an explicit submodule for each header so as to mimic the non-modular environment.
Enable the modules verifier tool for Apple Internal (it's not supported in the public Xcode).
Add the Apple Internal guards for NSURLDownload from WebDownload.h to NSURLDownloadSPI.h so it can be included in the module.
WebCreateFragmentInternal.h and WebGeolocationCoreLocationProvider.h are Objective-C++ headers, but the WebKitLegacy module should be usable by plain Objective-C clients. Add C++ guards so that it can be included in the module.
Switch a few quoted includes to framework style angle includes, which are required for modules.
- 1:56 PM Changeset in webkit [284022] by
-
- 13 edits2 copies in trunk/Source
Scrolling thread animations need to commit layers on the scrolling thread
https://bugs.webkit.org/show_bug.cgi?id=231593
Reviewed by Tim Horton.
Source/WebCore:
Export some AsyncScrollingCoordinator functions.
- WebCore.xcodeproj/project.pbxproj:
- page/scrolling/AsyncScrollingCoordinator.h:
- page/scrolling/mac/ScrollingCoordinatorMac.h:
Source/WebKit:
Scroll animations were running on the scrolling thread (in that the timers were firing on
that thread), but the scrolling thread wasn't changing layer positions, so those animations
weren't smooth.
This happened because of an existing assumption that we only commit layer changes on the
scrolling thread in response to wheel events; the machinery around
ThreadedScrollingTree::displayDidRefresh() was all gated on having recently received a wheel
event.
To fix this we need to communicate back to the UI process when there are active scroll
animations running. The ScrollingTree already tracks this, and the virtual
hasNodeWithAnimatedScrollChanged() on ScrollingCoordinator is called for it. To get this to
the UI process on macOS, subclass ScrollingCoordinatorMac in WebKit2 and override
hasNodeWithAnimatedScrollChanged() to call into WebPage, which then IPCs to WebPageProxy.
This ends up calling setDisplayLinkForDisplayWantsFullSpeedUpdates() so that know to IPC
displayDidRefresh to EventDispatcher off the main thread (as we do for wheel events).
Scroll animations are still based on a 60Hz timer, but in future should be driven by
displayDidRefresh() notifications.
- SourcesCocoa.txt:
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::wheelEventHysteresisUpdated):
(WebKit::WebPageProxy::updateDisplayLinkFrequency):
(WebKit::WebPageProxy::updateWheelEventActivityAfterProcessSwap):
(WebKit::WebPageProxy::setHasActiveAnimatedScrolls):
(WebKit::WebPageProxy::resetStateAfterProcessExited):
- UIProcess/WebPageProxy.h:
- UIProcess/WebPageProxy.messages.in:
- WebKit.xcodeproj/project.pbxproj:
- WebProcess/WebCoreSupport/WebChromeClient.cpp:
(WebKit::WebChromeClient::createScrollingCoordinator const):
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::setHasActiveAnimatedScrolls):
- WebProcess/WebPage/WebPage.h:
- WebProcess/WebPage/mac/TiledCoreAnimationScrollingCoordinator.h: Copied from Source/WebCore/page/scrolling/mac/ScrollingCoordinatorMac.h.
- WebProcess/WebPage/mac/TiledCoreAnimationScrollingCoordinator.mm: Copied from Source/WebCore/page/scrolling/mac/ScrollingCoordinatorMac.h.
(WebKit::TiledCoreAnimationScrollingCoordinator::TiledCoreAnimationScrollingCoordinator):
(WebKit::TiledCoreAnimationScrollingCoordinator::pageDestroyed):
(WebKit::TiledCoreAnimationScrollingCoordinator::hasNodeWithAnimatedScrollChanged):
- 1:54 PM Changeset in webkit [284021] by
-
- 2 edits in trunk/Source/WebCore
Manage NetworkLoadMetrics on main thread in WebCoreNSURLSession
https://bugs.webkit.org/show_bug.cgi?id=231557
Patch by Alex Christensen <achristensen@webkit.org> on 2021-10-12
Reviewed by Jer Noble.
There is evidence that r281486 wasn't quite sufficient.
Instead of making an isolated copy when hopping threads then giving the metrics to an ObjC object,
which can be destroyed on any thread,
we now create the ObjC object on the main thread and destroy it on the main thread.
- platform/network/cocoa/WebCoreNSURLSession.mm:
(-[WebCoreNSURLSessionTaskTransactionMetrics _initWithMetrics:]):
(-[WebCoreNSURLSessionTaskTransactionMetrics dealloc]):
(-[WebCoreNSURLSessionTaskMetrics _initWithMetrics:]):
(-[WebCoreNSURLSessionTaskMetrics dealloc]):
(-[WebCoreNSURLSessionDataTask _resource:loadFinishedWithError:metrics:]):
- 1:52 PM Changeset in webkit [284020] by
-
- 2 edits in trunk/LayoutTests
[ iOS15 iPad Debug ] imported/w3c/web-platform-tests/webmessaging/MessagePort_onmessage_start.any.worker.html is a flaky failure (reached unreachable code).
https://bugs.webkit.org/show_bug.cgi?id=231609.
Unreviewed test gardening.
- platform/ipad/TestExpectations:
- 1:51 PM Changeset in webkit [284019] by
-
- 2 edits in trunk/LayoutTests
[ iOS ] applicationmanifest/developer-warnings.html is a flaky timeout.
https://bugs.webkit.org/show_bug.cgi?id=231610
Unreviewed test gardening.
- platform/ios-wk2/TestExpectations:
- 1:48 PM Changeset in webkit [284018] by
-
- 8 edits in branches/safari-613.1.4-branch/Source
Versioning.
WebKit-7613.1.4.4
- 1:47 PM Changeset in webkit [284017] by
-
- 16 edits in branches/safari-612-branch/Source/WebKit
Apply patch. rdar://problem/83955138
Branch application of r283504.
- 1:43 PM Changeset in webkit [284016] by
-
- 116 edits in trunk
Use STL instead of WTF::get_if, WTF::Monostate, WTF::visit, and WTF::holds_alternative
https://bugs.webkit.org/show_bug.cgi?id=231582
Patch by Alex Christensen <achristensen@webkit.org> on 2021-10-12
Reviewed by Darin Adler.
Source/JavaScriptCore:
- jit/AssemblyHelpers.cpp:
(JSC::AssemblyHelpers::branchIfValue):
- jsc.cpp:
(JSC_DEFINE_HOST_FUNCTION):
- parser/Lexer.cpp:
(JSC::Lexer<T>::lexWithoutClearingLineTerminator):
- parser/VariableEnvironment.h:
(JSC::CompactTDZEnvironment::toTDZEnvironment const):
- runtime/CacheUpdate.cpp:
(JSC::CacheUpdate::isGlobal const):
- runtime/CachedTypes.cpp:
(JSC::CachedCompactTDZEnvironment::encode):
- wasm/WasmLLIntGenerator.cpp:
(JSC::Wasm::LLIntGenerator::ControlType::isLoop):
(JSC::Wasm::LLIntGenerator::ControlType::isTopLevel):
(JSC::Wasm::LLIntGenerator::ControlType::isBlock):
(JSC::Wasm::LLIntGenerator::ControlType::isIf):
(JSC::Wasm::LLIntGenerator::ControlType::isTry):
(JSC::Wasm::LLIntGenerator::ControlType::isAnyCatch):
(JSC::Wasm::LLIntGenerator::ControlType::isCatch):
(JSC::Wasm::LLIntGenerator::ControlType::targetLabelForBranch const):
(JSC::Wasm::LLIntGenerator::ControlType::branchTargetArity const):
(JSC::Wasm::LLIntGenerator::ControlType::branchTargetType const):
(JSC::Wasm::LLIntGenerator::addElse):
(JSC::Wasm::LLIntGenerator::addCatchToUnreachable):
(JSC::Wasm::LLIntGenerator::addCatchAllToUnreachable):
(JSC::Wasm::LLIntGenerator::addRethrow):
(JSC::Wasm::LLIntGenerator::addEndToUnreachable):
Source/WebCore:
- Modules/applepay/paymentrequest/ApplePayPaymentHandler.cpp:
(WebCore::ApplePayPaymentHandler::handlesIdentifier):
- Modules/async-clipboard/ClipboardItemBindingsDataSource.cpp:
(WebCore::ClipboardItemBindingsDataSource::invokeCompletionHandler):
(WebCore::ClipboardItemBindingsDataSource::ClipboardItemTypeLoader::sanitizeDataIfNeeded):
- Modules/cache/DOMCache.cpp:
(WebCore::DOMCache::requestFromInfo):
- Modules/fetch/FetchBody.h:
(WebCore::FetchBody::isBlob const):
(WebCore::FetchBody::isFormData const):
(WebCore::FetchBody::isArrayBuffer const):
(WebCore::FetchBody::isArrayBufferView const):
(WebCore::FetchBody::isURLSearchParams const):
(WebCore::FetchBody::isText const):
- Modules/fetch/FetchHeaders.cpp:
(WebCore::fillHeaderMap):
- Modules/fetch/FetchRequest.cpp:
(WebCore::FetchRequest::create):
- Modules/indexeddb/IDBCursor.cpp:
(WebCore::IDBCursor::continuePrimaryKey):
- Modules/indexeddb/IDBDatabase.cpp:
(WebCore::IDBDatabase::createObjectStore):
(WebCore::IDBDatabase::transaction):
- Modules/indexeddb/IDBKeyPath.cpp:
(WebCore::isIDBKeyPathValid):
(WebCore::isolatedCopy):
(WebCore::loggingString):
- Modules/indexeddb/IDBObjectStore.cpp:
(WebCore::IDBObjectStore::createIndex):
- Modules/indexeddb/IDBRequest.cpp:
(WebCore::IDBRequest::requestedIndexRecordType const):
- Modules/indexeddb/server/IDBSerialization.cpp:
(WebCore::serializeIDBKeyPath):
- Modules/mediacontrols/MediaControlsHost.cpp:
(WebCore::MediaControlsHost::displayNameForTrack):
(WebCore::MediaControlsHost::showMediaControlsContextMenu):
- Modules/mediastream/RTCPeerConnection.cpp:
(WebCore::RTCPeerConnection::addTransceiver):
(WebCore::certificateTypeFromAlgorithmIdentifier):
- Modules/mediastream/RTCRtpSFrameTransform.cpp:
(WebCore::RTCRtpSFrameTransform::setEncryptionKey):
- Modules/speech/SpeechRecognitionUpdate.cpp:
(WebCore::SpeechRecognitionUpdate::create):
- Modules/speech/SpeechRecognitionUpdate.h:
- Modules/webxr/WebXRWebGLLayer.cpp:
(WebCore::WebXRWebGLLayer::create):
- animation/AnimationEffect.cpp:
(WebCore::AnimationEffect::updateTiming):
- animation/KeyframeEffect.cpp:
(WebCore::processIterableKeyframes):
(WebCore::processPropertyIndexedKeyframes):
(WebCore::KeyframeEffect::create):
- bindings/js/BufferSource.h:
(WebCore::BufferSource::data const):
(WebCore::BufferSource::length const):
- bindings/js/IDBBindingUtilities.cpp:
(WebCore::injectIDBKeyIntoScriptValue):
(WebCore::maybeCreateIDBKeyFromScriptValueAndKeyPath):
(WebCore::canInjectIDBKeyIntoScriptValue):
(WebCore::createKeyPathArray):
(WebCore::deserializeIDBValueWithKeyInjection):
- crypto/SubtleCrypto.cpp:
(WebCore::normalizeCryptoAlgorithmParameters):
- css/CSSCustomPropertyValue.cpp:
(WebCore::CSSCustomPropertyValue::createEmpty):
(WebCore::CSSCustomPropertyValue::equals const):
(WebCore::CSSCustomPropertyValue::customCSSText const):
(WebCore::CSSCustomPropertyValue::tokens const):
- css/CSSCustomPropertyValue.h:
- css/StyleRule.h:
- css/typedom/CSSUnparsedValue.cpp:
(WebCore::CSSUnparsedValue::serialize const):
- dom/DocumentMarker.h:
(WebCore::DocumentMarker::description const):
- dom/Element.cpp:
(WebCore::Element::scrollIntoView):
(WebCore::Element::animate):
- dom/EventTarget.cpp:
(WebCore::EventTarget::addEventListenerForBindings):
(WebCore::EventTarget::removeEventListenerForBindings):
- editing/Editor.cpp:
(WebCore::Editor::advanceToNextMisspelling):
- html/HTMLMediaElement.h:
(WebCore::HTMLMediaElement::hasMediaStreamSrcObject const):
- html/URLSearchParams.cpp:
(WebCore::URLSearchParams::create):
- html/canvas/CanvasStyle.cpp:
(WebCore::CanvasStyle::isEquivalentColor const):
(WebCore::CanvasStyle::isEquivalent const):
- html/canvas/CanvasStyle.h:
(WebCore::CanvasStyle::isValid const):
(WebCore::CanvasStyle::isCurrentColor const):
(WebCore::CanvasStyle::canvasGradient const):
(WebCore::CanvasStyle::canvasPattern const):
- html/canvas/WebGLRenderingContextBase.cpp:
(WebCore::InspectorScopedShaderProgramHighlight::saveBlendValue):
(WebCore::InspectorScopedShaderProgramHighlight::hasBufferBinding):
(WebCore::InspectorScopedShaderProgramHighlight::hasFramebufferParameterAttachment):
(WebCore::WebGLRenderingContextBase::bufferData):
(WebCore::WebGLRenderingContextBase::bufferSubData):
(WebCore::WebGLRenderingContextBase::getTexImageSourceSize):
(WebCore::WebGLRenderingContextBase::texImageSourceHelper):
- html/track/VTTCue.cpp:
(WebCore::VTTCue::setLine):
(WebCore::VTTCue::setPosition):
- inspector/InspectorCanvas.cpp:
(WebCore::InspectorCanvas::canvasContext const):
(WebCore::InspectorCanvas::canvasElement const):
(WebCore::InspectorCanvas::scriptExecutionContext const):
(WebCore::InspectorCanvas::resolveContext const):
(WebCore:: const):
(WebCore::InspectorCanvas::buildObjectForCanvas):
(WebCore::InspectorCanvas::indexForData):
- inspector/InspectorCanvas.h:
- inspector/InspectorShaderProgram.cpp:
(WebCore::InspectorShaderProgram::program const):
(WebCore::InspectorShaderProgram::requestShaderSource):
(WebCore::InspectorShaderProgram::updateShader):
(WebCore::InspectorShaderProgram::buildObjectForShaderProgram):
- inspector/InspectorShaderProgram.h:
- inspector/agents/InspectorIndexedDBAgent.cpp:
(WebCore::Inspector::keyPathFromIDBKeyPath):
- layout/integration/InlineIteratorBox.h:
(WebCore::InlineIterator::Box::legacyInlineBox const):
(WebCore::InlineIterator::Box::inlineBox const):
- platform/PasteboardCustomData.cpp:
(WebCore::copyPlatformData):
(WebCore::PasteboardCustomData::readBuffer const):
(WebCore::PasteboardCustomData::readString const):
(WebCore::PasteboardCustomData::forEachPlatformString const):
(WebCore::PasteboardCustomData::forEachPlatformStringOrBuffer const):
- platform/SharedBuffer.cpp:
(WebCore::SharedBuffer::takeData):
(WebCore::SharedBuffer::DataSegment::data const):
(WebCore::SharedBuffer::DataSegment::containsMappedFileData const):
(WebCore::SharedBuffer::DataSegment::size const):
- platform/cf/SharedBufferCF.cpp:
(WebCore::SharedBuffer::createCFData const):
(WebCore::SharedBuffer::hintMemoryNotNeededSoon const):
- platform/generic/KeyedDecoderGeneric.cpp:
(WebCore::KeyedDecoderGeneric::getPointerFromDictionaryStack):
- platform/graphics/DecodingOptions.h:
(WebCore::DecodingOptions::has const):
- platform/graphics/FontCascadeFonts.cpp:
(WebCore::realizeNextFallback):
- platform/graphics/InlinePathData.h:
- platform/graphics/Path.h:
(WebCore::Path::hasInlineData const):
- platform/graphics/cg/PathCG.cpp:
(WebCore::Path::createCGPath const):
(WebCore::Path::ensurePlatformPath):
(WebCore::Path::Path):
(WebCore::Path::transform):
(WebCore::Path::clear):
- platform/graphics/displaylists/DisplayListItemBuffer.cpp:
(WebCore::DisplayList::safeCopy):
- platform/graphics/displaylists/DisplayListItemType.cpp:
(WebCore::DisplayList::paddedSizeOfTypeAndItemInBytes):
(WebCore::DisplayList::displayListItemType):
- platform/graphics/displaylists/DisplayListResourceHeap.h:
(WebCore::DisplayList::ResourceHeap::deleteAllFonts):
(WebCore::DisplayList::ResourceHeap::get const):
(WebCore::DisplayList::ResourceHeap::remove):
- platform/graphics/gstreamer/eme/CDMProxyClearKey.cpp:
(WebCore::CDMProxyClearKey::cencSetDecryptionKey):
- platform/graphics/gstreamer/eme/CDMProxyThunder.cpp:
(WebCore::CDMProxyThunder::getDecryptionSession const):
- platform/ios/PlatformPasteboardIOS.mm:
(WebCore::createItemProviderRegistrationList):
- platform/mac/PlatformPasteboardMac.mm:
(WebCore::PlatformPasteboard::write):
(WebCore::createPasteboardItem):
- platform/mock/MockMediaDevice.h:
(WebCore::MockMediaDevice::isMicrophone const):
(WebCore::MockMediaDevice::isSpeaker const):
(WebCore::MockMediaDevice::isCamera const):
(WebCore::MockMediaDevice::isDisplay const):
- platform/mock/MockRealtimeVideoSource.cpp:
(WebCore::MockRealtimeVideoSource::mockDisplayType const):
- platform/mock/MockRealtimeVideoSource.h:
(WebCore::MockRealtimeVideoSource::mockCamera const):
(WebCore::MockRealtimeVideoSource::mockDisplay const):
- platform/network/DNS.h:
(WebCore::IPAddress::isIPv4 const):
(WebCore::IPAddress::isIPv6 const):
- platform/network/FormData.cpp:
(WebCore::FormData::imageOrMediaFilesCount const):
(WebCore::FormData::appendData):
(WebCore::FormData::appendMultiPartKeyValuePairItems):
(WebCore::FormData::appendNonMultiPartKeyValuePairItems):
(WebCore::FormData::flatten const):
(WebCore::FormData::containsBlobElement const):
(WebCore::FormData::prepareForUpload):
(WebCore::FormData::asSharedBuffer const):
(WebCore::FormData::asBlobURL const):
- platform/network/ResourceRequestBase.cpp:
(WebCore::ResourceRequestBase::hasUpload const):
- platform/network/cf/FormDataStreamCFNet.cpp:
(WebCore::setHTTPBody):
- platform/network/curl/CurlContext.cpp:
(WebCore::CurlHandle::enableSSLForHost):
- platform/network/curl/CurlSSLHandle.cpp:
(WebCore::CurlSSLHandle::clearCACertInfo):
- platform/network/curl/CurlSSLVerifier.cpp:
(WebCore::CurlSSLVerifier::CurlSSLVerifier):
- platform/network/soup/ResourceRequestSoup.cpp:
(WebCore::ResourceRequest::updateSoupMessageBody const):
- platform/network/soup/WebKitFormDataInputStream.cpp:
(webkitFormDataInputStreamNew):
- platform/win/PasteboardWin.cpp:
(WebCore::Pasteboard::writeCustomData):
- platform/xr/PlatformXR.h:
(PlatformXR::Device::FrameData::View::encode const):
- rendering/RenderBlockFlow.cpp:
(WebCore::RenderBlockFlow::setChildrenInline):
(WebCore::RenderBlockFlow::deleteLines):
(WebCore::RenderBlockFlow::invalidateLineLayoutPath):
- rendering/RenderBlockFlow.h:
(WebCore::RenderBlockFlow::hasLineLayout const):
(WebCore::RenderBlockFlow::hasLegacyLineLayout const):
(WebCore::RenderBlockFlow::hasModernLineLayout const):
- style/StyleBuilder.cpp:
(WebCore::Style::Builder::applyCustomProperty):
(WebCore::Style::Builder::applyProperty):
- workers/service/ServiceWorkerJobData.cpp:
(WebCore::ServiceWorkerJobData::serviceWorkerPageIdentifier const):
- workers/service/context/ServiceWorkerThread.cpp:
(WebCore::ServiceWorkerThread::queueTaskToPostMessage):
- workers/service/server/SWServerJobQueue.cpp:
(WebCore::SWServerJobQueue::cancelJobsFromServiceWorker):
Source/WebKit:
- NetworkProcess/NetworkConnectionToWebProcess.cpp:
(WebKit::NetworkConnectionToWebProcess::resolveBlobReferences):
- NetworkProcess/NetworkResourceLoadParameters.cpp:
(WebKit::NetworkResourceLoadParameters::encode const):
- NetworkProcess/cache/NetworkCacheDataCurl.cpp:
(WebKit::NetworkCache::Data::Data):
- Platform/IPC/ArgumentCoders.h:
(IPC::ArgumentCoder<std::monostate>::encode):
(IPC::ArgumentCoder<std::monostate>::decode):
(IPC::ArgumentCoder<Monostate>::encode): Deleted.
(IPC::ArgumentCoder<Monostate>::decode): Deleted.
- Platform/IPC/FormDataReference.h:
(IPC::FormDataReference::encode const):
- Platform/IPC/MessageReceiveQueueMap.cpp:
(IPC::MessageReceiveQueueMap::get const):
- Platform/IPC/unix/ConnectionUnix.cpp:
(IPC::Connection::sendOutputMessage):
- Shared/WebCoreArgumentCoders.cpp:
(IPC::ArgumentCoder<PasteboardCustomData::Entry>::encode):
(IPC::ArgumentCoder<IDBKeyPath>::encode):
(IPC::ArgumentCoder<ServiceWorkerOrClientData>::encode):
(IPC::ArgumentCoder<ServiceWorkerOrClientIdentifier>::encode):
- Shared/WebPreferencesStore.cpp:
(WebKit::valueForKey):
- UIProcess/ProcessThrottler.cpp:
(WebKit::ProcessThrottler::isValidBackgroundActivity):
(WebKit::ProcessThrottler::isValidForegroundActivity):
(WebKit::ProcessThrottler::TimedActivity::updateTimer):
- UIProcess/WebAuthentication/Authenticator.cpp:
(WebKit::Authenticator::handleRequest):
- UIProcess/WebAuthentication/AuthenticatorManager.cpp:
(WebKit::WebCore::getRpId):
(WebKit::WebCore::getUserName):
(WebKit::AuthenticatorManager::respondReceived):
(WebKit::AuthenticatorManager::invokePendingCompletionHandler):
- UIProcess/WebAuthentication/WebAuthenticationRequestData.cpp:
(WebKit::getClientDataType):
(WebKit::getUserVerificationRequirement):
- UIProcess/gtk/WebPasteboardProxyGtk.cpp:
(WebKit::WebPasteboardProxy::writeCustomData):
- WebProcess/GPU/graphics/ImageBufferShareableBitmapBackend.cpp:
(WebKit::ImageBufferShareableBitmapBackend::create):
- WebProcess/GPU/graphics/RemoteImageBufferProxy.h:
- WebProcess/GPU/graphics/cocoa/ImageBufferShareableIOSurfaceBackend.cpp:
(WebKit::ImageBufferShareableIOSurfaceBackend::create):
- WebProcess/GPU/graphics/cocoa/ImageBufferShareableMappedIOSurfaceBackend.cpp:
(WebKit::ImageBufferShareableMappedIOSurfaceBackend::create):
- WebProcess/Storage/WebServiceWorkerFetchTaskClient.cpp:
(WebKit::WebServiceWorkerFetchTaskClient::didReceiveData):
- WebProcess/WebCoreSupport/gtk/WebEditorClientGtk.cpp:
(WebKit::WebEditorClient::executePendingEditorCommands):
- WebProcess/WebPage/Cocoa/TextCheckingControllerProxy.mm:
(WebKit::TextCheckingControllerProxy::removeAnnotationRelativeToSelection):
Source/WTF:
- wtf/Variant.h:
(WTF::switchOn):
(): Deleted.
(WTF::visit): Deleted.
(WTF::get_if): Deleted.
Tools:
- TestWebKitAPI/Tests/WTF/Variant.cpp:
(TestWebKitAPI::TEST):
- TestWebKitAPI/Tests/WebKitCocoa/PrivateClickMeasurement.mm:
(addValuesToTable):
- 1:34 PM Changeset in webkit [284015] by
-
- 2 edits in branches/safari-612-branch/LayoutTests
Apply patch. rdar://problem/84113071
Branch application of r283529.
- 1:34 PM Changeset in webkit [284014] by
-
- 3 edits in branches/safari-612-branch/LayoutTests
Apply patch. rdar://problem/83953928
Branch application of r282866.
- 1:34 PM Changeset in webkit [284013] by
-
- 14 edits3 deletes in branches/safari-612-branch
Apply patch. rdar://problem/83953336
Branch application of r282513.
- 1:34 PM Changeset in webkit [284012] by
-
- 44 edits1 copy300 adds in branches/safari-612-branch/LayoutTests
Apply patch. rdar://problem/83954451
Branch application of r282203.
- 1:33 PM Changeset in webkit [284011] by
-
- 2 edits in branches/safari-612-branch/Source/WebCore
Apply patch. rdar://problem/84113082
Branch application of r281545.
- 1:22 PM Changeset in webkit [284010] by
-
- 3 edits in trunk/Tools
Reverting r282216 becasue unauthenticated GitHub requests have low rate limits
https://bugs.webkit.org/show_bug.cgi?id=230095
Reviewed by Ryan Haddad.
- CISupport/ews-build/factories.py:
(WatchListFactory.init):
- CISupport/ews-build/factories_unittest.py:
(TestExpectedBuildSteps):
- 1:09 PM Changeset in webkit [284009] by
-
- 127 edits in trunk/Source
Allow direct construction of WeakPtr without makeWeakPtr()
https://bugs.webkit.org/show_bug.cgi?id=231580
Reviewed by Darin Adler.
Allow direct construction of WeakPtr without makeWeakPtr(), and deprecate makeWeakPtr().
Source/WebCore:
- Modules/applepay/PaymentCoordinator.cpp:
(WebCore::PaymentCoordinator::canMakePaymentsWithActiveCard):
(WebCore::PaymentCoordinator::getSetupFeatures):
(WebCore::PaymentCoordinator::beginApplePaySetup):
- Modules/async-clipboard/Clipboard.cpp:
(WebCore::Clipboard::Clipboard):
(WebCore::Clipboard::ItemWriter::ItemWriter):
- Modules/async-clipboard/ClipboardItem.cpp:
(WebCore::ClipboardItem::ClipboardItem):
- Modules/async-clipboard/ClipboardItemBindingsDataSource.cpp:
(WebCore::ClipboardItemBindingsDataSource::collectDataForWriting):
- Modules/contact-picker/ContactsManager.cpp:
(WebCore::ContactsManager::ContactsManager):
- Modules/credentialmanagement/NavigatorCredentials.cpp:
(WebCore::NavigatorCredentials::credentials):
- Modules/encryptedmedia/MediaKeySession.cpp:
(WebCore::MediaKeySession::generateRequest):
(WebCore::MediaKeySession::load):
(WebCore::MediaKeySession::update):
(WebCore::MediaKeySession::close):
(WebCore::MediaKeySession::remove):
- Modules/encryptedmedia/MediaKeySystemAccess.cpp:
(WebCore::MediaKeySystemAccess::createMediaKeys):
- Modules/mediastream/MediaDevices.cpp:
(WebCore::MediaDevices::listenForDeviceChanges):
- Modules/webxr/WebXRSession.cpp:
(WebCore::WebXRSession::requestReferenceSpace):
- accessibility/AXObjectCache.cpp:
(WebCore::AXObjectCache::currentModalNode):
- accessibility/AccessibilityListBoxOption.cpp:
(WebCore::AccessibilityListBoxOption::AccessibilityListBoxOption):
- accessibility/AccessibilityMenuListOption.cpp:
(WebCore::AccessibilityMenuListOption::AccessibilityMenuListOption):
- accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::AccessibilityRenderObject):
(WebCore::AccessibilityRenderObject::setRenderer):
- accessibility/AccessibilitySVGRoot.cpp:
(WebCore::AccessibilitySVGRoot::setParent):
- accessibility/AccessibilityScrollView.cpp:
(WebCore::AccessibilityScrollView::AccessibilityScrollView):
- accessibility/atspi/AccessibilityRootAtspi.cpp:
(WebCore::AccessibilityRootAtspi::AccessibilityRootAtspi):
- animation/AnimationEffect.h:
(WebCore::AnimationEffect::setAnimation):
- css/typedom/CSSStyleImageValue.cpp:
(WebCore::CSSStyleImageValue::CSSStyleImageValue):
- dom/AbortSignal.cpp:
(WebCore::AbortSignal::signalFollow):
- dom/Document.cpp:
(WebCore::Document::didLogMessage):
(WebCore::Document::didRejectSyncXHRDuringPageDismissal):
- dom/DocumentStorageAccess.cpp:
(WebCore::DocumentStorageAccess::hasStorageAccess):
(WebCore::DocumentStorageAccess::requestStorageAccess):
(WebCore::DocumentStorageAccess::requestStorageAccessQuirk):
- dom/EventTarget.cpp:
(WebCore::EventTarget::addEventListener):
- dom/FullscreenManager.cpp:
(WebCore::FullscreenManager::requestFullscreenForElement):
(WebCore::FullscreenManager::exitFullscreen):
- editing/TextManipulationController.cpp:
(WebCore::TextManipulationController::scheduleObservationUpdate):
- html/FileInputType.cpp:
(WebCore::FileInputType::filesChosen):
- html/ValidationMessage.cpp:
(WebCore::ValidationMessage::buildBubbleTree):
- html/shadow/MediaControlTextTrackContainerElement.cpp:
(WebCore::MediaControlTextTrackContainerElement::updateSizes):
- inspector/InspectorFrontendAPIDispatcher.cpp:
(WebCore::InspectorFrontendAPIDispatcher::evaluateOrQueueExpression):
- inspector/agents/InspectorCanvasAgent.cpp:
(WebCore::InspectorCanvasAgent::recordAction):
- loader/DocumentThreadableLoader.cpp:
(WebCore::DocumentThreadableLoader::computeIsDone):
- page/ios/ContentChangeObserver.cpp:
(WebCore::ContentChangeObserver::didFinishTransition):
- platform/DeferrableTask.h:
(WebCore::MainThreadDeferrableTask::scheduleTask):
- platform/audio/mac/AudioHardwareListenerMac.cpp:
(WebCore::AudioHardwareListenerMac::AudioHardwareListenerMac):
- platform/cocoa/PowerSourceNotifier.mm:
(WebCore::PowerSourceNotifier::PowerSourceNotifier):
- platform/cocoa/RemoteCommandListenerCocoa.mm:
(WebCore::RemoteCommandListenerCocoa::RemoteCommandListenerCocoa):
- platform/encryptedmedia/CDMPrivate.cpp:
(WebCore::CDMPrivate::doSupportedConfigurationStep):
- platform/encryptedmedia/clearkey/CDMClearKey.cpp:
(WebCore::CDMInstanceSessionClearKey::requestLicense):
(WebCore::CDMInstanceSessionClearKey::updateLicense):
(WebCore::CDMInstanceSessionClearKey::loadSession):
(WebCore::CDMInstanceSessionClearKey::closeSession):
(WebCore::CDMInstanceSessionClearKey::removeSessionData):
- platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
(WebCore::MediaPlayerPrivateAVFoundation::setNeedsRenderingModeChanged):
(WebCore::MediaPlayerPrivateAVFoundation::scheduleMainThreadNotification):
(WebCore::MediaPlayerPrivateAVFoundation::dispatchNotification):
- platform/graphics/avfoundation/objc/CDMInstanceFairPlayStreamingAVFObjC.mm:
(WebCore::CDMInstanceSessionFairPlayStreamingAVFObjC::updateLicense):
(WebCore::CDMInstanceSessionFairPlayStreamingAVFObjC::didProvideRequest):
(WebCore::CDMInstanceSessionFairPlayStreamingAVFObjC::didProvideRequests):
(WebCore::CDMInstanceSessionFairPlayStreamingAVFObjC::didProvideRenewingRequest):
- platform/graphics/avfoundation/objc/LocalSampleBufferDisplayLayer.mm:
(WebCore::LocalSampleBufferDisplayLayer::requestNotificationWhenReadyForVideoData):
- platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(WebCore::MediaPlayerPrivateAVFoundationObjC::createVideoLayer):
(WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayer):
(WebCore::MediaPlayerPrivateAVFoundationObjC::checkPlayability):
(WebCore::MediaPlayerPrivateAVFoundationObjC::beginLoadingMetadata):
(WebCore::MediaPlayerPrivateAVFoundationObjC::seekToTime):
(WebCore::MediaPlayerPrivateAVFoundationObjC::setShouldPlayToPlaybackTarget):
- platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::MediaPlayerPrivateMediaSourceAVFObjC):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::play):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::pause):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::playAtHostTime):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::pauseAtHostTime):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::durationChanged):
- platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.mm:
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::scheduleDeferredTask):
- platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:
(WebCore::SourceBufferPrivateAVFObjC::didParseInitializationData):
(WebCore::SourceBufferPrivateAVFObjC::trackDidChangeEnabled):
(WebCore::SourceBufferPrivateAVFObjC::setCDMSession):
(WebCore::SourceBufferPrivateAVFObjC::flushVideo):
(WebCore::SourceBufferPrivateAVFObjC::enqueueSample):
(WebCore::SourceBufferPrivateAVFObjC::notifyClientWhenReadyForMoreSamples):
(WebCore::SourceBufferPrivateAVFObjC::setVideoLayer):
(WebCore::SourceBufferPrivateAVFObjC::setDecompressionSession):
- platform/graphics/avfoundation/objc/WebCoreAVFResourceLoader.mm:
(WebCore::DataURLResourceMediaLoader::DataURLResourceMediaLoader):
- platform/graphics/cocoa/TextTrackRepresentationCocoa.mm:
(WebCore::TextTrackRepresentationCocoa::boundsChanged):
- platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
(WebCore::MediaPlayerPrivateGStreamer::handleMessage):
(WebCore::MediaPlayerPrivateGStreamer::invalidateCachedPositionOnNextIteration const):
(WebCore::MediaPlayerPrivateGStreamer::triggerRepaint):
(WebCore::MediaPlayerPrivateGStreamer::initializationDataEncountered):
- platform/mediarecorder/cocoa/MediaRecorderPrivateWriterCocoa.mm:
(WebCore::MediaRecorderPrivateWriter::flushCompressedSampleBuffers):
- platform/mediastream/libwebrtc/LibWebRTCDTMFSenderBackend.cpp:
(WebCore::LibWebRTCDTMFSenderBackend::OnToneChange):
- platform/mediastream/mac/CGDisplayStreamCaptureSource.cpp:
(WebCore::CGDisplayStreamCaptureSource::frameAvailableHandler):
- platform/mock/MediaPlaybackTargetPickerMock.cpp:
(WebCore::MediaPlaybackTargetPickerMock::showPlaybackTargetPicker):
(WebCore::MediaPlaybackTargetPickerMock::startingMonitoringPlaybackTargets):
(WebCore::MediaPlaybackTargetPickerMock::setState):
- platform/network/cocoa/CookieStorageObserver.mm:
(WebCore::CookieStorageObserver::cookiesDidChange):
- platform/network/cocoa/NetworkStorageSessionCocoa.mm:
(WebCore::NetworkStorageSession::registerCookieChangeListenersIfNecessary):
- platform/xr/openxr/PlatformXROpenXR.cpp:
(PlatformXR::OpenXRDevice::endSession):
(PlatformXR::OpenXRDevice::updateInteractionProfile):
- rendering/RenderWidget.cpp:
(WebCore::RenderWidget::setWidgetGeometry):
(WebCore::RenderWidget::setWidget):
(WebCore::RenderWidget::updateWidgetPosition):
- testing/WebFakeXRDevice.cpp:
(WebCore::SimulatedXRDevice::initializeTrackingAndRendering):
- workers/WorkerRunLoop.cpp:
(WebCore::WorkerMainRunLoop::postTaskAndTerminate):
(WebCore::WorkerMainRunLoop::postTaskForMode):
Source/WebCore/PAL:
- pal/system/mac/SystemSleepListenerMac.mm:
(PAL::SystemSleepListenerMac::SystemSleepListenerMac):
Source/WebKit:
- NetworkProcess/Classifier/ResourceLoadStatisticsDatabaseStore.cpp:
(WebKit::ResourceLoadStatisticsDatabaseStore::updateCookieBlocking):
- NetworkProcess/Classifier/ResourceLoadStatisticsStore.cpp:
(WebKit::ResourceLoadStatisticsStore::removeDataRecords):
(WebKit::ResourceLoadStatisticsStore::processStatisticsAndDataRecords):
(WebKit::ResourceLoadStatisticsStore::grandfatherExistingWebsiteData):
(WebKit::ResourceLoadStatisticsStore::scheduleStatisticsProcessingRequestIfNecessary):
(WebKit::ResourceLoadStatisticsStore::debugBroadcastConsoleMessage):
- NetworkProcess/Downloads/Download.cpp:
(WebKit::Download::cancel):
- NetworkProcess/NetworkDataTask.cpp:
(WebKit::NetworkDataTask::scheduleFailure):
- NetworkProcess/NetworkLoadChecker.cpp:
(WebKit::NetworkLoadChecker::checkRequest):
- NetworkProcess/NetworkProcess.cpp:
(WebKit::m_messagePortChannelRegistry):
(WebKit::NetworkProcess::suspendIDBServers):
(WebKit::NetworkProcess::storageQuotaManager):
- NetworkProcess/NetworkResourceLoader.cpp:
(WebKit::NetworkResourceLoader::start):
(WebKit::NetworkResourceLoader::retrieveCacheEntry):
(WebKit::NetworkResourceLoader::startNetworkLoad):
- NetworkProcess/NetworkSession.cpp:
(WebKit::NetworkSession::handlePrivateClickMeasurementConversion):
- NetworkProcess/PingLoad.cpp:
(WebKit::PingLoad::initialize):
(WebKit::PingLoad::didReceiveChallenge):
(WebKit::PingLoad::didReceiveResponse):
- NetworkProcess/PrivateClickMeasurement/PrivateClickMeasurementManager.cpp:
(WebKit::PrivateClickMeasurementManager::storeUnattributed):
(WebKit::PrivateClickMeasurementManager::getTokenPublicKey):
(WebKit::PrivateClickMeasurementManager::getSignedUnlinkableToken):
(WebKit::PrivateClickMeasurementManager::attribute):
(WebKit::PrivateClickMeasurementManager::fireConversionRequest):
(WebKit::PrivateClickMeasurementManager::fireConversionRequestImpl):
(WebKit::PrivateClickMeasurementManager::firePendingAttributionRequests):
(WebKit::PrivateClickMeasurementManager::destroyStoreForTesting):
- NetworkProcess/ServiceWorker/ServiceWorkerSoftUpdateLoader.cpp:
(WebKit::ServiceWorkerSoftUpdateLoader::ServiceWorkerSoftUpdateLoader):
- NetworkProcess/WebStorage/LocalStorageDatabase.cpp:
(WebKit::LocalStorageDatabase::startTransactionIfNecessary):
- NetworkProcess/cache/NetworkCacheSpeculativeLoadManager.cpp:
(WebKit::NetworkCache::SpeculativeLoadManager::registerLoad):
(WebKit::NetworkCache::SpeculativeLoadManager::preloadEntry):
- NetworkProcess/cocoa/NetworkDataTaskCocoa.mm:
(WebKit::NetworkDataTaskCocoa::willPerformHTTPRedirection):
- NetworkProcess/ios/NetworkProcessIOS.mm:
(WebKit::NetworkProcess::setIsHoldingLockedFiles):
- Shared/ApplePay/WebPaymentCoordinatorProxy.cpp:
(WebKit::WebPaymentCoordinatorProxy::showPaymentUI):
- Shared/ApplePay/ios/WebPaymentCoordinatorProxyIOS.mm:
(WebKit::WebPaymentCoordinatorProxy::platformShowPaymentUI):
- Shared/ApplePay/mac/WebPaymentCoordinatorProxyMac.mm:
(WebKit::WebPaymentCoordinatorProxy::platformShowPaymentUI):
- Shared/Authentication/cocoa/AuthenticationManagerCocoa.mm:
(WebKit::AuthenticationManager::initializeConnection):
- Shared/WebSQLiteDatabaseTracker.cpp:
(WebKit::WebSQLiteDatabaseTracker::didFinishLastTransaction):
- UIProcess/ApplicationStateTracker.mm:
(WebKit::ApplicationStateTracker::ApplicationStateTracker):
- UIProcess/AuxiliaryProcessProxy.cpp:
(WebKit::AuxiliaryProcessProxy::checkForResponsiveness):
- UIProcess/Cocoa/DownloadProxyMapCocoa.mm:
(WebKit::DownloadProxyMap::platformCreate):
- UIProcess/Cocoa/ModelElementControllerCocoa.mm:
(WebKit::ModelElementController::modelElementDidCreatePreview):
- UIProcess/Cocoa/SOAuthorization/SOAuthorizationSession.mm:
(WebKit::SOAuthorizationSession::start):
(WebKit::SOAuthorizationSession::continueStartAfterGetAuthorizationHints):
(WebKit::SOAuthorizationSession::complete):
(WebKit::SOAuthorizationSession::presentViewController):
- UIProcess/Cocoa/WebPageProxyCocoa.mm:
(WebKit::WebPageProxy::scheduleActivityStateUpdate):
(WebKit::WebPageProxy::setUpHighlightsObserver):
- UIProcess/Cocoa/WebProcessProxyCocoa.mm:
(WebKit::WebProcessProxy::sendAudioComponentRegistrations):
- UIProcess/Cocoa/WebViewImpl.mm:
(WebKit::WebViewImpl::showSafeBrowsingWarning):
(WebKit::WebViewImpl::updateWindowAndViewFrames):
(WebKit::WebViewImpl::scheduleSetTopContentInsetDispatch):
(WebKit::WebViewImpl::viewDidMoveToWindow):
(WebKit::WebViewImpl::prepareForMoveToWindow):
(WebKit::WebViewImpl::validateUserInterfaceItem):
(WebKit::WebViewImpl::requestCandidatesForSelectionIfNeeded):
(WebKit::WebViewImpl::interpretKeyEvent):
(WebKit::WebViewImpl::firstRectForCharacterRange):
(WebKit::WebViewImpl::performKeyEquivalent):
(WebKit::WebViewImpl::keyUp):
(WebKit::WebViewImpl::keyDown):
(WebKit::WebViewImpl::flagsChanged):
(WebKit::WebViewImpl::nativeMouseEventHandler):
(WebKit::WebViewImpl::handleContextMenuTranslation):
- UIProcess/GPU/GPUProcessProxy.cpp:
(WebKit::GPUProcessProxy::getGPUProcessConnection):
- UIProcess/Media/cocoa/AudioSessionRoutingArbitratorProxyCocoa.mm:
(WebKit::AudioSessionRoutingArbitratorProxy::beginRoutingArbitrationWithCategory):
- UIProcess/Network/NetworkProcessProxy.cpp:
(WebKit::NetworkProcessProxy::getNetworkProcessConnection):
- UIProcess/ProcessThrottler.cpp:
(WebKit::ProcessThrottler::setAssertionType):
(WebKit::ProcessThrottler::sendPrepareToSuspendIPC):
- UIProcess/SpeechRecognitionPermissionManager.cpp:
(WebKit::SpeechRecognitionPermissionManager::requestUserPermission):
- UIProcess/UserMediaPermissionRequestManagerProxy.cpp:
(WebKit::UserMediaPermissionRequestManagerProxy::grantRequest):
(WebKit::UserMediaPermissionRequestManagerProxy::getUserMediaPermissionInfo):
(WebKit::UserMediaPermissionRequestManagerProxy::enumerateMediaDevicesForFrame):
- UIProcess/UserMediaProcessManager.cpp:
(WebKit::UserMediaProcessManager::updateCaptureDevices):
- UIProcess/WebAuthentication/Authenticator.cpp:
(WebKit::Authenticator::handleRequest):
- UIProcess/WebAuthentication/AuthenticatorManager.cpp:
(WebKit::AuthenticatorManager::clearStateAsync):
(WebKit::AuthenticatorManager::downgrade):
(WebKit::AuthenticatorManager::requestPin):
(WebKit::AuthenticatorManager::runPanel):
- UIProcess/WebAuthentication/AuthenticatorTransportService.cpp:
(WebKit::AuthenticatorTransportService::startDiscovery):
(WebKit::AuthenticatorTransportService::restartDiscovery):
- UIProcess/WebAuthentication/Cocoa/LocalAuthenticator.mm:
(WebKit::LocalAuthenticator::makeCredential):
(WebKit::LocalAuthenticator::continueMakeCredentialAfterDecidePolicy):
(WebKit::LocalAuthenticator::continueMakeCredentialAfterReceivingLAContext):
(WebKit::LocalAuthenticator::continueMakeCredentialAfterUserVerification):
(WebKit::LocalAuthenticator::getAssertion):
(WebKit::LocalAuthenticator::continueGetAssertionAfterResponseSelected):
- UIProcess/WebAuthentication/Cocoa/NfcService.mm:
(WebKit::NfcService::platformStartDiscovery):
- UIProcess/WebAuthentication/Mock/MockHidConnection.cpp:
(WebKit::MockHidConnection::send):
(WebKit::MockHidConnection::feedReports):
(WebKit::MockHidConnection::continueFeedReports):
- UIProcess/WebAuthentication/Mock/MockNfcService.mm:
(WebKit::MockNfcService::receiveStartPolling):
- UIProcess/WebAuthentication/WebAuthnProcessProxy.cpp:
(WebKit::WebAuthnProcessProxy::getWebAuthnProcessConnection):
- UIProcess/WebAuthentication/fido/CtapAuthenticator.cpp:
(WebKit::CtapAuthenticator::makeCredential):
(WebKit::CtapAuthenticator::getAssertion):
(WebKit::CtapAuthenticator::continueGetAssertionAfterResponseReceived):
(WebKit::CtapAuthenticator::continueGetNextAssertionAfterResponseReceived):
(WebKit::CtapAuthenticator::getRetries):
(WebKit::CtapAuthenticator::continueGetKeyAgreementAfterGetRetries):
(WebKit::CtapAuthenticator::continueRequestPinAfterGetKeyAgreement):
(WebKit::CtapAuthenticator::continueGetPinTokenAfterRequestPin):
- UIProcess/WebAuthentication/fido/CtapHidDriver.cpp:
(WebKit::CtapHidDriver::Worker::transact):
(WebKit::CtapHidDriver::Worker::write):
(WebKit::CtapHidDriver::transact):
(WebKit::CtapHidDriver::continueAfterChannelAllocated):
- UIProcess/WebAuthentication/fido/FidoService.cpp:
(WebKit::FidoService::getInfo):
- UIProcess/WebAuthentication/fido/U2fAuthenticator.cpp:
(WebKit::U2fAuthenticator::issueCommand):
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::tryClose):
(WebKit::WebPageProxy::setUnderPageBackgroundColorOverride):
(WebKit::WebPageProxy::handlePreventableTouchEvent):
(WebKit::WebPageProxy::receivedPolicyDecision):
(WebKit::WebPageProxy::runModalJavaScriptDialog):
(WebKit::WebPageProxy::runBeforeUnloadConfirmPanel):
(WebKit::WebPageProxy::contextMenuItemSelected):
(WebKit::WebPageProxy::createMediaSessionCoordinator):
- UIProcess/WebProcessPool.cpp:
(WebKit::WebProcessPool::getGPUProcessConnection):
(WebKit::WebProcessPool::getWebAuthnProcessConnection):
- UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::isResponsive):
(WebKit::WebProcessProxy::isResponsiveWithLazyStop):
(WebKit::WebProcessProxy::establishServiceWorkerContext):
- UIProcess/WebsiteData/WebsiteDataStore.cpp:
(WebKit::WebsiteDataStore::getNetworkProcessConnection):
- UIProcess/XR/PlatformXRSystem.cpp:
(WebKit::PlatformXRSystem::initializeTrackingAndRendering):
- UIProcess/ios/ProcessAssertionIOS.mm:
(WebKit::ProcessAssertion::acquireSync):
(WebKit::ProcessAndUIAssertion::processAssertionWasInvalidated):
- UIProcess/ios/WebPageProxyIOS.mm:
(WebKit::WebPageProxy::willOpenAppLink):
- UIProcess/mac/WebContextMenuProxyMac.mm:
(WebKit::WebContextMenuProxyMac::insertOrUpdateQuickLookImageItem):
- WebProcess/GPU/media/MediaPlayerPrivateRemote.cpp:
(WebKit::MediaPlayerPrivateRemote::prepareForPlayback):
(WebKit::MediaPlayerPrivateRemote::load):
(WebKit::MediaPlayerPrivateRemote::performTaskAtMediaTime):
- WebProcess/MediaStream/UserMediaPermissionRequestManager.cpp:
(WebKit::UserMediaPermissionRequestManager::updateCaptureDevices):
- WebProcess/WebCoreSupport/WebPermissionController.cpp:
(WebKit::WebPermissionController::tryProcessingRequests):
- WebProcess/WebCoreSupport/WebSpeechSynthesisClient.cpp:
(WebKit::WebSpeechSynthesisClient::speak):
(WebKit::WebSpeechSynthesisClient::pause):
(WebKit::WebSpeechSynthesisClient::resume):
- WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
(WebKit::TiledCoreAnimationDrawingArea::sendDidFirstLayerFlushIfNeeded):
(WebKit::TiledCoreAnimationDrawingArea::forceRepaintAsync):
(WebKit::TiledCoreAnimationDrawingArea::handleActivityStateChangeCallbacksIfNeeded):
Source/WebKitLegacy/mac:
- WebCoreSupport/WebEditorClient.mm:
(WebEditorClient::requestCheckingOfString):
- WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::getLoadDecisionForIcons):
Source/WTF:
- wtf/WeakPtr.h:
(WTF::WeakPtr::WeakPtr):
(WTF::WeakPtr::implForObject):
(WTF::makeWeakPtr):
- 1:08 PM Changeset in webkit [284008] by
-
- 4 edits in trunk/Source/WebCore
Add an override stylesheet for the alternate form control design
https://bugs.webkit.org/show_bug.cgi?id=231565
Reviewed by Devin Rousso.
- DerivedSources.make:
- style/UserAgentStyle.cpp:
(WebCore::Style::UserAgentStyle::ensureDefaultStyleSheetsForElement):
- style/UserAgentStyle.h:
- 12:51 PM Changeset in webkit [284007] by
-
- 2 edits in trunk/Source/WebCore
Cocoa GraphicsContextGLOpenGL uses depth and stencil for pbuffers on ANGLE Metal
https://bugs.webkit.org/show_bug.cgi?id=231424
Patch by Kimmo Kinnunen <kkinnunen@apple.com> on 2021-10-12
Reviewed by Dean Jackson.
ANGLE Metal allocates depth and stencil buffers when a pbuffer is bound to
a texture via eglBindTexImage.
To side-step this performance issue, allocate the gl context with EGLConfig
that disables depth and stencil. The config is used for the video texture
upload context, video texture upload pbuffers as well as other pbuffers.
- platform/graphics/cocoa/GraphicsContextGLOpenGLCocoa.mm:
(WebCore::GraphicsContextGLOpenGL::GraphicsContextGLOpenGL):
- 12:49 PM Changeset in webkit [284006] by
-
- 31 edits2 adds in branches/safari-612-branch
Apply patch. rdar://problem/84130892
- 12:39 PM Changeset in webkit [284005] by
-
- 2 edits in trunk/Tools
[Python-3] Invoke webkit-patch with Python 3 by default
https://bugs.webkit.org/show_bug.cgi?id=231591
<rdar://problem/84153640>
Reviewed by Michael Catanzaro.
- Scripts/webkit-patch: Change shebang to Python 3.
- 12:37 PM Changeset in webkit [284004] by
-
- 2 edits in trunk/Tools
Unreviewed, run-benchmark fix after r283936
https://bugs.webkit.org/show_bug.cgi?id=231512
import sys is necessary.
- Scripts/webkitpy/benchmark_runner/browser_driver/osx_safari_driver.py:
- 12:32 PM Changeset in webkit [284003] by
-
- 18 edits in trunk
Borders are not drawn when using BifurcatedGraphicsContext
https://bugs.webkit.org/show_bug.cgi?id=230976
<rdar://problem/83657330>
Reviewed by Sam Weinig.
Source/WebCore:
New API Test: BifurcatedGraphicsContextTests.Borders
There is a minor problem with the children of bifurcated graphics contexts,
which is that they each currently maintain their own GraphicsContextState,
and some GraphicsContext implementations read from that state internally
to do work (e.g. the CG context reads the StrokeStyle in drawLine()).
This means that both children need to mirror the state of the toplevel.
You could imagine merging changes to m_state in each context's implementation
of updateState(), but A) updateState is called in *response* to the local
GraphicsContextState changing (so this would be a bit circular), and
B) this would require each GraphicsContext to do this work.
Instead, rename
updateState
todidUpdateState
to make it more clear
that it is in response to a change, not performing the change itself,
and add a newupdateState
, which also merges the changes into m_state.
BifurcatedGraphicsContext is the only client ofupdateState
at the moment.
- platform/graphics/BifurcatedGraphicsContext.cpp:
(WebCore::BifurcatedGraphicsContext::didUpdateState):
(WebCore::BifurcatedGraphicsContext::updateState): Deleted.
- platform/graphics/BifurcatedGraphicsContext.h:
Rename updateState->didUpdateState, but leave it calling updateState()
on the children as explained above.
- platform/graphics/GraphicsContext.cpp:
(WebCore::GraphicsContextState::mergeChanges):
Move "merge this set of state changes" part of GraphicsContextStateChange::accumulate
to a method on GraphicsContextState itself (resolving the FIXME and also
separating the parts that are specific to accumulating deltas from the
generic parts for merging changes).
(WebCore::GraphicsContextStateChange::accumulate):
(WebCore::GraphicsContext::updateState):
Add updateState(), which merges the changes to the GraphicsContextState
and then turns around and calls didUpdateState() to propagate them to
the platform context (or whatever each implementation wants to do).
(WebCore::GraphicsContext::setStrokeColor):
(WebCore::GraphicsContext::setShadow):
(WebCore::GraphicsContext::clearShadow):
(WebCore::GraphicsContext::setFillColor):
(WebCore::GraphicsContext::setStrokePattern):
(WebCore::GraphicsContext::setFillPattern):
(WebCore::GraphicsContext::setStrokeGradient):
(WebCore::GraphicsContext::setFillGradient):
(WebCore::GraphicsContext::setCompositeOperation):
- platform/graphics/GraphicsContext.h:
(WebCore::GraphicsContext::setStrokeThickness):
(WebCore::GraphicsContext::setStrokeStyle):
(WebCore::GraphicsContext::setFillRule):
(WebCore::GraphicsContext::setShadowsIgnoreTransforms):
(WebCore::GraphicsContext::setShouldAntialias):
(WebCore::GraphicsContext::setShouldSmoothFonts):
(WebCore::GraphicsContext::setShouldSubpixelQuantizeFonts):
(WebCore::GraphicsContext::setImageInterpolationQuality):
(WebCore::GraphicsContext::setAlpha):
(WebCore::GraphicsContext::setDrawLuminanceMask):
(WebCore::GraphicsContext::setTextDrawingMode):
(WebCore::GraphicsContext::setUseDarkAppearance):
- platform/graphics/NullGraphicsContext.h:
- platform/graphics/cairo/GraphicsContextCairo.cpp:
(WebCore::GraphicsContextCairo::didUpdateState):
(WebCore::GraphicsContextCairo::updateState): Deleted.
- platform/graphics/cairo/GraphicsContextCairo.h:
- platform/graphics/cg/GraphicsContextCG.cpp:
(WebCore::GraphicsContextCG::GraphicsContextCG):
(WebCore::GraphicsContextCG::didUpdateState):
(WebCore::GraphicsContextCG::updateState): Deleted.
- platform/graphics/cg/GraphicsContextCG.h:
- platform/graphics/displaylists/DisplayListDrawGlyphsRecorderCoreText.cpp:
(WebCore::DisplayList::DrawGlyphsRecorder::updateFillColor):
(WebCore::DisplayList::DrawGlyphsRecorder::updateStrokeColor):
(WebCore::DisplayList::DrawGlyphsRecorder::updateShadow):
- platform/graphics/displaylists/DisplayListRecorder.cpp:
(WebCore::DisplayList::Recorder::didUpdateState):
(WebCore::DisplayList::Recorder::updateState): Deleted.
- platform/graphics/displaylists/DisplayListRecorder.h:
- platform/graphics/nicosia/cairo/NicosiaCairoOperationRecorder.cpp:
(Nicosia::CairoOperationRecorder::didUpdateState):
(Nicosia::CairoOperationRecorder::updateState): Deleted.
- platform/graphics/nicosia/cairo/NicosiaCairoOperationRecorder.h:
- platform/graphics/win/GraphicsContextDirect2D.cpp:
(WebCore::GraphicsContextDirect2D::didUpdateState):
(WebCore::GraphicsContextDirect2D::updateState): Deleted.
Rename updateState->didUpdateState.
Tools:
- TestWebKitAPI/Tests/WebCore/cg/BifurcatedGraphicsContextTestsCG.cpp:
(TestWebKitAPI::TEST):
Add a test for line drawing.
- 12:31 PM Changeset in webkit [284002] by
-
- 2 edits in trunk/Tools
Move few scripts from python 2 to python3 (Follow-up)
https://bugs.webkit.org/show_bug.cgi?id=229817
Reviewed by Alexey Proskuryakov.
- CISupport/clean-build: Invoke clean-webkit with Python 3.
- 12:08 PM Changeset in webkit [284001] by
-
- 2 edits in trunk/LayoutTests
[ iOS ] fast/scrolling/ios/reconcile-layer-position-recursive.html is a flaky failure.
https://bugs.webkit.org/show_bug.cgi?id=231603
Unreviewed test gardening.
- platform/ios-wk2/TestExpectations:
- 12:05 PM Changeset in webkit [284000] by
-
- 2 edits in trunk/LayoutTests
REGRESSION: (r283871) [ macOS wk2 Release ] 2 CSS tests are failing.
https://bugs.webkit.org/show_bug.cgi?id=231600.
Unreviewed test gardening.
- platform/mac-wk2/TestExpectations:
- 12:04 PM Changeset in webkit [283999] by
-
- 1 copy in tags/Safari-613.1.4.3
Tag Safari-613.1.4.3.
- 12:03 PM Changeset in webkit [283998] by
-
- 9 edits in trunk/Source/WebKit
Sandbox complexity and performance improvements
https://bugs.webkit.org/show_bug.cgi?id=231184
<rdar://problem/47565664>
Reviewed by Per Arne Vollan.
This patch adopts a set of suggested improvements made by Apple's Sandbox team:
- Minimize regex usage
- Remove duplicate rules
- Remove 'defined?' checks for the many things that are supported in all WebKit target OSes.
These will simplify the rules, and should provide some launch time improvement.
- GPUProcess/mac/com.apple.WebKit.GPUProcess.sb.in:
- NetworkProcess/mac/com.apple.WebKit.NetworkProcess.sb.in:
- Resources/SandboxProfiles/ios/com.apple.WebKit.GPU.sb:
- Resources/SandboxProfiles/ios/com.apple.WebKit.Networking.sb:
- Resources/SandboxProfiles/ios/com.apple.WebKit.WebAuthn.sb:
- Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb.in:
- WebAuthnProcess/mac/com.apple.WebKit.WebAuthnProcess.sb.in:
- WebProcess/com.apple.WebProcess.sb.in:
- 11:55 AM Changeset in webkit [283997] by
-
- 2 edits in trunk/LayoutTests
[ iOS ] imported/w3c/web-platform-tests/webrtc/simulcast/getStats.https.html is a flaky failure.
https://bugs.webkit.org/show_bug.cgi?id=231602
Unreviewed test gardening.
- platform/ios-wk2/TestExpectations:
- 11:47 AM Changeset in webkit [283996] by
-
- 2 edits in trunk/LayoutTests
[ iOS Release ] fast/mediastream/mediaElement-gc.html is a flaky failure.
https://bugs.webkit.org/show_bug.cgi?id=231601
Unreviewed test gardening.
- platform/ios-wk2/TestExpectations:
- 11:44 AM Changeset in webkit [283995] by
-
- 3 edits in trunk/Source/WebCore
Fix build with differently unified souces
https://bugs.webkit.org/show_bug.cgi?id=231589
Patch by Alex Christensen <achristensen@webkit.org> on 2021-10-12
Reviewed by Simon Fraser.
shadowPaintingExtent was only defined in DisplayListRecorder.cpp and only used in DisplayListRecorderImpl.cpp
- platform/graphics/displaylists/DisplayListRecorder.cpp:
(WebCore::DisplayList::shadowPaintingExtent): Deleted.
- platform/graphics/displaylists/DisplayListRecorderImpl.cpp:
(WebCore::DisplayList::shadowPaintingExtent):
- 11:36 AM Changeset in webkit [283994] by
-
- 6 edits in branches/safari-613.1.4-branch/Source
Cherry-pick r283940. rdar://problem/84110761
Disable SystemPreview in WKContentProviderRegistry
https://bugs.webkit.org/show_bug.cgi?id=231538
rdar://84110761
Reviewed by Tim Horton.
Source/WebKit:
Disable the WebViewContentProvider for System Previews
if UIKIT_WEBKIT_INTERNALS is true.
- UIProcess/Cocoa/WKWebViewContentProviderRegistry.mm: (-[WKWebViewContentProviderRegistry initWithConfiguration:]):
- UIProcess/ios/WKSystemPreviewView.h:
- UIProcess/ios/WKSystemPreviewView.mm:
Source/WTF:
Revert the change in r283811.
- wtf/PlatformUse.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@283940 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 11:35 AM Changeset in webkit [283993] by
-
- 8 edits in branches/safari-613.1.4-branch/Source
Versioning.
WebKit-7613.1.4.3
- 10:58 AM Changeset in webkit [283992] by
-
- 2 edits in trunk/Source/WebKit
[iOS][GPUP] Remove sandbox access to com.apple.audio.AudioComponentRegistrar
https://bugs.webkit.org/show_bug.cgi?id=231583
<rdar://75225970>
Reviewed by Brent Fulgham.
Remove sandbox access to com.apple.audio.AudioComponentRegistrar in GPUP on iOS, since it is not required there.
- Resources/SandboxProfiles/ios/com.apple.WebKit.GPU.sb:
- 10:47 AM Changeset in webkit [283991] by
-
- 3 edits in trunk/Source/WebKit
Add some missing WebCore:: namespaces in RemoteDisplayListRecorderProxy
https://bugs.webkit.org/show_bug.cgi?id=231584
Reviewed by Myles C. Maxfield.
A tiny bit of cleanup before #230860.
- GPUProcess/graphics/RemoteDisplayListRecorder.h:
(WebKit::RemoteDisplayListRecorder::handleItem):
Drive-by fix: also add a missing call to
std::forward
when applying display list items with additional
resources as arguments.
- WebProcess/GPU/graphics/RemoteDisplayListRecorderProxy.h:
Add the missing
WebCore::
prefixes.
- 10:26 AM Changeset in webkit [283990] by
-
- 2 edits in trunk/Source/WTF
Unreviewed WinCairo build fix for r283943.
- wtf/JSONValues.h:
- 10:00 AM AnalyzingBuildPerformance edited by
- Add section on inlined virtual functions. (diff)
- 9:47 AM Changeset in webkit [283989] by
-
- 2 edits in trunk/LayoutTests
[ iOS ] http/tests/resourceLoadStatistics/switch-session-on-navigation-to-prevalent-without-interaction.py is a flaky failure.
https://bugs.webkit.org/show_bug.cgi?id=231586
Unreviewed test gardening.
- platform/ios-wk2/TestExpectations:
- 9:35 AM Changeset in webkit [283988] by
-
- 2 edits in trunk/LayoutTests
[ iOS 15 Debug ] imported/w3c/web-platform-tests/IndexedDB/interleaved-cursors-small.html is a flaky failure.
https://bugs.webkit.org/show_bug.cgi?id=231387
Unreviewed test gardening.
- platform/ios-wk2/TestExpectations:
- 9:31 AM Changeset in webkit [283987] by
-
- 2 edits in trunk
Add my github username to contributors.json
Unreviewed.
- metadata/contributors.json:
- 9:28 AM Changeset in webkit [283986] by
-
- 3 edits in trunk/LayoutTests
media/track/track-cue-css.html is a flaky image failure.
https://bugs.webkit.org/show_bug.cgi?id=230070
Unreviewed test gardening.
- platform/ios-14-wk2/TestExpectations:
- platform/ios-wk2/TestExpectations:
- 9:21 AM Changeset in webkit [283985] by
-
- 2 edits in trunk/LayoutTests
[Release WK2] imported/w3c/web-platform-tests/file-system-access/sandboxed_FileSystemBaseHandle-postMessage-windows.https.window.html is a flaky failure.
https://bugs.webkit.org/show_bug.cgi?id=231348
Unreviewed test gardening.
- platform/wk2/TestExpectations:
- 9:13 AM Changeset in webkit [283984] by
-
- 8 edits in trunk
Remove non-HAVE(CFNETWORK_NSURLSESSION_STRICTRUSTEVALUATE) code
https://bugs.webkit.org/show_bug.cgi?id=231579
Patch by Alex Christensen <achristensen@webkit.org> on 2021-10-12
Reviewed by Chris Dumez.
Source/WebCore/PAL:
- pal/spi/cf/CFNetworkSPI.h:
Source/WebKit:
- NetworkProcess/cocoa/NetworkSessionCocoa.mm:
(processServerTrustEvaluation):
(-[WKNetworkSessionDelegate URLSession:task:didReceiveChallenge:completionHandler:]):
Source/WTF:
- wtf/PlatformHave.h:
This was incorrectly marked as not being available on watchOS and tvOS. It is.
Tools:
- TestWebKitAPI/Tests/WebKitCocoa/Challenge.mm:
(TestWebKitAPI::TEST):
- 8:48 AM Changeset in webkit [283983] by
-
- 15 edits in trunk/Source
Have the ScrollingTree track nodes with animated scrolls
https://bugs.webkit.org/show_bug.cgi?id=231554
Reviewed by Tim Horton.
Source/WebCore:
A future patch will require that a ScrollingCoordinator knows when there are any nodes with
active scroll animations running.
Create the plumbing for this via ScrollingTree::setAnimatedScrollInProgressForNode() which
updates a HashSet data member.
ScrollingTreeScrollingNode subclasses which can run animations via their delegate, i.e.
ScrollingTree{Overflow, Frame}ScrollingNode{Mac, Nicosia, iOS} now call
willStartAnimatedScroll() if the animation started. The existing
ScrollingTreeScrollingNode::didStopAnimatedScroll() is the book-end.
ThreadedScrollingTree changes are a hint of things to come; we will need to tell a future
ScrollingCoordinator subclass when scroll animations start/stop, and displayDidRefresh() and
willStartRenderingUpdate() code need to do the same stuff when animations are running as
they do when handling wheel events.
- page/scrolling/AsyncScrollingCoordinator.h:
(WebCore::AsyncScrollingCoordinator::hasNodeWithAnimatedScrollChanged):
- page/scrolling/ScrollingTree.cpp:
(WebCore::ScrollingTree::isAnimatedScrollInProgressForNode):
(WebCore::ScrollingTree::setAnimatedScrollInProgressForNode):
(WebCore::ScrollingTree::hasNodeWithActiveAnimatedScroll):
- page/scrolling/ScrollingTree.h:
(WebCore::ScrollingTree::hasNodeWithAnimatedScrollChanged):
- page/scrolling/ScrollingTreeScrollingNode.cpp:
(WebCore::ScrollingTreeScrollingNode::didStopAnimatedScroll):
(WebCore::ScrollingTreeScrollingNode::willStartAnimatedScroll):
- page/scrolling/ScrollingTreeScrollingNode.h:
- page/scrolling/ThreadedScrollingTree.cpp:
(WebCore::ThreadedScrollingTree::scrollingThreadIsActive):
(WebCore::ThreadedScrollingTree::willStartRenderingUpdate):
(WebCore::ThreadedScrollingTree::hasNodeWithAnimatedScrollChanged):
(WebCore::ThreadedScrollingTree::displayDidRefresh):
- page/scrolling/ThreadedScrollingTree.h:
- page/scrolling/mac/ScrollingTreeFrameScrollingNodeMac.mm:
(WebCore::ScrollingTreeFrameScrollingNodeMac::startAnimatedScrollToPosition):
(WebCore::ScrollingTreeFrameScrollingNodeMac::currentScrollPositionChanged):
- page/scrolling/mac/ScrollingTreeOverflowScrollingNodeMac.mm:
(WebCore::ScrollingTreeOverflowScrollingNodeMac::startAnimatedScrollToPosition):
- page/scrolling/mac/ScrollingTreeScrollingNodeDelegateMac.mm:
- page/scrolling/nicosia/ScrollingTreeFrameScrollingNodeNicosia.cpp:
(WebCore::ScrollingTreeFrameScrollingNodeNicosia::startAnimatedScrollToPosition):
- page/scrolling/nicosia/ScrollingTreeOverflowScrollingNodeNicosia.cpp:
(WebCore::ScrollingTreeOverflowScrollingNodeNicosia::startAnimatedScrollToPosition):
Source/WebKit:
- UIProcess/RemoteLayerTree/ios/ScrollingTreeOverflowScrollingNodeIOS.mm:
(WebKit::ScrollingTreeOverflowScrollingNodeIOS::startAnimatedScrollToPosition):
- 8:47 AM Changeset in webkit [283982] by
-
- 14 edits in trunk/Source
Begin migration from WTF::Variant to std::variant
https://bugs.webkit.org/show_bug.cgi?id=231086
Patch by Alex Christensen <achristensen@webkit.org> on 2021-10-12
Reviewed by Chris Dumez.
Source/JavaScriptCore:
- bytecode/StructureStubClearingWatchpoint.cpp:
(JSC::WatchpointsOnStructureStubInfo::addWatchpoint):
- dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compileCallDOM):
- runtime/TemporalTimeZone.cpp:
(JSC::TemporalTimeZone::createFromID):
(JSC::TemporalTimeZone::createFromUTCOffset):
Source/WebCore:
- accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
(-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):
- bindings/js/JSDOMConvertUnion.h:
- platform/network/FormData.h:
(WebCore::FormDataElement::operator== const):
Source/WebKit:
- Platform/IPC/ArgumentCoders.h:
(IPC::VariantCoder::encode):
(IPC::VariantCoder::decode):
Source/WTF:
This is reasonably close to just changing the header and all the code stays the same until later.
Templates that were only used once like std::variant_size I just changed inline instead of adding a wrapper to Variant.h.
WTF::get still means something else, so I just changed the few that take a Variant parameter to std::get in the code.
WTF::in_place maps to std::in_place_type and std::in_place_index_t, so I just changed those in the code too.
There was also another visitor added since r283906 with different return types among the lambdas, so I just fixed it with the switch.
- wtf/Forward.h:
- wtf/Hasher.h:
(WTF::add):
- wtf/Variant.h:
(WTF::get):
(WTF::visit):
(WTF::get_if):
(WTF::in_place): Deleted.
(WTF::throw_bad_variant_access): Deleted.
(WTF::=): Deleted.
(WTF::variant_storage::get): Deleted.
(WTF::variant_storage::get_rref): Deleted.
(WTF::variant_storage::destroy): Deleted.
(WTF::storage_wrapper::construct): Deleted.
(WTF::storage_wrapper::storage_wrapper): Deleted.
(WTF::storage_wrapper::get): Deleted.
(WTF::storage_wrapper::get const): Deleted.
(WTF::storage_wrapper::destroy): Deleted.
(WTF::storage_wrapper<_Type::storage_wrapper): Deleted.
(WTF::storage_wrapper<_Type::get): Deleted.
(WTF::storage_wrapper<_Type::get const): Deleted.
(WTF::variant_base::~variant_base): Deleted.
(WTF::backup_storage_ops::move_construct_func): Deleted.
(WTF::backup_storage_ops::destroy_func): Deleted.
(WTF::backup_storage::backup_storage): Deleted.
(WTF::backup_storage::destroy): Deleted.
(WTF::backup_storage::~backup_storage): Deleted.
(WTF::Variant<>::swap): Deleted.
(WTF::NOEXCEPT_): Deleted.
(WTF::variant_accessor::get): Deleted.
(WTF::visitor_table::trampoline_func): Deleted.
(WTF::arg_selector): Deleted.
(WTF::visit_helper2::visit): Deleted.
(WTF::operator==): Deleted.
(WTF::operator!=): Deleted.
(WTF::operator<): Deleted.
(WTF::operator>): Deleted.
(WTF::operator>=): Deleted.
(WTF::operator<=): Deleted.
(WTF::hash_visitor::operator()): Deleted.
- 8:43 AM Changeset in webkit [283981] by
-
- 9 edits in trunk/Source/WebCore
[LFC][Integration] Add support for painting inline box decorations
https://bugs.webkit.org/show_bug.cgi?id=231561
Reviewed by Alan Bujtas.
Add code for painting inline box backgrounds and borders with InlineBoxPainter.
This patch does not enable anything new yet.
- layout/integration/InlineIteratorInlineBox.cpp:
(WebCore::InlineIterator::inlineBoxFor):
- layout/integration/InlineIteratorInlineBox.h:
- layout/integration/LayoutIntegrationCoverage.cpp:
Add a new flag for background-clip:text which is not yet supported by code.
It becomes relevant when background painting is enabled.
(WebCore::LayoutIntegration::printReason):
(WebCore::LayoutIntegration::canUseForRenderInlineChild):
- layout/integration/LayoutIntegrationCoverage.h:
- layout/integration/LayoutIntegrationLineLayout.cpp:
(WebCore::LayoutIntegration::LineLayout::paint):
Paint inline boxes using InlineBoxPainter.
(WebCore::LayoutIntegration::LineLayout::paintTextBoxUsingPhysicalCoordinates): Deleted.
Simplify the intersection code and move it to paint().
- layout/integration/LayoutIntegrationLineLayout.h:
- rendering/InlineBoxPainter.cpp:
(WebCore::InlineBoxPainter::InlineBoxPainter):
Take InlineDisplay::Box.
- rendering/InlineBoxPainter.h:
- 6:48 AM Changeset in webkit [283980] by
-
- 4 edits in trunk
[css-ui] Fix interpolation of accent-color
https://bugs.webkit.org/show_bug.cgi?id=231443
rdar://84037162
Reviewed by Antoine Quint.
LayoutTests/imported/w3c:
- web-platform-tests/css/css-ui/animation/accent-color-interpolation-expected.txt:
Source/WebCore:
- animation/CSSPropertyAnimation.cpp:
(WebCore::CSSPropertyAnimationWrapperMap::CSSPropertyAnimationWrapperMap):
- 5:36 AM Changeset in webkit [283979] by
-
- 3 edits2 adds in trunk
WebGL first clear is lost when scissor is used for preserveDrawingBuffer:true in some conditions
https://bugs.webkit.org/show_bug.cgi?id=230618
<rdar://problem/83668270>
Patch by Kimmo Kinnunen <kkinnunen@apple.com> on 2021-10-12
Reviewed by Dean Jackson.
Source/WebCore:
Disable scissor for the duration of the blit from drawing buffer
to display buffer.
Not testable via WebGL conformance test suite as it affects the compositing.
Test: webgl/gl-clear-preserve-drawing-buffer-bug.html
- platform/graphics/angle/GraphicsContextGLANGLE.cpp:
(WebCore::GraphicsContextGLOpenGL::prepareTextureImpl):
LayoutTests:
Add a pixel test to verify that scissor is not applied when blitting drawing buffer
to display buffer in preserveDrawingBuffer: true case.
- webgl/gl-clear-preserve-drawing-buffer-bug-expected.html: Added.
- webgl/gl-clear-preserve-drawing-buffer-bug.html: Added.
- 4:02 AM Changeset in webkit [283978] by
-
- 2 edits in trunk/Source/WebKit
[iOS] Add syscall telemetry in the WebContent process' sandbox
https://bugs.webkit.org/show_bug.cgi?id=231508
<rdar://83197060>
Reviewed by Brent Fulgham.
Add syscall telemetry in the WebContent process' sandbox to learn more about the context in which they are being used.
This patch also removes some telemetry with backtraces for other rules, since they are no longer needed.
- Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb.in:
- 3:58 AM Changeset in webkit [283977] by
-
- 2 edits in trunk/Source/WebKit
[GPUP] Add missing entitlement
https://bugs.webkit.org/show_bug.cgi?id=231499
<rdar://83847918>
Reviewed by Brent Fulgham.
Add the entitlement "com.apple.private.webkit.use-xpc-endpoint" in the GPU process,
which will enable XPC communication with other WebKit processes.
- Scripts/process-entitlements.sh:
- 2:48 AM Changeset in webkit [283976] by
-
- 3 edits in trunk/Source/WebKit
Unreviewed, reverting r283890.
https://bugs.webkit.org/show_bug.cgi?id=231567
Introduced crash
Reverted changeset:
"Block access in sandbox to capability which is allowed by
default"
https://bugs.webkit.org/show_bug.cgi?id=231079
https://commits.webkit.org/r283890
- 2:45 AM Changeset in webkit [283975] by
-
- 2 edits in trunk/Source/WebKit
Error the encoder in case we cannot create a RemoteVideoSample
https://bugs.webkit.org/show_bug.cgi?id=231505
<rdar://83975229>
Reviewed by Eric Carlson.
- WebProcess/GPU/webrtc/LibWebRTCCodecs.cpp:
(WebKit::LibWebRTCCodecs::encodeFrame):
RemoteVideoSample::create can return nullptr if we cannot get an IOSurface from the pixel buffer or if pixel buffer is null
due to VTPixelBufferConformerCopyConformedPixelBuffer failing.
In that case, we error the encoder instead of trying to encode the frame.
- 2:30 AM Changeset in webkit [283974] by
-
- 4 edits1 add in branches/safari-612-branch
Cherry-pick r281688. rdar://83955408
- 1:40 AM Changeset in webkit [283973] by
-
- 2 edits in trunk/Source/WebCore
Use isSameOriginAsTopDocument() in DocumentLoader::shouldOpenExternalURLsPolicyToPropagate
https://bugs.webkit.org/show_bug.cgi?id=231539
Reviewed by Youenn Fablet.
No behavior change, same thing.
- loader/DocumentLoader.cpp:
(WebCore::DocumentLoader::shouldOpenExternalURLsPolicyToPropagate const):
- 1:07 AM Changeset in webkit [283972] by
-
- 4 edits in trunk/Tools
[GTK] Unreviewed build fix. Fix build for Debian 10 (Buster)
- TestWebKitAPI/Tests/WebKitGLib/TestUIClient.cpp:
- TestWebKitAPI/Tests/WebKitGLib/WebProcessTest.cpp:
- TestWebKitAPI/glib/WebKitGLib/WebViewTest.cpp:
- 1:02 AM Changeset in webkit [283971] by
-
- 16 edits1 add in trunk
Source/WebCore:
Remove ImplicitAddress
https://bugs.webkit.org/show_bug.cgi?id=230820
<rdar://problem/83826318>
Patch by Saam Barati <sbarati@apple.com> on 2021-10-11
Reviewed by Yusuke Suzuki.
- cssjit/SelectorCompiler.cpp:
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateSelectorChecker):
Source/WebKit:
[GPU Process] Unique RenderingResourceIdentifiers Part 8: Consolidate DisplayList::ResourceHeap
https://bugs.webkit.org/show_bug.cgi?id=231411
<rdar://problem/84013167>
Reviewed by Simon Fraser.
- GPUProcess/graphics/RemoteRenderingBackend.cpp:
(WebKit::RemoteRenderingBackend::submit):
- GPUProcess/graphics/RemoteResourceCache.cpp:
(WebKit::RemoteResourceCache::RemoteResourceCache):
(WebKit::RemoteResourceCache::cacheImageBuffer):
(WebKit::RemoteResourceCache::cachedImageBuffer const):
(WebKit::RemoteResourceCache::cacheNativeImage):
(WebKit::RemoteResourceCache::cachedNativeImage const):
(WebKit::RemoteResourceCache::cacheFont):
(WebKit::RemoteResourceCache::cachedFont const):
(WebKit::RemoteResourceCache::deleteAllFonts):
(WebKit::RemoteResourceCache::maybeRemoveResource):
(WebKit::RemoteResourceCache::updateHasActiveDrawables):
- GPUProcess/graphics/RemoteResourceCache.h:
(WebKit::RemoteResourceCache::resourceHeap const):
(WebKit::RemoteResourceCache::imageBuffers const): Deleted.
(WebKit::RemoteResourceCache::nativeImages const): Deleted.
(WebKit::RemoteResourceCache::fonts const): Deleted.
Tools:
[GPU Process] Unique RenderingResourceIdentifiers Part 8: Consolidate DisplayList::ResourceHeap
https://bugs.webkit.org/show_bug.cgi?id=231411
<rdar://problem/84013167>
Reviewed by Simon Fraser.
- TestWebKitAPI/Tests/WebCore/cg/DisplayListTestsCG.cpp:
(TestWebKitAPI::TEST):