Timeline
May 31, 2021:
- 11:59 PM Changeset in webkit [278297] by
-
- 5 edits in trunk/LayoutTests
[GLIB] Unreviewed test gardening. Update baselines after r277970.
- platform/glib/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/mo-stretch-properties-dynamic-001-expected.txt:
- platform/glib/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-stretchy-003-expected.txt:
- platform/glib/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-symmetric-001-expected.txt:
- platform/glib/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-symmetric-006-expected.txt:
- 11:18 PM Changeset in webkit [278296] by
-
- 2 edits in trunk/Source/ThirdParty/ANGLE
Cherry-pick ANGLE: Add array bounds checks for WebGL shaders
https://bugs.webkit.org/show_bug.cgi?id=226397
Patch by Kimmo Kinnunen <kkinnunen@apple.com> on 2021-05-31
Reviewed by Dean Jackson.
Cherry-pick ANGLE commit b0d39ba2aba218402ff2f32f6e16f18cf4975ff4
At the moment does not affect any WebKit client.
Makes the code consistent with OpenGL.
Makes it easier to understand same change in Metal backend.
Upstream description:
Add array bounds checks for WebGL shaders
WebGL shaders may contain OOB array accesses which in turn
cause undefined behavior, which may result in security
issues. This was detected as an UNKNOWN READ by UBSAN while
testing with SwANGLE.
- src/libANGLE/renderer/vulkan/ShaderVk.cpp:
(rx::ShaderVk::compile):
- 9:52 PM Changeset in webkit [278295] by
-
- 3 edits in trunk/Source/WebCore
[WebXR] Attach IOSurface to WebXROpaqueFramebuffer
https://bugs.webkit.org/show_bug.cgi?id=225896
<rdar://problem/78128289>
Reviewed by Sam Weinig.
Implement binding of incoming IOSurfaces (via FrameData)
into the WebGL framebuffer that the page will use as
a rendering target.
Currently only single-sample (non-antialiased) buffers
are supported and the canvas context must be WebGL 2.
- Modules/webxr/WebXROpaqueFramebuffer.cpp:
(WebCore::WebXROpaqueFramebuffer::startFrame): Create a texture if necessary, then
bind its backing store to the incoming IOSurface, then hook it up to the framebuffer.
(WebCore::WebXROpaqueFramebuffer::endFrame): Release the Pbuffer we used in startFrame.
(WebCore::WebXROpaqueFramebuffer::setupFramebuffer): Add Cocoa+ANGLE specific implementation.
- Modules/webxr/WebXROpaqueFramebuffer.h: Keep a member variable for the Pbuffer.
- 9:31 PM Changeset in webkit [278294] by
-
- 5 edits in trunk/Source/WebCore
[LFC][TFC] Decouple stretching and final cell layouts
https://bugs.webkit.org/show_bug.cgi?id=226452
Reviewed by Antti Koivisto.
Stretching layout is slightly different from the final cell layout.
- layout/formattingContexts/table/TableFormattingContext.cpp:
(WebCore::Layout::TableFormattingContext::setUsedGeometryForCells):
(WebCore::Layout::TableFormattingContext::computeAndDistributeExtraSpace):
(WebCore::Layout::TableFormattingContext::layoutCell): Deleted.
- layout/formattingContexts/table/TableFormattingContext.h:
- layout/formattingContexts/table/TableFormattingGeometry.cpp:
(WebCore::Layout::TableFormattingGeometry::horizontalSpaceForCellContent const):
(WebCore::Layout::TableFormattingGeometry::verticalSpaceForCellContent const):
- layout/formattingContexts/table/TableFormattingGeometry.h:
- 7:55 PM Changeset in webkit [278293] by
-
- 2 edits in trunk/LayoutTests/imported/w3c
Unreviewed, rebaseline web-platform-tests/webaudio/the-audio-api/the-convolvernode-interface/active-processing.https.html after r278233.
The test progressed slightly even though it still isn't fully passing.
- web-platform-tests/webaudio/the-audio-api/the-convolvernode-interface/active-processing.https-expected.txt:
- 7:41 PM Changeset in webkit [278292] by
-
- 20 edits2 adds in trunk/Source/WebCore
[LFC] Tighten the constraint classes (ConstraintsForInFlowContent/ConstraintsForOutOfFlowContent)
https://bugs.webkit.org/show_bug.cgi?id=226435
Reviewed by Antti Koivisto.
While logical height should always be available for out of flow content by design,
the base inflow layout can't necessarily provide it. This height constraint is not even required/used in most of the layout systems,
so let's move it to the derived class(es).
- layout/LayoutContext.cpp:
(WebCore::Layout::LayoutContext::layoutFormattingContextSubtree):
- layout/LayoutUnits.h:
- layout/formattingContexts/FormattingContext.cpp:
(WebCore::Layout::FormattingContext::computeOutOfFlowVerticalGeometry):
- layout/formattingContexts/FormattingGeometry.cpp:
(WebCore::Layout::FormattingGeometry::outOfFlowNonReplacedVerticalGeometry const):
(WebCore::Layout::FormattingGeometry::outOfFlowReplacedVerticalGeometry const):
(WebCore::Layout::FormattingGeometry::inlineReplacedContentHeightAndMargin const):
(WebCore::Layout::FormattingGeometry::inlineReplacedContentWidthAndMargin const):
(WebCore::Layout::FormattingGeometry::constraintsForInFlowContent const):
- layout/formattingContexts/block/BlockFormattingContext.cpp:
(WebCore::Layout::BlockFormattingContext::layoutInFlowContent):
(WebCore::Layout::BlockFormattingContext::computeStaticVerticalPosition):
(WebCore::Layout::BlockFormattingContext::precomputeVerticalPositionForBoxAndAncestors):
(WebCore::Layout::BlockFormattingContext::verticalPositionWithMargin const):
- layout/formattingContexts/block/BlockFormattingContext.h:
- layout/formattingContexts/block/BlockFormattingGeometry.cpp:
(WebCore::Layout::BlockFormattingGeometry::staticVerticalPosition const):
(WebCore::Layout::BlockFormattingGeometry::staticPosition const): Deleted.
- layout/formattingContexts/block/BlockFormattingGeometry.h:
- layout/formattingContexts/block/tablewrapper/TableWrapperBlockFormattingContext.cpp:
(WebCore::Layout::TableWrapperBlockFormattingContext::layoutTableBox):
(WebCore::Layout::TableWrapperBlockFormattingContext::computeHeightAndMarginForTableBox):
- layout/formattingContexts/flex/FlexFormattingContext.cpp:
(WebCore::Layout::FlexFormattingContext::sizeAndPlaceFlexItems):
- layout/formattingContexts/inline/InlineFormattingContext.cpp:
(WebCore::Layout::InlineFormattingContext::lineLayout):
- layout/formattingContexts/table/TableFormattingContext.cpp:
(WebCore::Layout::TableFormattingContext::layoutInFlowContent):
(WebCore::Layout::TableFormattingContext::setUsedGeometryForCells):
(WebCore::Layout::TableFormattingContext::setUsedGeometryForSections):
(WebCore::Layout::TableFormattingContext::layoutCell):
- layout/formattingContexts/table/TableFormattingContext.h:
- layout/integration/LayoutIntegrationLineLayout.cpp:
(WebCore::LayoutIntegration::LineLayout::layout):
- 6:35 PM Changeset in webkit [278291] by
-
- 2 edits in trunk/Source/WebCore
REGRESSION(r278261): Broke windows build - follow-up fix
https://bugs.webkit.org/show_bug.cgi?id=226477
Unreviewed build fix.
- css/calc/CSSCalcValue.cpp:
- 6:17 PM Changeset in webkit [278290] by
-
- 12 edits2 deletes in trunk
Unreviewed, reverting r278261.
https://bugs.webkit.org/show_bug.cgi?id=226477
Broke windows build
Reverted changeset:
"Support calc() on components inside relative color syntax
colors"
https://bugs.webkit.org/show_bug.cgi?id=226272
https://trac.webkit.org/changeset/278261
- 5:09 PM Changeset in webkit [278289] by
-
- 4 edits in trunk/Source/WebCore
Fix thread safety issues in ConvolverNode
https://bugs.webkit.org/show_bug.cgi?id=226449
Reviewed by Darin Adler.
Adopt thread safety annotations in ConvolverNode and fix bugs found by clang.
In particular, the following issues were found and fixed:
- tailTime() / latencyTime() were accessing m_reverb on the audio thread without locking even though m_reverb gets modified on the main thread.
- checkNumberOfChannelsForInput() was accessing m_buffer on the audio thread without locking even though m_buffer gets modified on the main thread.
- Modules/webaudio/ConvolverNode.cpp:
(WebCore::ConvolverNode::create):
(WebCore::ConvolverNode::setBufferForBindings):
(WebCore::ConvolverNode::setNormalizeForBindings):
(WebCore::ConvolverNode::tailTime const):
(WebCore::ConvolverNode::latencyTime const):
(WebCore::ConvolverNode::checkNumberOfChannelsForInput):
- Modules/webaudio/ConvolverNode.h:
- Modules/webaudio/ConvolverNode.idl:
- 5:08 PM Changeset in webkit [278288] by
-
- 7 edits in trunk/Source/WebCore
Drop PendingActivity data member from BaseAudioContext
https://bugs.webkit.org/show_bug.cgi?id=226445
Reviewed by Darin Adler.
Drop PendingActivity data member from BaseAudioContext and instead have AudioContext / OfflineAudioContext
override virtualHasPendingActivity() to keep their JS wrapper alive. I find that PendingActivity data members
are too error prone and a frequent cause of leaks.
- Modules/webaudio/AudioContext.cpp:
(WebCore::AudioContext::AudioContext):
(WebCore::AudioContext::startRendering):
(WebCore::AudioContext::mayResumePlayback):
(WebCore::AudioContext::suspendPlayback):
(WebCore::AudioContext::virtualHasPendingActivity const):
- Modules/webaudio/AudioContext.h:
- Modules/webaudio/BaseAudioContext.cpp:
(WebCore::BaseAudioContext::clear):
(WebCore::BaseAudioContext::clearPendingActivity): Deleted.
(WebCore::BaseAudioContext::setPendingActivity): Deleted.
- Modules/webaudio/BaseAudioContext.h:
- Modules/webaudio/OfflineAudioContext.cpp:
(WebCore::OfflineAudioContext::startRendering):
(WebCore::OfflineAudioContext::resumeRendering):
(WebCore::OfflineAudioContext::didSuspendRendering):
(WebCore::OfflineAudioContext::finishedRendering):
(WebCore::OfflineAudioContext::virtualHasPendingActivity const):
(WebCore::OfflineAudioContext::dispatchEvent): Deleted.
- Modules/webaudio/OfflineAudioContext.h:
- 5:07 PM Changeset in webkit [278287] by
-
- 4 edits in trunk/Source/WebCore
Fix thread safety issues in AudioBufferSourceNode
https://bugs.webkit.org/show_bug.cgi?id=226448
Reviewed by Darin Adler.
Adopt thread safety analysis annotations in AudioBufferSourceNode and fix the bugs
that were found by clang:
- We were failing to grab the processLock when setting the loop / loopStart / loopEnd attributes on the main thread (Those are set by JS at any time).
- propagatesSilence() was failing to grab the lock when checking m_buffer on the audio thread.
- Modules/webaudio/AudioBufferSourceNode.cpp:
(WebCore::AudioBufferSourceNode::process):
(WebCore::AudioBufferSourceNode::renderSilenceAndFinishIfNotLooping):
(WebCore::AudioBufferSourceNode::renderFromBuffer):
(WebCore::AudioBufferSourceNode::setBuffer):
(WebCore::AudioBufferSourceNode::setLoop):
(WebCore::AudioBufferSourceNode::setLoopStart):
(WebCore::AudioBufferSourceNode::setLoopEnd):
(WebCore::AudioBufferSourceNode::adjustGrainParameters):
(WebCore::AudioBufferSourceNode::totalPitchRate):
(WebCore::AudioBufferSourceNode::propagatesSilence const):
- Modules/webaudio/AudioBufferSourceNode.h:
- 5:04 PM Changeset in webkit [278286] by
-
- 3 edits in trunk/Source/WebCore
Stop using WTF_IGNORES_THREAD_SAFETY_ANALYSIS in MediaRecorderPrivateWriter code
https://bugs.webkit.org/show_bug.cgi?id=226446
Reviewed by Darin Adler.
Fold MediaRecorderPrivateWriter::clear() into the destructor since this is the
only place it is called. This allows us to stop using WTF_IGNORES_THREAD_SAFETY_ANALYSIS
since thread safety checks do not apply to destructors.
- platform/mediarecorder/cocoa/MediaRecorderPrivateWriterCocoa.h:
- platform/mediarecorder/cocoa/MediaRecorderPrivateWriterCocoa.mm:
(WebCore::MediaRecorderPrivateWriter::~MediaRecorderPrivateWriter):
(): Deleted.
- 5:03 PM Changeset in webkit [278285] by
-
- 4 edits in trunk/Source/WebCore
Fix thread safety issues in OscillatorNode
https://bugs.webkit.org/show_bug.cgi?id=226450
Reviewed by Darin Adler.
Adopt thread safety annotations in OscillatorNode and fix bugs found by clang.
In particular, propagatesSilence() was failing to grab the lock before accessing
m_periodicWave, which gets modified on the main thread.
- Modules/webaudio/OscillatorNode.cpp:
(WebCore::OscillatorNode::create):
(WebCore::OscillatorNode::setTypeForBindings):
(WebCore::OscillatorNode::propagatesSilence const):
- Modules/webaudio/OscillatorNode.h:
- Modules/webaudio/OscillatorNode.idl:
- 5:03 PM Changeset in webkit [278284] by
-
- 5 edits in trunk/Source/WebCore
Fix thread safety issues in PannerNode
https://bugs.webkit.org/show_bug.cgi?id=226455
Reviewed by Darin Adler.
Adopt thread safety annotations in PannerNode and fix bugs found by clang.
In particular, the following issues were fixed:
- tailTime() / latencyTime() were accessing m_panner on the audio thread without locking even though m_panner gets modified on the main thread.
- process() was accessing panningModel and m_panner before locking, on the audio thread, even though those get modified on the main thread.
- processOnlyAudioParams() was failing to grab the process lock.
- requiresTailProcessing() may get called on the audio thread and was failing to grab the processLock before accessing m_panner, which gets modified on the main thread.
- Modules/webaudio/PannerNode.cpp:
(WebCore::PannerNode::create):
(WebCore::PannerNode::PannerNode):
(WebCore::PannerNode::process):
(WebCore::PannerNode::processOnlyAudioParams):
(WebCore::PannerNode::setPanningModelForBindings):
(WebCore::PannerNode::setDistanceModelForBindings):
(WebCore::PannerNode::setRefDistanceForBindings):
(WebCore::PannerNode::setMaxDistanceForBindings):
(WebCore::PannerNode::setRolloffFactorForBindings):
(WebCore::PannerNode::setConeOuterGainForBindings):
(WebCore::PannerNode::setConeOuterAngleForBindings):
(WebCore::PannerNode::setConeInnerAngleForBindings):
(WebCore::PannerNode::requiresTailProcessing const):
(WebCore::PannerNode::tailTime const):
(WebCore::PannerNode::latencyTime const):
- Modules/webaudio/PannerNode.h:
- Modules/webaudio/PannerNode.idl:
- platform/audio/Distance.h:
- 2:14 PM Changeset in webkit [278283] by
-
- 7 edits in trunk/Source/WebCore
Non-unified build fixes, very early June 2021 edition
https://bugs.webkit.org/show_bug.cgi?id=226471
Unreviewed non-unified build fixes.
No new tests needed.
- css/calc/CSSCalcOperationNode.cpp: Add missing CSSCalcValua.h, CSSPrimitiveValue.h,
CSSUnits.h, and wtf/text/TextStream.h headers.
- css/calc/CSSCalcOperationNode.h: Add missing CalcOperator.h header.
- css/calc/CSSCalcValue.cpp: Add missing CSSCalcSymbolTable.h, CalcExpressionInversion.h,
CalcExpressionNumber.h, and CalcExpressionOperation.h headers.
- platform/calc/CalcExpressionInversion.h: Add missing wtf/TypeCasts.h header, remove
unneeded <memory> header.
- platform/calc/CalcExpressionNegation.h: Ditto.
- platform/calc/CalcExpressionNumber.h: Add missing wtf/TypeCasts.h header.
- 11:28 AM Changeset in webkit [278282] by
-
- 2 edits in trunk/LayoutTests
[GLIB] Unreviewed test gardening. The media/video-playsinline.html failure has been fixed
https://bugs.webkit.org/show_bug.cgi?id=226308
Patch by Arcady Goldmints-Orlov <Arcady Goldmints-Orlov> on 2021-05-31
- platform/glib/TestExpectations:
- 11:03 AM Changeset in webkit [278281] by
-
- 2 edits in trunk/LayoutTests
[GLIB] Unreviewed test gardening, skip a test that uses WebGL2
https://bugs.webkit.org/show_bug.cgi?id=226341
Patch by Arcady Goldmints-Orlov <Arcady Goldmints-Orlov> on 2021-05-31
- platform/glib/TestExpectations:
- 9:18 AM Changeset in webkit [278280] by
-
- 6 edits12 adds in trunk
Enable <summary> to be a flex container
https://bugs.webkit.org/show_bug.cgi?id=190065
Reviewed by Antti Koivisto.
LayoutTests/imported/w3c:
Imported several WPT tests adding coverage for <summary> as grid/flex.
- resources/import-expectations.json:
- resources/resource-files.json:
- web-platform-tests/html/rendering/the-details-element/details-blockification-expected.txt: Added.
- web-platform-tests/html/rendering/the-details-element/details-blockification.html: Added.
- web-platform-tests/html/rendering/the-details-element/summary-display-flex-expected.html: Added.
- web-platform-tests/html/rendering/the-details-element/summary-display-flex.html: Added.
- web-platform-tests/html/rendering/the-details-element/summary-display-grid-expected.html: Added.
- web-platform-tests/html/rendering/the-details-element/summary-display-grid.html: Added.
- web-platform-tests/html/rendering/the-details-element/summary-display-inline-flex-expected.html: Added.
- web-platform-tests/html/rendering/the-details-element/summary-display-inline-flex.html: Added.
- web-platform-tests/html/rendering/the-details-element/summary-display-inline-grid-expected.html: Added.
- web-platform-tests/html/rendering/the-details-element/summary-display-inline-grid.html: Added.
- web-platform-tests/html/rendering/the-details-element/summary-in-ol-expected.html: Added.
- web-platform-tests/html/rendering/the-details-element/summary-in-ol.html: Added.
- web-platform-tests/html/rendering/the-details-element/w3c-import.log:
Source/WebCore:
Create grid or flex renderers for <summary> elements whenever display: {inline}-{grid|flex}
is specified. All vendors but WebKit allowed it so it should be good for interoperability.
- html/HTMLSummaryElement.cpp:
(WebCore::HTMLSummaryElement::createElementRenderer): create the renderer specifying
RenderElement::OnlyCreateBlockAndFlexboxRenderers.
- rendering/RenderElement.cpp:
(WebCore::RenderElement::createFor): do not create a RenderListItem for <summary> if display:list-item
is used because they're already list items. Let it fallthrough to RenderBlockFlow creation.
- 8:47 AM Changeset in webkit [278279] by
-
- 4 edits in trunk/Source/WebCore
[LFC][TFC] Move ensureTableGrid to TableFormattingState
https://bugs.webkit.org/show_bug.cgi?id=226424
Reviewed by Antti Koivisto.
We can certainly have this much logic in a formatting state class.
- layout/formattingContexts/table/TableFormattingContext.cpp:
(WebCore::Layout::TableFormattingContext::ensureTableGrid): Deleted.
- layout/formattingContexts/table/TableFormattingContext.h:
- layout/formattingContexts/table/TableFormattingState.cpp:
(WebCore::Layout::ensureTableGrid):
(WebCore::Layout::TableFormattingState::TableFormattingState):
- 8:04 AM Changeset in webkit [278278] by
-
- 14 edits in trunk/Source/bmalloc
[bmalloc] Make adaptive scavenging more precise
https://bugs.webkit.org/show_bug.cgi?id=226237
Reviewed by Geoffrey Garen.
This patch re-enables the adaptive scavenger for macOS.
It is much more precise when calling madvise() by keeping track of the
maximum extent of physically mapped memory in a LargeRange. For example,
in the prior code, we'd return a small range back to a Gigacage LargeRange
whithout any physical pages. When we scavenge that LargeRange, we madvise()
the whole Gigacage range. Although this didn't cause correctness issues,
it was quite wasteful.
In the tests I did with this patch compared to the earlier adaptive change,
the number of madvise calls we made drops by ~18% and the time spent in those
calls dropped ~13% on an Apple silicon mac and ~30% on an x86 mac.
This was measured using dtrace running JetStream2 from the command line.
RAMification results improved ~1% over the adptive change.
There is the possible future optimization where we also keep track of the
first address of physically mapped memory in a LargeRange. Since bmalloc
allocates memory from lower addresses first, it is thought that the change
in this patch is sufficient to reduce not only the number of madvise calls,
but the time it takes to make those calls.
- bmalloc/BPlatform.h:
- bmalloc/Heap.cpp:
(bmalloc::Heap::decommitLargeRange):
(bmalloc::Heap::scavenge):
(bmalloc::Heap::allocateSmallChunk):
(bmalloc::Heap::deallocateSmallChunk):
(bmalloc::Heap::allocateSmallPage):
(bmalloc::Heap::splitAndAllocate):
(bmalloc::Heap::allocateLarge):
(bmalloc::Heap::tryAllocateLargeChunk):
(bmalloc::Heap::shrinkLarge):
(bmalloc::Heap::deallocateLarge):
(bmalloc::Heap::scavengeToHighWatermark): Deleted.
- bmalloc/Heap.h:
- bmalloc/IsoDirectory.h:
- bmalloc/IsoDirectoryInlines.h:
(bmalloc::passedNumPages>::takeFirstEligible):
(bmalloc::passedNumPages>::scavenge):
(bmalloc::passedNumPages>::scavengeToHighWatermark): Deleted.
- bmalloc/IsoHeapImpl.h:
- bmalloc/IsoHeapImplInlines.h:
(bmalloc::IsoHeapImpl<Config>::scavengeToHighWatermark): Deleted.
- bmalloc/LargeMap.cpp:
(bmalloc::LargeMap::add):
- bmalloc/LargeRange.h:
(bmalloc::LargeRange::LargeRange):
(bmalloc::LargeRange::physicalExtent const):
(bmalloc::LargeRange::setPhysicalExtent):
(bmalloc::LargeRange::resetPhysicalExtent):
(bmalloc::LargeRange::setUsedSinceLastScavenge):
(bmalloc::merge):
(bmalloc::LargeRange::split const):
(): Deleted.
- bmalloc/Scavenger.cpp:
(bmalloc::Scavenger::Scavenger):
(bmalloc::Scavenger::scavenge):
(bmalloc::Scavenger::threadRunLoop):
(bmalloc::Scavenger::timeSinceLastPartialScavenge): Deleted.
(bmalloc::Scavenger::partialScavenge): Deleted.
- bmalloc/Scavenger.h:
- bmalloc/SmallPage.h:
(bmalloc::SmallPage::setUsedSinceLastScavenge):
- 8:02 AM Changeset in webkit [278277] by
-
- 88 edits in trunk/Source/WebCore
Rename presentationAttributeStyle to presentationalHintStyle to match spec language
https://bugs.webkit.org/show_bug.cgi?id=226467
Reviewed by Sam Weinig.
The HTML specification calls these "presentational hints", https://html.spec.whatwg.org/#presentational-hints.
- dom/Attr.cpp:
(WebCore::Attr::style):
- dom/Element.cpp:
(WebCore::Element::cloneAttributesFromElement):
- dom/ElementData.cpp:
(WebCore::ShareableElementData::ShareableElementData):
(WebCore::UniqueElementData::UniqueElementData):
- dom/ElementData.h:
(WebCore::ElementData::presentationalHintStyleIsDirty const):
(WebCore::ElementData::setPresentationalHintStyleIsDirty const):
(WebCore::ElementData::presentationalHintStyle const):
(WebCore::ElementData::presentationAttributeStyleIsDirty const): Deleted.
(WebCore::ElementData::setPresentationAttributeStyleIsDirty const): Deleted.
(WebCore::ElementData::presentationAttributeStyle const): Deleted.
- dom/StyledElement.cpp:
(WebCore::StyledElement::attributeChanged):
(WebCore::StyledElement::rebuildPresentationalHintStyle):
(WebCore::StyledElement::addPropertyToPresentationalHintStyle):
(WebCore::StyledElement::rebuildPresentationAttributeStyle): Deleted.
(WebCore::StyledElement::addPropertyToPresentationAttributeStyle): Deleted.
- dom/StyledElement.h:
(WebCore::StyledElement::collectPresentationalHintsForAttribute):
(WebCore::StyledElement::additionalPresentationalHintStyle const):
(WebCore::StyledElement::hasPresentationalHintsForAttribute const):
(WebCore::StyledElement::presentationalHintStyle const):
(WebCore::StyledElement::additionalPresentationAttributeStyle const): Deleted.
(WebCore::StyledElement::collectStyleForPresentationAttribute): Deleted.
(WebCore::StyledElement::isPresentationAttribute const): Deleted.
(WebCore::StyledElement::presentationAttributeStyle const): Deleted.
- html/HTMLBRElement.cpp:
(WebCore::HTMLBRElement::hasPresentationalHintsForAttribute const):
(WebCore::HTMLBRElement::collectPresentationalHintsForAttribute):
(WebCore::HTMLBRElement::isPresentationAttribute const): Deleted.
(WebCore::HTMLBRElement::collectStyleForPresentationAttribute): Deleted.
- html/HTMLBRElement.h:
- html/HTMLBodyElement.cpp:
(WebCore::HTMLBodyElement::hasPresentationalHintsForAttribute const):
(WebCore::HTMLBodyElement::collectPresentationalHintsForAttribute):
(WebCore::HTMLBodyElement::isPresentationAttribute const): Deleted.
(WebCore::HTMLBodyElement::collectStyleForPresentationAttribute): Deleted.
- html/HTMLBodyElement.h:
- html/HTMLButtonElement.cpp:
(WebCore::HTMLButtonElement::hasPresentationalHintsForAttribute const):
(WebCore::HTMLButtonElement::isPresentationAttribute const): Deleted.
- html/HTMLButtonElement.h:
- html/HTMLDivElement.cpp:
(WebCore::HTMLDivElement::collectPresentationalHintsForAttribute):
(WebCore::HTMLDivElement::collectStyleForPresentationAttribute): Deleted.
- html/HTMLDivElement.h:
- html/HTMLElement.cpp:
(WebCore::HTMLElement::applyBorderAttributeToStyle):
(WebCore::HTMLElement::mapLanguageAttributeToLocale):
(WebCore::HTMLElement::hasPresentationalHintsForAttribute const):
(WebCore::HTMLElement::collectPresentationalHintsForAttribute):
(WebCore::HTMLElement::applyAlignmentAttributeToStyle):
(WebCore::HTMLElement::addHTMLLengthToStyle):
(WebCore::HTMLElement::isPresentationAttribute const): Deleted.
(WebCore::HTMLElement::collectStyleForPresentationAttribute): Deleted.
- html/HTMLElement.h:
- html/HTMLEmbedElement.cpp:
(WebCore::HTMLEmbedElement::collectPresentationalHintsForAttribute):
(WebCore::HTMLEmbedElement::collectStyleForPresentationAttribute): Deleted.
- html/HTMLEmbedElement.h:
- html/HTMLFontElement.cpp:
(WebCore::HTMLFontElement::hasPresentationalHintsForAttribute const):
(WebCore::HTMLFontElement::collectPresentationalHintsForAttribute):
(WebCore::HTMLFontElement::isPresentationAttribute const): Deleted.
(WebCore::HTMLFontElement::collectStyleForPresentationAttribute): Deleted.
- html/HTMLFontElement.h:
- html/HTMLFrameSetElement.cpp:
(WebCore::HTMLFrameSetElement::hasPresentationalHintsForAttribute const):
(WebCore::HTMLFrameSetElement::collectPresentationalHintsForAttribute):
(WebCore::HTMLFrameSetElement::isPresentationAttribute const): Deleted.
(WebCore::HTMLFrameSetElement::collectStyleForPresentationAttribute): Deleted.
- html/HTMLFrameSetElement.h:
- html/HTMLHRElement.cpp:
(WebCore::HTMLHRElement::hasPresentationalHintsForAttribute const):
(WebCore::HTMLHRElement::collectPresentationalHintsForAttribute):
(WebCore::HTMLHRElement::isPresentationAttribute const): Deleted.
(WebCore::HTMLHRElement::collectStyleForPresentationAttribute): Deleted.
- html/HTMLHRElement.h:
- html/HTMLIFrameElement.cpp:
(WebCore::HTMLIFrameElement::hasPresentationalHintsForAttribute const):
(WebCore::HTMLIFrameElement::collectPresentationalHintsForAttribute):
(WebCore::HTMLIFrameElement::isPresentationAttribute const): Deleted.
(WebCore::HTMLIFrameElement::collectStyleForPresentationAttribute): Deleted.
- html/HTMLIFrameElement.h:
- html/HTMLImageElement.cpp:
(WebCore::HTMLImageElement::hasPresentationalHintsForAttribute const):
(WebCore::HTMLImageElement::collectPresentationalHintsForAttribute):
(WebCore::HTMLImageElement::isPresentationAttribute const): Deleted.
(WebCore::HTMLImageElement::collectStyleForPresentationAttribute): Deleted.
- html/HTMLImageElement.h:
- html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::hasPresentationalHintsForAttribute const):
(WebCore::HTMLInputElement::collectPresentationalHintsForAttribute):
(WebCore::HTMLInputElement::isPresentationAttribute const): Deleted.
(WebCore::HTMLInputElement::collectStyleForPresentationAttribute): Deleted.
- html/HTMLInputElement.h:
- html/HTMLLIElement.cpp:
(WebCore::HTMLLIElement::hasPresentationalHintsForAttribute const):
(WebCore::HTMLLIElement::collectPresentationalHintsForAttribute):
(WebCore::HTMLLIElement::isPresentationAttribute const): Deleted.
(WebCore::HTMLLIElement::collectStyleForPresentationAttribute): Deleted.
- html/HTMLLIElement.h:
- html/HTMLMarqueeElement.cpp:
(WebCore::HTMLMarqueeElement::hasPresentationalHintsForAttribute const):
(WebCore::HTMLMarqueeElement::collectPresentationalHintsForAttribute):
(WebCore::HTMLMarqueeElement::isPresentationAttribute const): Deleted.
(WebCore::HTMLMarqueeElement::collectStyleForPresentationAttribute): Deleted.
- html/HTMLMarqueeElement.h:
- html/HTMLOListElement.cpp:
(WebCore::HTMLOListElement::hasPresentationalHintsForAttribute const):
(WebCore::HTMLOListElement::collectPresentationalHintsForAttribute):
(WebCore::HTMLOListElement::isPresentationAttribute const): Deleted.
(WebCore::HTMLOListElement::collectStyleForPresentationAttribute): Deleted.
- html/HTMLOListElement.h:
- html/HTMLObjectElement.cpp:
(WebCore::HTMLObjectElement::hasPresentationalHintsForAttribute const):
(WebCore::HTMLObjectElement::collectPresentationalHintsForAttribute):
(WebCore::HTMLObjectElement::isPresentationAttribute const): Deleted.
(WebCore::HTMLObjectElement::collectStyleForPresentationAttribute): Deleted.
- html/HTMLObjectElement.h:
- html/HTMLParagraphElement.cpp:
(WebCore::HTMLParagraphElement::collectPresentationalHintsForAttribute):
(WebCore::HTMLParagraphElement::collectStyleForPresentationAttribute): Deleted.
- html/HTMLParagraphElement.h:
- html/HTMLPlugInElement.cpp:
(WebCore::HTMLPlugInElement::hasPresentationalHintsForAttribute const):
(WebCore::HTMLPlugInElement::collectPresentationalHintsForAttribute):
(WebCore::HTMLPlugInElement::isPresentationAttribute const): Deleted.
(WebCore::HTMLPlugInElement::collectStyleForPresentationAttribute): Deleted.
- html/HTMLPlugInElement.h:
- html/HTMLPreElement.cpp:
(WebCore::HTMLPreElement::hasPresentationalHintsForAttribute const):
(WebCore::HTMLPreElement::collectPresentationalHintsForAttribute):
(WebCore::HTMLPreElement::isPresentationAttribute const): Deleted.
(WebCore::HTMLPreElement::collectStyleForPresentationAttribute): Deleted.
- html/HTMLPreElement.h:
- html/HTMLSelectElement.cpp:
(WebCore::HTMLSelectElement::hasPresentationalHintsForAttribute const):
(WebCore::HTMLSelectElement::isPresentationAttribute const): Deleted.
- html/HTMLSelectElement.h:
- html/HTMLTableCaptionElement.cpp:
(WebCore::HTMLTableCaptionElement::collectPresentationalHintsForAttribute):
(WebCore::HTMLTableCaptionElement::collectStyleForPresentationAttribute): Deleted.
- html/HTMLTableCaptionElement.h:
- html/HTMLTableCellElement.cpp:
(WebCore::HTMLTableCellElement::hasPresentationalHintsForAttribute const):
(WebCore::HTMLTableCellElement::collectPresentationalHintsForAttribute):
(WebCore::HTMLTableCellElement::additionalPresentationalHintStyle const):
(WebCore::HTMLTableCellElement::isPresentationAttribute const): Deleted.
(WebCore::HTMLTableCellElement::collectStyleForPresentationAttribute): Deleted.
(WebCore::HTMLTableCellElement::additionalPresentationAttributeStyle const): Deleted.
- html/HTMLTableCellElement.h:
- html/HTMLTableColElement.cpp:
(WebCore::HTMLTableColElement::hasPresentationalHintsForAttribute const):
(WebCore::HTMLTableColElement::collectPresentationalHintsForAttribute):
(WebCore::HTMLTableColElement::additionalPresentationalHintStyle const):
(WebCore::HTMLTableColElement::isPresentationAttribute const): Deleted.
(WebCore::HTMLTableColElement::collectStyleForPresentationAttribute): Deleted.
(WebCore::HTMLTableColElement::additionalPresentationAttributeStyle const): Deleted.
- html/HTMLTableColElement.h:
- html/HTMLTableElement.cpp:
(WebCore::HTMLTableElement::collectPresentationalHintsForAttribute):
(WebCore::HTMLTableElement::hasPresentationalHintsForAttribute const):
(WebCore::HTMLTableElement::additionalPresentationalHintStyle const):
(WebCore::HTMLTableElement::collectStyleForPresentationAttribute): Deleted.
(WebCore::HTMLTableElement::isPresentationAttribute const): Deleted.
(WebCore::HTMLTableElement::additionalPresentationAttributeStyle const): Deleted.
- html/HTMLTableElement.h:
- html/HTMLTablePartElement.cpp:
(WebCore::HTMLTablePartElement::hasPresentationalHintsForAttribute const):
(WebCore::HTMLTablePartElement::collectPresentationalHintsForAttribute):
(WebCore::HTMLTablePartElement::isPresentationAttribute const): Deleted.
(WebCore::HTMLTablePartElement::collectStyleForPresentationAttribute): Deleted.
- html/HTMLTablePartElement.h:
- html/HTMLTableSectionElement.cpp:
(WebCore::HTMLTableSectionElement::additionalPresentationalHintStyle const):
(WebCore::HTMLTableSectionElement::additionalPresentationAttributeStyle const): Deleted.
- html/HTMLTableSectionElement.h:
- html/HTMLTextAreaElement.cpp:
(WebCore::HTMLTextAreaElement::hasPresentationalHintsForAttribute const):
(WebCore::HTMLTextAreaElement::collectPresentationalHintsForAttribute):
(WebCore::HTMLTextAreaElement::isPresentationAttribute const): Deleted.
(WebCore::HTMLTextAreaElement::collectStyleForPresentationAttribute): Deleted.
- html/HTMLTextAreaElement.h:
- html/HTMLTextFormControlElement.cpp:
(WebCore::HTMLTextFormControlElement::adjustInnerTextStyle const):
- html/HTMLUListElement.cpp:
(WebCore::HTMLUListElement::hasPresentationalHintsForAttribute const):
(WebCore::HTMLUListElement::collectPresentationalHintsForAttribute):
(WebCore::HTMLUListElement::isPresentationAttribute const): Deleted.
(WebCore::HTMLUListElement::collectStyleForPresentationAttribute): Deleted.
- html/HTMLUListElement.h:
- html/HTMLVideoElement.cpp:
(WebCore::HTMLVideoElement::collectPresentationalHintsForAttribute):
(WebCore::HTMLVideoElement::hasPresentationalHintsForAttribute const):
(WebCore::HTMLVideoElement::collectStyleForPresentationAttribute): Deleted.
(WebCore::HTMLVideoElement::isPresentationAttribute const): Deleted.
- html/HTMLVideoElement.h:
- inspector/agents/InspectorCSSAgent.cpp:
(WebCore::InspectorCSSAgent::buildObjectForAttributesStyle):
- mathml/MathMLElement.cpp:
(WebCore::MathMLElement::hasPresentationalHintsForAttribute const):
(WebCore::MathMLElement::collectPresentationalHintsForAttribute):
(WebCore::MathMLElement::isPresentationAttribute const): Deleted.
(WebCore::MathMLElement::collectStyleForPresentationAttribute): Deleted.
- mathml/MathMLElement.h:
- style/ElementRuleCollector.cpp:
(WebCore::Style::ElementRuleCollector::matchAllRules):
- style/MatchedDeclarationsCache.cpp:
(WebCore::Style::MatchedDeclarationsCache::sweep):
- style/StyleSharingResolver.cpp:
(WebCore::Style::SharingResolver::canShareStyleWithElement const):
(WebCore::Style::SharingResolver::sharingCandidateHasIdenticalStyleAffectingAttributes const):
- svg/SVGCircleElement.cpp:
(WebCore::SVGCircleElement::svgAttributeChanged):
- svg/SVGElement.cpp:
(WebCore::SVGElement::hasPresentationalHintsForAttribute const):
(WebCore::SVGElement::collectPresentationalHintsForAttribute):
(WebCore::SVGElement::isPresentationAttribute const): Deleted.
(WebCore::SVGElement::collectStyleForPresentationAttribute): Deleted.
- svg/SVGElement.h:
(WebCore::SVGElement::invalidateSVGPresentationalHintStyle):
(WebCore::SVGElement::invalidateSVGPresentationAttributeStyle): Deleted.
- svg/SVGEllipseElement.cpp:
(WebCore::SVGEllipseElement::svgAttributeChanged):
- svg/SVGFilterElement.cpp:
(WebCore::SVGFilterElement::svgAttributeChanged):
- svg/SVGForeignObjectElement.cpp:
(WebCore::SVGForeignObjectElement::svgAttributeChanged):
- svg/SVGImageElement.cpp:
(WebCore::SVGImageElement::svgAttributeChanged):
- svg/SVGMaskElement.cpp:
(WebCore::SVGMaskElement::svgAttributeChanged):
- svg/SVGPatternElement.cpp:
(WebCore::SVGPatternElement::svgAttributeChanged):
- svg/SVGRectElement.cpp:
(WebCore::SVGRectElement::svgAttributeChanged):
- svg/SVGSVGElement.cpp:
(WebCore::SVGSVGElement::svgAttributeChanged):
- svg/SVGTextContentElement.cpp:
(WebCore::SVGTextContentElement::hasPresentationalHintsForAttribute const):
(WebCore::SVGTextContentElement::collectPresentationalHintsForAttribute):
(WebCore::SVGTextContentElement::isPresentationAttribute const): Deleted.
(WebCore::SVGTextContentElement::collectStyleForPresentationAttribute): Deleted.
- svg/SVGTextContentElement.h:
- svg/SVGTextPositioningElement.cpp:
(WebCore::SVGTextPositioningElement::collectPresentationalHintsForAttribute):
(WebCore::SVGTextPositioningElement::hasPresentationalHintsForAttribute const):
(WebCore::SVGTextPositioningElement::collectStyleForPresentationAttribute): Deleted.
(WebCore::SVGTextPositioningElement::isPresentationAttribute const): Deleted.
- svg/SVGTextPositioningElement.h:
- svg/properties/SVGAttributeAnimator.cpp:
(WebCore::SVGAttributeAnimator::invalidateStyle):
- 6:33 AM Changeset in webkit [278276] by
-
- 12 edits3 adds in trunk
[GStreamer] Incorrect rendering of VP9 with transparency
https://bugs.webkit.org/show_bug.cgi?id=225961
Reviewed by Žan Doberšek.
Source/WebCore:
Fix the rendering of videos with transparency. This is done both AC and non AC modes and
with and without GSTREAMER_GL enabled.
On AC mode and using GSTREAMER_GL, a new option is added to TextureMapperGL and TextureMapperShaderProgram
to support premultiplying the components of a pixel. This is required because GStreamer uses straight alpha,
and we need it premultiplied in order to perform the correct blending blending of the video frames. Then we
use that new option to render video frames. This new option is also used when copying the video frame into
an external texture if premultiplyAlpha is requested.
On non AC mode, or when GStreamer-gl is disabled, add support to ImageGStreamerCairo to premultiply the alpha
of the video frame before creating the cairo surface to paint, and pass the appropriate composite operator when
drawing with alpha.
Test: media/video-with-alpha.html
- platform/graphics/gstreamer/GStreamerVideoFrameHolder.cpp:
(WebCore::GstVideoFrameHolder::GstVideoFrameHolder):
- platform/graphics/gstreamer/ImageGStreamerCairo.cpp:
(WebCore::ImageGStreamer::ImageGStreamer):
- platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
(WebCore::MediaPlayerPrivateGStreamer::pushTextureToCompositor):
(WebCore::MediaPlayerPrivateGStreamer::paint): update the caps of the conversion to make them match the format
expected by cairo, so we can avoid a component swap.
(WebCore::MediaPlayerPrivateGStreamer::copyVideoTextureToPlatformTexture):
- platform/graphics/gstreamer/VideoTextureCopierGStreamer.cpp:
(WebCore::VideoTextureCopierGStreamer::copyVideoTextureToPlatformTexture):
- platform/graphics/gstreamer/VideoTextureCopierGStreamer.h:
- platform/graphics/texmap/TextureMapperGL.cpp:
(WebCore::TextureMapperGL::drawTexture):
- platform/graphics/texmap/TextureMapperGL.h:
- platform/graphics/texmap/TextureMapperShaderProgram.cpp:
(WebCore::TextureMapperShaderProgram::create):
- platform/graphics/texmap/TextureMapperShaderProgram.h:
LayoutTests:
Add a test for the playback of transparent videos. This is initially skipped because it's not supported
on Apple ports and won't be working on GTK and WPE until GStreamer is bumped to 1.20.
- TestExpectations:
- media/content/video-with-alpha.webm: Added.
- media/video-with-alpha-expected.html: Added.
- media/video-with-alpha.html: Added.
- 2:22 AM Changeset in webkit [278275] by
-
- 3 edits2 adds in trunk
Source/WebCore:
Treat width: intrinsic as non definite
https://bugs.webkit.org/show_bug.cgi?id=226367
Patch by Rob Buis <rbuis@igalia.com> on 2021-05-31
Reviewed by Darin Adler.
Treat width: intrinsic as non definite in
childMainSizeIsDefinite.
Test: fast/css/flex-box-intrinsic-width-crash.html
- rendering/RenderFlexibleBox.cpp:
(WebCore::RenderFlexibleBox::childMainSizeIsDefinite):
LayoutTests:
Release assert in RenderFlexibleBox::computeInnerFlexBaseSizeForChild via RenderFlexibleBox::layoutFlexItems
https://bugs.webkit.org/show_bug.cgi?id=226367
Patch by Rob Buis <rbuis@igalia.com> on 2021-05-31
Reviewed by Darin Adler.
Add test for this.
- fast/css/flex-box-intrinsic-width-crash-expected.txt: Added.
- fast/css/flex-box-intrinsic-width-crash.html: Added.
- 1:29 AM Changeset in webkit [278274] by
-
- 8 edits3 adds in trunk
Go to network in case fetch event is not yet responded when being destroyed instead of failing the load
https://bugs.webkit.org/show_bug.cgi?id=226374
<rdar://78298472>
Reviewed by Alex Christensen.
Source/WebCore:
In case worker is terminated, instead of failing fetch events that are pending a response, we should go to the network.
This mirrors what is already done in ServiceWorkerFetchTask.
This can for instance happen in case a lot of fetches are done in parallel on the same service worker.
The service worker will do the fetch itself but given there are lots of fetches, some fetch might not start until other loads are complete.
This may trigger the fetch timeout which might then trigger terminating the worker.
We should probably revisit our fetch timeout policy now that we have added worker spin detection.
Test: http/wpt/service-workers/fetch-worker-terminate.https.html
- testing/ServiceWorkerInternals.cpp:
(WebCore::ServiceWorkerInternals::terminate):
(WebCore::ServiceWorkerInternals::waitForFetchEventToFinish):
- testing/ServiceWorkerInternals.h:
- testing/ServiceWorkerInternals.idl:
- workers/service/FetchEvent.cpp:
(WebCore::FetchEvent::~FetchEvent):
Update logging to only log the case where respondWith is called but fetch event is destroyed before processing the response.
Otherwise, we would log the case of respondWith being never called, which is happening often and leads to go to the network.
(WebCore::FetchEvent::processResponse):
- workers/service/FetchEvent.h:
- workers/service/context/ServiceWorkerFetch.cpp:
(WebCore::ServiceWorkerFetch::processResponse):
LayoutTests:
- http/wpt/service-workers/fetch-worker-terminate-worker.js: Added.
(doTest):
- http/wpt/service-workers/fetch-worker-terminate.https-expected.txt: Added.
- http/wpt/service-workers/fetch-worker-terminate.https.html: Added.
- 12:51 AM Changeset in webkit [278273] by
-
- 2 edits in trunk/Tools/buildstream
[Flatpak SDK] Update to libsoup3 2.99.7
https://bugs.webkit.org/show_bug.cgi?id=226457
Patch by Carlos Garcia Campos <cgarcia@igalia.com> on 2021-05-31
Reviewed by Philippe Normand.
- elements/sdk/libsoup3.bst:
- 12:28 AM Changeset in webkit [278272] by
-
- 2 edits in trunk/Source/ThirdParty/libwebrtc
Use tighter bitrate allocation rules for WebRTC H264 software encoder
https://bugs.webkit.org/show_bug.cgi?id=226319
<rdar://73150695>
Reviewed by Eric Carlson.
Software H264 encoder is sometimes overshooting target bitrate in which case WebRTC backend will start dropping frames.
The encoder might then think it is on target and will not try to increase compression.
This makes it possible to be locked in a very low frame rate but high quality image situation.
It is often better to preserve frame rate and lower quality, the application could always lower frame rate if desired.
To do so, we detect whether the encoder is using software code path or not.
If so, we compute the actual frame rate and compare it with the expected frame rate.
If the actual frame rate is twice smaller or even below, we enter in a low frame rate mode.
Otherwise, we are in a regular frame rate mode where we apply the normal bitrate rules.
In the low frame rate mode, we divide the target bitrate by 3 so as to quickly recover frame rate.
This works well in situations where motion increases from time to time.
It is still not perfect for instance in case the video is muted and gets unmuted or when the scene is completely still and suddenly large motion happens.
In those cases, frame rate is recovered after a minute or so according my testing.
- Source/webrtc/sdk/objc/components/video_codec/RTCVideoEncoderH264.mm:
(-[RTCVideoEncoderH264 initWithCodecInfo:]):
(-[RTCVideoEncoderH264 encode:codecSpecificInfo:frameTypes:]):
(-[RTCVideoEncoderH264 resetCompressionSessionWithPixelFormat:]):
(-[RTCVideoEncoderH264 setEncoderBitrateBps:frameRate:]):
(-[RTCVideoEncoderH264 updateBitRateAccordingActualFrameRate]):
May 30, 2021:
- 11:39 PM Changeset in webkit [278271] by
-
- 3 edits2 adds in trunk
REGRESSION (r258118): SVG paths that contain a single move command incorrect client bounding rects
https://bugs.webkit.org/show_bug.cgi?id=226447
rdar://72112744
Reviewed by Alan Bujtas.
Source/WebCore:
r258118 introduced a fast path for computing the bounding rect of a
WebCore::Pathwithout having to
materialize a platform path object (e.g.CGPathRefon platforms that use CoreGraphics). To do this, we
introduceInlinePathData-- a variant capable of representing several types of simplePathobjects without
allocating a platform path.
However, in the case where a
Pathonly consists of a singlemoveTocommand, this fast path for computing the
bounding rect currently returns the zero rect (an empty rect at the origin), rather than an empty rect at the
location we've moved to. This causes the offset of the bounding rect of an SVG path element that contains only a
singleMdrawing command to be incorrect.
Simply fix this by returning an empty rect that is offset by the
moveTolocation, rather than the origin.
Test: fast/svg/bounding-rect-for-path-with-only-move-command.html
- platform/graphics/Path.cpp:
(WebCore::Path::boundingRectFromInlineData const):
LayoutTests:
Add a layout test to exercise the bug.
- fast/svg/bounding-rect-for-path-with-only-move-command-expected.txt: Added.
- fast/svg/bounding-rect-for-path-with-only-move-command.html: Added.
- 11:20 PM Changeset in webkit [278270] by
-
- 3 edits in trunk/Source/WebCore
Add logging to allow relating a HTMLMediaElement to a MediaStream
https://bugs.webkit.org/show_bug.cgi?id=226373
Reviewed by Eric Carlson.
Update logging to print the ID of the MediaStream being played by the HTMLMediaElement.
- Modules/mediastream/MediaStream.h:
- html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::loadResource):
- 9:22 PM Changeset in webkit [278269] by
-
- 2 edits in trunk/Source/WebCore
Use SortedArrayMap in parseColorContrastFunctionParameters
https://bugs.webkit.org/show_bug.cgi?id=226444
Reviewed by Darin Adler.
Use SortedArrayMap to remove some boilerplate and allow for a future where
this list gets big and the map can switch to a binary search automatically.
- css/parser/CSSPropertyParserHelpers.cpp:
(WebCore::CSSPropertyParserHelpers::parseColorContrastFunctionParameters):
- 8:44 PM Changeset in webkit [278268] by
-
- 8 edits in trunk
Remove support for no longer specific color(lab ...) syntax
https://bugs.webkit.org/show_bug.cgi?id=226439
Reviewed by Darin Adler.
Source/WebCore:
Remove support for parsing the color(lab ...) syntax.
- css/parser/CSSPropertyParserHelpers.cpp:
(WebCore::CSSPropertyParserHelpers::parseColorFunctionParameters):
(WebCore::CSSPropertyParserHelpers::parseColorFunctionForLabParameters): Deleted.
LayoutTests:
Remove test cases for color(lab) (keeping one to ensure it doesn't
work) and update uses of color(lab ...) to use lab(...) instead.
- fast/css/parsing-lab-colors-expected.txt:
- fast/css/parsing-lab-colors.html:
- fast/css/parsing-relative-color-syntax-expected.txt:
- fast/css/parsing-relative-color-syntax.html:
- TestExpectations:
- 8:09 PM Changeset in webkit [278267] by
-
- 5 edits in trunk/Source/WebCore
Fix some comment typos
https://bugs.webkit.org/show_bug.cgi?id=226443
Reviewed by Sam Weinig.
Trivial fixes for comment typos I noticed over the past couple of
months.
- page/scrolling/ScrollingStateTree.h:
- platform/graphics/cg/GraphicsContextCG.cpp:
(WebCore::GraphicsContext::drawPlatformImage):
(WebCore::GraphicsContext::drawPlatformPattern):
- rendering/RenderLayer.cpp:
(WebCore::RenderLayer::hitTestList):
- rendering/RenderLayer.h:
- 8:02 PM Changeset in webkit [278266] by
-
- 5 edits in trunk/Source/WebCore
Drop PendingActivity from ScriptProcessorNode
https://bugs.webkit.org/show_bug.cgi?id=226442
Reviewed by Darin Adler.
ScriptProcessorNode already has a virtualHasPendingActivity() implementation that keeps
the JS wrapper alive as long has the audio context is running and there is an "audioprocess"
event listener registered on the node. Therefore, there is no need for an additional
PendingActivity data member.
- Modules/webaudio/AudioNode.cpp:
(WebCore::AudioNode::markNodeForDeletionIfNecessary):
- Modules/webaudio/AudioNode.h:
(WebCore::AudioNode::didBecomeMarkedForDeletion): Deleted.
- Modules/webaudio/ScriptProcessorNode.cpp:
(WebCore::ScriptProcessorNode::ScriptProcessorNode):
(WebCore::ScriptProcessorNode::didBecomeMarkedForDeletion): Deleted.
- Modules/webaudio/ScriptProcessorNode.h:
- 7:57 PM Changeset in webkit [278265] by
-
- 9 edits3 deletes in trunk/Source/WebKitLegacy
Remove some of the unneeded WebKitLegacy Windows-specific plug-in code
https://bugs.webkit.org/show_bug.cgi?id=226410
Reviewed by Chris Dumez.
Source/WebKitLegacy:
- PlatformFTW.cmake: Removed all the code in the win/Plugins directory,
and EmbeddedWidget.h/cpp.
- PlatformWin.cmake: Ditto.
Source/WebKitLegacy/win:
- Plugins/PaintHooks.asm: Removed.
- Plugins/PlatformModule.h: Removed.
- Plugins/PluginDatabase.cpp: Removed.
- Plugins/PluginDatabase.h: Removed.
- Plugins/PluginDatabaseWin.cpp: Removed.
- Plugins/PluginDebug.cpp: Removed.
- Plugins/PluginDebug.h: Removed.
- Plugins/PluginMainThreadScheduler.cpp: Removed.
- Plugins/PluginMainThreadScheduler.h: Removed.
- Plugins/PluginMessageThrottlerWin.cpp: Removed.
- Plugins/PluginMessageThrottlerWin.h: Removed.
- Plugins/PluginPackage.cpp: Removed.
- Plugins/PluginPackage.h: Removed.
- Plugins/PluginPackageWin.cpp: Removed.
- Plugins/PluginQuirkSet.h: Removed.
- Plugins/PluginStream.cpp: Removed.
- Plugins/PluginStream.h: Removed.
- Plugins/PluginView.cpp: Removed.
- Plugins/PluginView.h: Removed.
- Plugins/PluginViewWin.cpp: Removed.
- Plugins/npapi.cpp: Removed.
- WebCoreSupport/EmbeddedWidget.cpp: Removed.
- WebCoreSupport/EmbeddedWidget.h: Removed.
- WebCoreSupport/WebFrameLoaderClient.cpp: Removed includes of
PluginDatabase.h, PluginPackage.h, PluginView.h.
(WebFrameLoaderClient::WebFrameLoaderClient): Removed m_manualLoader and
m_hasSetnResponseToPlugin.
(WebFrameLoaderClient::setMainDocumentError): Removed all the code here,
which was only used for m_manualLoader.
(WebFrameLoaderClient::committedLoad): Removed code that runs only if
m_manualLoader is non-null.
(WebFrameLoaderClient::finishedLoading): Removed all the code here, which
was only used for m_manualLoader.
(WebFrameLoaderClient::objectContentType): Removed call to plug-in database
to figure out MIME type and select a plug-in to load.
(WebFrameLoaderClient::dispatchDidFailToStartPlugin const): Deleted.
(WebFrameLoaderClient::createPlugin): Return nullptr. No longer support
Netscape-style plug-ins, nor call the embeddedViewWithArguments function.
(WebFrameLoaderClient::redirectDataToPlugin): Removed all the code here.
- WebCoreSupport/WebFrameLoaderClient.h: Removed dispatchDidFailToStartPlugin,
m_manualLoader, and m_hasSentResponseToPlugin.
- WebCoreSupport/WebPluginInfoProvider.cpp: Removed include of PluginDatabase.h.
(WebPluginInfoProvider::refreshPlugins): Removed all the code here.
(WebPluginInfoProvider::pluginInfo): Ditto.
(WebPluginInfoProvider::webVisiblePluginInfo): Ditto.
- WebFrame.cpp: Removed includes of PluginDatabase.h and PluginView.h.
- WebView.cpp: Ditto.
(WebView::WebViewWndProc): Removed workaround specifically for the
Windows Media Player plug-in.
(WebView::addAdditionalPluginDirectory): Removed all the code here.
- 7:02 PM Changeset in webkit [278264] by
-
- 6 edits in trunk/Source/WebCore
Remove some dead code from BaseAudioContext / AudioContext
https://bugs.webkit.org/show_bug.cgi?id=226441
Reviewed by Sam Weinig.
- Modules/webaudio/AudioContext.h:
- Modules/webaudio/AudioNode.cpp:
(WebCore::AudioNode::connect):
- Modules/webaudio/AudioScheduledSourceNode.cpp:
(WebCore::AudioScheduledSourceNode::updateSchedulingInfo):
(WebCore::AudioScheduledSourceNode::finish):
- Modules/webaudio/BaseAudioContext.cpp:
(WebCore::BaseAudioContext::sourceNodeWillBeginPlayback):
(WebCore::BaseAudioContext::refSourceNode): Deleted.
(WebCore::BaseAudioContext::derefSourceNode): Deleted.
(WebCore::BaseAudioContext::incrementActiveSourceCount): Deleted.
(WebCore::BaseAudioContext::decrementActiveSourceCount): Deleted.
- Modules/webaudio/BaseAudioContext.h:
(WebCore::BaseAudioContext::sampleRate const):
(WebCore::BaseAudioContext::activeSourceCount const): Deleted.
(WebCore::BaseAudioContext::incrementConnectionCount): Deleted.
(WebCore::BaseAudioContext::connectionCount const): Deleted.
- 5:57 PM Changeset in webkit [278263] by
-
- 2 edits in trunk/Source/WebCore
Unreviewed, tweak slightly incorrect assertion added in r278233.
The assertion was hitting flakily on the bots.
- Modules/webaudio/BaseAudioContext.cpp:
(WebCore::BaseAudioContext::addTailProcessingNode):
- 5:52 PM Changeset in webkit [278262] by
-
- 6 edits in trunk
Add additional target luminance keywords for color-contrast() added for https://github.com/w3c/csswg-drafts/issues/6311
https://bugs.webkit.org/show_bug.cgi?id=226438
Reviewed by Chris Dumez.
Source/WebCore:
Add newly spec'd target luminance keywords.
- css/CSSValueKeywords.in:
Add AAA and AAA-large keywords.
- css/parser/CSSPropertyParserHelpers.cpp:
(WebCore::CSSPropertyParserHelpers::parseColorContrastFunctionParameters):
Add target luminance mappings for "AAA" -> 7 and "AAA-large" -> 4.5
LayoutTests:
Update test and results for new AAA and AAA-large target luminance keywords.
- fast/css/parsing-color-contrast-expected.txt:
- fast/css/parsing-color-contrast.html:
- 5:29 PM Changeset in webkit [278261] by
-
- 12 edits2 copies in trunk
Support calc() on components inside relative color syntax colors
https://bugs.webkit.org/show_bug.cgi?id=226272
Reviewed by Darin Adler.
Source/WebCore:
Added new and updated test cases to fast/css/parsing-relative-color-syntax.html.
Updates support for the CSS Color 5 "Relative Color Syntax" to support
both calc() on components and component permutations within the syntax.
This allows for things like:
background: lch(from var(--primary-color) 60% calc(c * 0.8) h);
or
background: lch(from rebeccapurple g b r);
To make this work, the calc() infrastructure now supports passing a CSSCalcSymbolTable
which allows the logic in the parser to lookup unknown identifiers when parsing a value.
The relative color syntax parsers can then build an appropriate CSSCalcSymbolTable filled
with the components of the origin color.
Since these calc() values are not serialized, this can all happen in the parser, but if
we to be able serialize them in the future, CSSCalcPrimitiveValueNode could be updated
to store the symbol name in addition to storing the value and type (or we could we could
add a new node for it).
- Sources.txt:
- WebCore.xcodeproj/project.pbxproj:
- css/calc/CSSCalcSymbolTable.cpp: Added.
- css/calc/CSSCalcSymbolTable.h: Added.
Add CSSCalcSymbolTable which contains a mapping from CSSValueID to CSSUnitType/double pairs.
- css/calc/CSSCalcExpressionNodeParser.cpp:
(WebCore::CSSCalcExpressionNodeParser::parseValue):
When trying to construct a value node, if the token is a identifier, use the new
symbol table to look up a type/value to use instead. Use a switch to make things
a bit more clear that differentiation is being done based on token type.
- css/calc/CSSCalcExpressionNodeParser.h:
Add reference to a CSSCalcSymbolTable to the parser. The parser should only ever be used
on the stack, so this works well and allows us to avoid copying the table.
- css/calc/CSSCalcValue.cpp:
(WebCore::CSSCalcValue::create):
- css/calc/CSSCalcValue.h:
Pass the CSSCalcSymbolTable to the parser if one is provided. An overload was used
to avoid #including CSSCalcSymbolTable.h in the header just to add a default value.
- css/makevalues.pl:
Give a concrete base of uint16_t to allow it to be forward declared and add DefaultHash
and HashTraits to allow it to be used with HashTable. These match the definition of
CSSPropertyID.
- css/parser/CSSPropertyParserHelpers.cpp:
(WebCore::CSSPropertyParserHelpers::CalcParser::CalcParser):
(WebCore::CSSPropertyParserHelpers::consumeNumberRaw):
(WebCore::CSSPropertyParserHelpers::consumePercentWorkerSafe):
(WebCore::CSSPropertyParserHelpers::consumeAngleRaw):
(WebCore::CSSPropertyParserHelpers::consumeAngleWorkerSafe):
(WebCore::CSSPropertyParserHelpers::consumeAngleOrPercent):
(WebCore::CSSPropertyParserHelpers::consumeOptionalAlphaOrIdent):
(WebCore::CSSPropertyParserHelpers::consumeHueOrIdent):
(WebCore::CSSPropertyParserHelpers::consumeNumberOrIdent):
(WebCore::CSSPropertyParserHelpers::consumePercentOrIdent):
(WebCore::CSSPropertyParserHelpers::consumeNumberOrPercentOrIdentNormalizedForRelativeRGB):
(WebCore::CSSPropertyParserHelpers::parseRelativeRGBParameters):
(WebCore::CSSPropertyParserHelpers::parseRelativeHSLParameters):
(WebCore::CSSPropertyParserHelpers::parseRelativeHWBParameters):
(WebCore::CSSPropertyParserHelpers::parseRelativeLabParameters):
(WebCore::CSSPropertyParserHelpers::parseRelativeLCHParameters):
(WebCore::CSSPropertyParserHelpers::extractChannelValue): Deleted.
(WebCore::CSSPropertyParserHelpers::resolveRelativeColorChannel): Deleted.
Rework relative color syntax parsing to allow permutation of channel symbols
and use of the calc() symbol table support to allow passing in the channels.
This makes the relatative color syntax variants much closer to the normal
variants (with the exception of passing the symbol table) and a subsequent
change will attempt to merge them further.
LayoutTests:
Updated test and results for update support including calc()
and compoment permutation.
- fast/css/parsing-relative-color-syntax-expected.txt:
- fast/css/parsing-relative-color-syntax.html:
- 3:46 PM Changeset in webkit [278260] by
-
- 3 edits in trunk/Source/WebCore
[WebXR] Provide a way to bind and unbind IOSurfaces to ANGLE Pbuffers
https://bugs.webkit.org/show_bug.cgi?id=226423
<rdar://problem/78652783>
Reviewed by Sam Weinig.
WebXR on Cocoa platforms gets framebuffer texture targets via
IOSurfaces. Those must be attached to ANGLE Pbuffers, which are
then bound to GL textures. There is already some code in
GraphicsContextGL (and in the CoreVideo classes) to do this, but
this is an attempt to make a generic function that will handle all
cases.
- platform/graphics/cocoa/GraphicsContextGLOpenGLCocoa.mm:
(WebCore::GraphicsContextGLOpenGL::createPbufferAndAttachIOSurface):
(WebCore::GraphicsContextGLOpenGL::destroyPbufferAndDetachIOSurface):
- platform/graphics/opengl/GraphicsContextGLOpenGL.h:
- 3:26 PM Changeset in webkit [278259] by
-
- 4 edits in trunk/Source/WebCore
[WebXR] No need for opaqueTexture when USE(IOSURFACE_FOR_XR_LAYER_DATA)
https://bugs.webkit.org/show_bug.cgi?id=226405
<rdar://problem/78636950>
Reviewed by Tim Horton.
When USE(IOSURFACE_FOR_XR_LAYER_DATA) is true, we'll get our
textures via a different method - we'll create them based on an
IOSurface we receive. This means that when we're in a
USE(IOSURFACE_FOR_XR_LAYER_DATA) configuration, we don't need the
opaqueTexture property on FrameData.
- platform/xr/PlatformXR.h: Put opaqueTexture in the #else clause.
(PlatformXR::Device::FrameData::LayerData::encode const):
(PlatformXR::Device::FrameData::LayerData::decode):
- testing/WebFakeXRDevice.cpp:
(WebCore::SimulatedXRDevice::frameTimerFired):
- Modules/webxr/WebXROpaqueFramebuffer.cpp: Guard use of opaqueTexture.
- 2:36 PM Changeset in webkit [278258] by
-
- 5 edits in trunk/Source/WebKit
[WebXR] Send recommendedResolution using DeviceProxy
https://bugs.webkit.org/show_bug.cgi?id=226402
<rdar://problem/78635475>
Reviewed by Tim Horton.
Add a recommendedResolution field to DeviceInfo and send
it across processes using the XRDeviceProxy.
- Shared/Cocoa/XRDeviceInfo.h:
- Shared/Cocoa/XRDeviceInfo.mm:
(WebKit::XRDeviceInfo::encode const):
(WebKit::XRDeviceInfo::decode):
- Shared/Cocoa/XRDeviceProxy.h:
- Shared/Cocoa/XRDeviceProxy.mm:
(WebKit::XRDeviceProxy::XRDeviceProxy):
- 1:35 PM Changeset in webkit [278257] by
-
- 8 edits in trunk/Source
Drop UncheckedCondition / UncheckedLock
https://bugs.webkit.org/show_bug.cgi?id=226432
Reviewed by Darin Adler.
Source/JavaScriptCore:
Drop one remaining use of UncheckedLock in favor of Lock.
- jit/JITSafepoint.cpp:
- jit/JITWorklistThread.h:
Source/WTF:
Drop UncheckedCondition / UncheckedLock now that the whole codebase has been ported to
Condition / Lock, which support Clang thread safety analysis.
- wtf/Condition.h:
- wtf/Forward.h:
- wtf/Lock.cpp:
(WTF::Lock::lockSlow):
(WTF::Lock::unlockSlow):
(WTF::Lock::unlockFairlySlow):
(WTF::Lock::safepointSlow):
- wtf/Lock.h:
(WTF::assertIsHeld):
(WTF::WTF_ASSERTS_ACQUIRED_LOCK):
- 12:45 PM Changeset in webkit [278256] by
-
- 2 edits in trunk/Source/WebCore
[WebXR] invalidateFramebuffer is not the same as clearing contents
https://bugs.webkit.org/show_bug.cgi?id=226422
<rdar://problem/78652351>
Reviewed by Sam Weinig.
The WebXR specification says that buffer contents must be cleared
before each frame. The code currently does glInvalidateFramebuffer
to wipe the attachments, which isn't the same thing (and produces
an error since it tries to invalidate attachments that don't exist).
Remove the call to invalidateFramebuffer for the moment since it
causes a glError. Add a FIXME to replace it with explicit calls
to glClear. I expect most content does this already, so it is unlikely
anything will break.
- Modules/webxr/WebXROpaqueFramebuffer.cpp:
(WebCore::WebXROpaqueFramebuffer::startFrame): Remove the call to
invalidateFramebuffer.
- 12:41 PM Changeset in webkit [278255] by
-
- 3 edits in trunk/Source/WebCore
[WebXR] Recommended framebuffer width incorrectly scaled
https://bugs.webkit.org/show_bug.cgi?id=226408
<rdar://problem/78638309>
Reviewed by Tim Horton.
When WebXRWebGLLayer creates the WebXROpaqueFramebuffer, it asks
the session for the recommended framebuffer size. It then
multiplies the width by 2 - I assume because there are two eyes.
However, the specification [1] says that it is a "best estimate of
the WebGL framebuffer resolution large enough to contain all of the
session’s XRViews". So it should be the session that makes account
for the multiple views, not the framebuffer.
Since this would almost certainly break existing content using the OpenXR
backend, I edited the implementation to include the 2x width scale.
- Modules/webxr/WebXRWebGLLayer.cpp:
(WebCore::createOpaqueFramebuffer): Remove the "* 2".
- platform/xr/openxr/PlatformXROpenXR.cpp: Add a "* 2" to not break content.
- 12:18 PM Changeset in webkit [278254] by
-
- 7 edits2 adds in trunk
[iOS] UI process crashes when deallocating WKWebView in a script message handler during an active touch event
https://bugs.webkit.org/show_bug.cgi?id=226426
rdar://75425319
Reviewed by Darin Adler.
Source/WebKit:
It's possible for the UI process to crash upon being notified that asynchronous, active touch events have been
handled in the web process via the async IPC replay block inWebPageProxy::handlePreventableTouchEvent(). This
happens if the client posts a message from the web process to UI process while handling an active touch event
and deallocates the WKWebView currently handling the touch event in the script message handler.
This is because the async replay block inside
WebPageProxy::handlePreventableTouchEvent()strongly captures a
reference to theWebPageProxy, thus keeping it alive; however, theWebPageProxy's weak pointer to the page
client is nulled out, which causesWebPageProxy::pageClient()to crash with a null dereference.
To fix this, we weakly capture
WebPageProxyinstead and return early if it has already been destroyed by the
time we process the completion handler, and also add a null check form_pageClientbefore attempting to call
into it. Note that it's unnecessary to call intodoneDeferringTouch(Start|End)to unblock any deferred
gestures here, because the process of destroying the content view will call-cleanUpInteractionand remove all
deferring gestures from the view, regardless of whether they're still in Possible state.
Test: TouchEventTests.DestroyWebViewWhileHandlingTouchEnd
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::handlePreventableTouchEvent):
Tools:
Add a new API test that exercises the crash.
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- TestWebKitAPI/Tests/ios/TouchEventTests.mm: Added.
(-[TouchEventScriptMessageHandler userContentController:didReceiveScriptMessage:]):
(-[WKWebView touchEventGestureRecognizer]):
(TestWebKitAPI::updateSimulatedTouchEvent):
(TestWebKitAPI::simulatedTouchEvent):
(TestWebKitAPI::TEST):
- TestWebKitAPI/Tests/ios/active-touch-events.html: Added.
- TestWebKitAPI/cocoa/TestWKWebView.h:
- TestWebKitAPI/cocoa/TestWKWebView.mm:
(-[WKWebView textInputContentView]):
(-[TestWKWebView textInputContentView]): Deleted.
- TestWebKitAPI/ios/UIKitSPI.h:
- 9:11 AM Changeset in webkit [278253] by
-
- 2951 edits in trunk
Remove WTF::Optional synonym for std::optional, using that class template directly instead
https://bugs.webkit.org/show_bug.cgi?id=226433
Reviewed by Chris Dumez.
Source/JavaScriptCore:
- <many files>: Let the do-webcore-rename script rename Optional<> to std::optional<>.
- inspector/scripts/codegen/generate_objc_protocol_types_implementation.py:
(ObjCProtocolTypesImplementationGenerator._generate_init_method_for_payload): Use auto instead
of Optional<>. Also use * instead of value() and nest the definition of the local inside an if
statement in the case where it's an optional.
- inspector/scripts/tests/expected/*: Regenerated these results.
Source/WebCore:
- <many files>: Let the do-webcore-rename script rename Optional<> to std::optional<>.
Source/WebCore/PAL:
- <many files>: Let the do-webcore-rename script rename Optional<> to std::optional<>.
Source/WebDriver:
- <many files>: Let the do-webcore-rename script rename Optional<> to std::optional<>.
Source/WebKit:
- <many files>: Let the do-webcore-rename script rename Optional<> to std::optional<>.
- Scripts/webkit/tests: Regenerated expected results, by running the command "python
Scripts/webkit/messages_unittest.py -r". (How am I supposed to know to do that?)
Source/WebKitLegacy/ios:
- WebCoreSupport/WebChromeClientIOS.h: Let the do-webcore-rename script rename
Optional<> to std::optional<>.
Source/WebKitLegacy/mac:
- <many files>: Let the do-webcore-rename script rename Optional<> to std::optional<>.
Source/WebKitLegacy/win:
- <many files>: Let the do-webcore-rename script rename Optional<> to std::optional<>.
Source/WTF:
- <many files>: Let the do-webcore-rename script rename Optional<> to std::optional<>.
- wtf/Optional.h: Remove WTF::Optional.
Tools:
- <many files>: Let the do-webcore-rename script rename Optional<> to std::optional<>.
- 4:43 AM Changeset in webkit [278252] by
-
- 2 edits in trunk/Tools
REGRESSION (r274460): [macOS] TestWebKitAPI.Fullscreen.WKViewDelegate is timing out
https://bugs.webkit.org/show_bug.cgi?id=223282
rdar://75495585
Reviewed by Darin Adler.
Remove WKViewDelegate test. This test specifically tests the old, C-API
delegate callback that’s not exposed as API and no one uses. This feature
is explicitly deprecated and no-one uses it.
- TestWebKitAPI/Tests/WebKitCocoa/FullscreenDelegate.mm: Delete test
- 3:17 AM WebKitGTK/2.32.x edited by
- (diff)