Timeline
Jun 13, 2022:
- 11:33 PM Changeset in webkit [295517] by
-
- 11 edits2 deletes in trunk/Source/WebCore
[GPU Process] [Filters] Remove SVGFilterBuilder
https://bugs.webkit.org/show_bug.cgi?id=241577
<rdar://problem/95074247>
Reviewed by Simon Fraser.
After r295498, all the methods of SVGFilterBuilder became static. So this patch
removes it and moves its methods to SVGFilter.
-- colorInterpolationForElement() will be moved to SVGElement::colorInterpolation().
-- effectGeometryFlagsForElement() will be moved to
SVGFilterPrimitiveStandardAttributes::effectGeometryFlags().
-- FilterData::boundaries is removed. It is set in RenderSVGResourceFilter::
applyResource() and used only in RenderSVGResourceFilter::postApplyResource()
where we check '!isEmpty()'. This check can be replaced by checking if filter
is not nullptr.
-- FilterData::scale is removed since it is not used.
-- FilterData::sourceGraphicBuffer and FilterData::drawingRegion are renamed
sourceImage and sourceImageRect respectively to match the named of the inputs
of GraphicsContext::drawFilteredImageBuffer().
- Source/WebCore/Sources.txt:
- Source/WebCore/WebCore.xcodeproj/project.pbxproj:
- Source/WebCore/rendering/CSSFilter.cpp:
(WebCore::calculateReferenceFilterOutsets):
- Source/WebCore/rendering/svg/RenderSVGResourceFilter.cpp:
(WebCore::RenderSVGResourceFilter::applyResource):
(WebCore::RenderSVGResourceFilter::postApplyResource):
(WebCore::RenderSVGResourceFilter::drawingRegion const):
- Source/WebCore/rendering/svg/RenderSVGResourceFilter.h:
- Source/WebCore/rendering/svg/SVGRenderTreeAsText.cpp:
(WebCore::writeSVGResourceContainer):
- Source/WebCore/svg/SVGElement.cpp:
(WebCore::SVGElement::colorInterpolation const):
- Source/WebCore/svg/SVGElement.h:
- Source/WebCore/svg/SVGFilterPrimitiveStandardAttributes.cpp:
(WebCore::SVGFilterPrimitiveStandardAttributes::effectGeometryFlags const):
- Source/WebCore/svg/SVGFilterPrimitiveStandardAttributes.h:
- Source/WebCore/svg/graphics/filters/SVGFilter.cpp:
(WebCore::SVGFilter::create):
(WebCore::buildFilterEffectsGraph):
(WebCore::SVGFilter::buildExpression):
(WebCore::buildFilterPrimitivesGraph):
(WebCore::SVGFilter::calculateOutsets):
- Source/WebCore/svg/graphics/filters/SVGFilter.h:
- Source/WebCore/svg/graphics/filters/SVGFilterBuilder.cpp: Removed.
- Source/WebCore/svg/graphics/filters/SVGFilterBuilder.h: Removed.
Canonical link: https://commits.webkit.org/251522@main
- 11:30 PM Changeset in webkit [295516] by
-
- 1 edit in trunk/Source/WebCore/platform/graphics/TextRun.h
Make TextRun::isolatedCopy copy character data in more cases
https://bugs.webkit.org/show_bug.cgi?id=241581
Reviewed by Simon Fraser.
- Source/WebCore/platform/graphics/TextRun.h:
(WebCore::TextRun::isolatedCopy const):
Canonical link: https://commits.webkit.org/251521@main
- 9:46 PM Changeset in webkit [295515] by
-
- 9 edits in trunk
REGRESSION (251426@main): [ macOS Debug wk2 ] http/tests/media/modern-media-controls/skip-back-support/skip-back-support-button-click.html is a flaky crash
https://bugs.webkit.org/show_bug.cgi?id=241572
rdar://problem/95059414
Reviewed by Cameron McCormack.
In bug 241455 it was incorrectly assumed that checking that the IPCHandle was null
was a sufficient test to check the validity of the reply. However, this ignore the
fact that the IPC decoder will assert if the size isn't valid.
So rather than returning a Handle directly, we return an optional<Handle> instead.
Covered by the existing test.
- LayoutTests/platform/mac-wk2/TestExpectations:
- Source/WebKit/GPUProcess/media/RemoteMediaResourceManager.cpp:
(WebKit::RemoteMediaResourceManager::dataReceived):
- Source/WebKit/GPUProcess/media/RemoteMediaResourceManager.h:
- Source/WebKit/GPUProcess/media/RemoteMediaResourceManager.messages.in:
- Source/WebKit/GPUProcess/media/RemoteSourceBufferProxy.cpp:
(WebKit::RemoteSourceBufferProxy::append):
- Source/WebKit/GPUProcess/media/RemoteSourceBufferProxy.h:
- Source/WebKit/GPUProcess/media/RemoteSourceBufferProxy.messages.in:
- Source/WebKit/WebProcess/GPU/media/RemoteMediaResourceProxy.cpp:
(WebKit::RemoteMediaResourceProxy::dataReceived):
- Source/WebKit/WebProcess/GPU/media/SourceBufferPrivateRemote.cpp:
(WebKit::SourceBufferPrivateRemote::append):
Canonical link: https://commits.webkit.org/251520@main
- 8:34 PM Changeset in webkit [295514] by
-
- 2 edits2 adds in trunk
TextureMapper: if an element has both a mask image and reflection, the part of the reflection isn't painted
https://bugs.webkit.org/show_bug.cgi?id=241257
Reviewed by Don Olmstead.
If an element has both a mask image and reflection, the mask should be
applied both for the reflection and the real layers. However,
TextureMapper was using a single intermediate surface for painting the
reflection and the real layers.
- Painting the reflection layer
- Applying the mask to the reflection layer
- Painting the real layer
- Applying the mask to the real layer
In the step#4, if the mask layer is larger than the element rect, the
mask was unexpectedly applied to the part of the reflection.
The reflection and the real layers should be painted and masked
separately using intermediate surfaces. If the element has opacity,
they should have another intermediate surface to blend together with
the destination.
- LayoutTests/compositing/reflections/mask-and-reflection-expected.html: Added.
- LayoutTests/compositing/reflections/mask-and-reflection.html: Added.
- Source/WebCore/platform/graphics/texmap/TextureMapperLayer.cpp:
(WebCore::TextureMapperLayer::shouldBlend const):
(WebCore::TextureMapperLayer::paintSelfAndChildrenWithReplica):
(WebCore::TextureMapperLayer::paintUsingOverlapRegions):
(WebCore::TextureMapperLayer::paintSelfChildrenFilterAndMask):
(WebCore::TextureMapperLayer::paintIntoSurface):
(WebCore::TextureMapperLayer::paintWithIntermediateSurface):
(WebCore::TextureMapperLayer::paintSelfAndChildrenWithIntermediateSurface):
(WebCore::TextureMapperLayer::paintSelfChildrenReplicaFilterAndMask):
(WebCore::TextureMapperLayer::paintRecursive):
(WebCore::TextureMapperLayer::setMaskLayer):
- Source/WebCore/platform/graphics/texmap/TextureMapperLayer.h:
Canonical link: https://commits.webkit.org/251519@main
- 8:10 PM Changeset in webkit [295513] by
-
- 1 edit in trunk/Source/WebCore/rendering/RenderThemePlayStation.h
Build fix for PlayStation after r295476
https://bugs.webkit.org/show_bug.cgi?id=241582
Reviewed by Myles C. Maxfield.
In r295476 RenderThemePlayStation::system implementation was removed but the declaration was still
present.
- Source/WebCore/rendering/RenderThemePlayStation.h:
Canonical link: https://commits.webkit.org/251518@main
- 7:30 PM Changeset in webkit [295512] by
-
- 8 edits203 adds in trunk/LayoutTests
Reimport css/css-masking/mask-image WPTs.
https://bugs.webkit.org/show_bug.cgi?id=241567
Reviewed by Tim Nguyen and Simon Fraser.
Import of revision d70634c5f7621f8958c82710c7dd366f5df08f72.
- LayoutTests/TestExpectations:
- LayoutTests/imported/w3c/resources/import-expectations.json:
- LayoutTests/imported/w3c/resources/resource-files.json:
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-clip-1-expected.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-clip-1-ref.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-clip-1.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-clip-2-expected.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-clip-2-ref.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-clip-2.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-composite-1-ref.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-composite-1a-expected.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-composite-1a.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-composite-1b-expected.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-composite-1b.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-composite-1c-expected.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-composite-1c.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-composite-1d-expected.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-composite-1d.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-composite-2-ref.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-composite-2a-expected.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-composite-2a.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-composite-2b-expected.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-composite-2b.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-composite-2c-expected.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-composite-2c.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-image-1-ref.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-image-1a-expected.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-image-1a.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-image-1b-expected.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-image-1b.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-image-1c-expected.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-image-1c.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-image-1d-expected.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-image-1d.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-image-2-expected.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-image-2-ref.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-image-2.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-image-3-ref.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-image-3a-expected.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-image-3a.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-image-3b-expected.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-image-3b.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-image-3c-expected.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-image-3c.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-image-3d-expected.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-image-3d.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-image-3e-expected.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-image-3e.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-image-3f-expected.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-image-3f.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-image-3g-expected.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-image-3g.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-image-3h-expected.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-image-3h.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-image-3i-expected.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-image-3i.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-image-4a-expected.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-image-4a.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-image-4b-expected.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-image-4b.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-image-5-expected.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-image-5-ref.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-image-5.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-image-6-expected.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-image-6-ref.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-image-6.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-image-clip-exclude-ref.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-image-data-url-image-expected.html:
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-mode-a-expected.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-mode-a.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-mode-b-expected.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-mode-b.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-mode-c-expected.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-mode-c.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-mode-d-expected.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-mode-d.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-mode-ref.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-mode-to-mask-type-expected.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-mode-to-mask-type-ref.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-mode-to-mask-type.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-opacity-1-ref.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-opacity-1a-expected.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-opacity-1a.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-opacity-1b-expected.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-opacity-1b.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-opacity-1c-expected.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-opacity-1c.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-opacity-1d-expected.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-opacity-1d.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-opacity-1e-expected.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-opacity-1e.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-origin-1-expected.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-origin-1-ref.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-origin-1.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-origin-2-expected.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-origin-2-ref.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-origin-2.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-origin-3-expected.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-origin-3-ref.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-origin-3.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-position-1-ref.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-position-1a-expected.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-position-1a.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-position-1b-expected.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-position-1b.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-position-1c-expected.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-position-1c.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-position-2-ref.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-position-2a-expected.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-position-2a.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-position-2b-expected.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-position-2b.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-position-3-ref.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-position-3a-expected.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-position-3a.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-position-3b-expected.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-position-3b.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-position-4-ref.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-position-4a-expected.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-position-4a.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-position-4b-expected.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-position-4b.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-position-4c-expected.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-position-4c.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-position-4d-expected.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-position-4d.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-position-5-expected.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-position-5-ref.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-position-5.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-position-6-expected.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-position-6-ref.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-position-6.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-position-7-expected.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-position-7-ref.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-position-7.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-repeat-1-expected.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-repeat-1-ref.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-repeat-1.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-repeat-2-expected.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-repeat-2-ref.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-repeat-2.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-repeat-3-expected.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-repeat-3-ref.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-repeat-3.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-size-auto-auto-expected.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-size-auto-auto.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-size-auto-expected.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-size-auto-length-expected.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-size-auto-length-ref.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-size-auto-length.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-size-auto-percent-expected.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-size-auto-percent.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-size-auto-ref.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-size-auto.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-size-contain-clip-border-expected.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-size-contain-clip-border-ref.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-size-contain-clip-border.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-size-contain-clip-padding-expected.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-size-contain-clip-padding-ref.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-size-contain-clip-padding.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-size-contain-expected.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-size-contain-position-fifty-fifty-expected.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-size-contain-position-fifty-fifty-ref.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-size-contain-position-fifty-fifty.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-size-contain-ref.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-size-contain.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-size-cover-expected.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-size-cover-ref.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-size-cover.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-size-length-auto-expected.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-size-length-auto.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-size-length-expected.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-size-length-length-expected.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-size-length-length-ref.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-size-length-length.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-size-length-percent-expected.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-size-length-percent-ref.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-size-length-percent.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-size-length.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-size-percent-auto-expected.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-size-percent-auto.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-size-percent-expected.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-size-percent-length-expected.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-size-percent-length.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-size-percent-percent-expected.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-size-percent-percent-ref.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-size-percent-percent-stretch-expected.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-size-percent-percent-stretch-ref.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-size-percent-percent-stretch.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-size-percent-percent.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-size-percent.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/support/50x100-opaque-blue.svg: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/support/50x50-opaque-blue.svg: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/support/blue-100x100.png: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/support/blue-100x100.svg: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/support/blue-100x50-transparent-100x50.png: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/support/blue-100x50-transparent-100x50.svg: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/support/blue-luminance-100x100.svg: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/support/green-100x100.png: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/support/green-100x100.svg: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/support/green-luminance-100x100.svg: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/support/mask-half-transparent-100x100.svg: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/support/red-100x100.png: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/support/red-100x100.svg: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/support/red-luminance-100x100.svg: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/support/transparent-100x50-blue-100x50.png: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/support/transparent-100x50-blue-100x50.svg: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/support/w3c-import.log:
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/w3c-import.log:
- LayoutTests/platform/gtk/TestExpectations:
- LayoutTests/platform/ios/TestExpectations:
Canonical link: https://commits.webkit.org/251517@main
- 7:24 PM Changeset in webkit [295511] by
-
- 6 edits in trunk
[WPE][GTK] REGRESSION (r294381): WPEWebProcess leak after closing browser
https://bugs.webkit.org/show_bug.cgi?id=241353
Reviewed by Alex Christensen.
Do not keep strong reference to WebPageProxy in the async IPC callback, instead
use WeakPtr to let the page be destroyed if necessary, otherwise the page may
keep its process pool alive after the page was closed.
- Source/WebKit/UIProcess/API/glib/WebKitWebView.cpp: exposed a couple of internal
methods for testing the behavior.
(webkitWebViewForceRepaintForTesting):
(webkitSetCachedProcessSuspensionDelayForTesting):
- Source/WebKit/UIProcess/API/glib/WebKitWebViewInternal.h:
- Source/WebKit/UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::forceRepaint): replaced strong reference in the callback with
a weak one.
- Tools/TestWebKitAPI/Tests/WebKitGLib/TestWebKitWebContext.cpp:
(testNoWebProcessLeakAfterWebKitWebContextDestroy): new test that makes sure that outstanding
async IPC callbacks are run when page and its context are destroyed.
(beforeAll):
- Tools/TestWebKitAPI/glib/WebKitGLib/WebViewTest.cpp:
(WebViewTest::waitUntilLoadFinished):
- Tools/TestWebKitAPI/glib/WebKitGLib/WebViewTest.h:
Canonical link: https://commits.webkit.org/251516@main
- 6:17 PM Changeset in webkit [295510] by
-
- 2 edits in trunk/Source
[Catalyst] Fix build
https://bugs.webkit.org/show_bug.cgi?id=241573
<rdar://95038696>
Reviewed by Wenson Hsieh.
The function CGSSetDenyWindowServerConnections has not been declared.
- Source/WebCore/PAL/pal/spi/cg/CoreGraphicsSPI.h:
- Source/WebKit/Shared/Cocoa/AuxiliaryProcessCocoa.mm:
Canonical link: https://commits.webkit.org/251515@main
- 6:00 PM Changeset in webkit [295509] by
-
- 1 edit in trunk/Source/JavaScriptCore/jsc.cpp
jsc.exe --module-file should understand Windows paths
https://bugs.webkit.org/show_bug.cgi?id=241518
Reviewed by Yusuke Suzuki.
jsc.cpp's module loader was written without any accommodation for Windows, so:
- On Windows, recognize C:\foo as an absolute path and .\foo and ..\foo as dotted relative paths (allowing '/' too).
- On all platforms, stop misusing the URL(base, relative) constructor. This isn't the way to add file:/// to an abspath.
This ensures that module tests are able to run well on Windows.
- Source/JavaScriptCore/jsc.cpp:
(isAbsolutePath): Added.
(isDottedRelativePath): Added.
(absoluteFileURL): Renamed fromabsolutePath.
(GlobalObject::moduleLoaderImportModule):
(GlobalObject::moduleLoaderResolve):
(JSC_DEFINE_HOST_FUNCTION):
(computeFilePath):
(runWithOptions):
Canonical link: https://commits.webkit.org/251514@main
- 5:41 PM Changeset in webkit [295508] by
-
- 1 edit in trunk/Source/WebKit/WebProcess/Storage/WebServiceWorkerFetchTaskClient.h
error: field ‘m_preloadResponse’ has incomplete type ‘WebCore::ResourceResponse’
https://bugs.webkit.org/show_bug.cgi?id=241579
Reviewed by Michael Catanzaro.
Fix WPE compilation.
- Source/WebKit/WebProcess/Storage/WebServiceWorkerFetchTaskClient.h: include missing header.
Canonical link: https://commits.webkit.org/251513@main
- 5:37 PM Changeset in webkit [295507] by
-
- 4 edits in trunk/Source/WebCore/Modules/pictureinpicture
Emit resize event from PiP window
https://bugs.webkit.org/show_bug.cgi?id=241569
Patch by Youssef Soliman <youssefdevelops@gmail.com> on 2022-06-13
Reviewed by Jer Noble.
When the a PiP window is resized, a resize event should be emitted from
the window object, not just the <video> element.
- Source/WebCore/Modules/pictureinpicture/HTMLVideoElementPictureInPicture.cpp:
(WebCore::HTMLVideoElementPictureInPicture::pictureInPictureWindowResized):
- Source/WebCore/Modules/pictureinpicture/PictureInPictureWindow.cpp:
(WebCore::PictureInPictureWindow::create):
(WebCore::PictureInPictureWindow::PictureInPictureWindow):
(WebCore::PictureInPictureWindow::setSize):
- Source/WebCore/Modules/pictureinpicture/PictureInPictureWindow.h:
- Source/WebCore/Modules/pictureinpicture/PictureInPictureWindow.idl:
Canonical link: https://commits.webkit.org/251512@main
- 5:21 PM Changeset in webkit [295506] by
-
- 3 edits in trunk/Source
[WebAuthn] CTAP2_ERR_USER_ACTION_TIMEOUT isn't handled properly
https://bugs.webkit.org/show_bug.cgi?id=241565
rdar://95040155
Reviewed by Brent Fulgham.
Authenticators will time out operations after so many seconds of
waiting for user interaction, returning an error of
CTAP2_ERR_USER_ACTION_TIMEOUT. This patch handles that error
by reissuing the request, instead of letting it go to U2F fallback
and failing there with "no credentials found."
Tested with a Yubikey 5c.
- Source/WebCore/Modules/webauthn/fido/FidoConstants.cpp:
(fido::isCtapDeviceResponseCode):
- Source/WebCore/Modules/webauthn/fido/FidoConstants.h:
- Source/WebKit/UIProcess/WebAuthentication/fido/CtapAuthenticator.cpp:
(WebKit::CtapAuthenticator::continueMakeCredentialAfterResponseReceived):
(WebKit::CtapAuthenticator::continueGetAssertionAfterResponseReceived):
Canonical link: https://commits.webkit.org/251511@main
- 4:42 PM Changeset in webkit [295505] by
-
- 1 edit in trunk/metadata/contributors.json
Add clopez github account to contributors.json
https://bugs.webkit.org/show_bug.cgi?id=241578
Unreviewed.
- metadata/contributors.json:
Canonical link: https://commits.webkit.org/251510@main
- 3:48 PM Changeset in webkit [295504] by
-
- 1 edit in trunk/Source/WebKit/UIProcess/API/ios/WKWebViewIOS.mm
CrashTracer: MobileSafari at WebKit: -[WKWebView(WKViewInternalIOS) _updateScrollViewForTransaction:]
https://bugs.webkit.org/show_bug.cgi?id=241563
<rdar://94621991>
Reviewed by Wenson Hsieh.
Protect against a null root scrolling node.
- Source/WebKit/UIProcess/API/ios/WKWebViewIOS.mm:
(-[WKWebView _updateScrollViewForTransaction:]):
Canonical link: https://commits.webkit.org/251509@main
- 3:33 PM Changeset in webkit [295503] by
-
- 1 edit in trunk/LayoutTests/platform/mac-wk2/TestExpectations
[Gardening]: REGRESSION (251426@main): [ macOS Debug wk2 ] http/tests/media/modern-media-controls/skip-back-support/skip-back-support-button-click.html is a flaky crash
https://bugs.webkit.org/show_bug.cgi?id=241572
<rdar://95059414>
Unreviewed test gardening.
- LayoutTests/platform/mac-wk2/TestExpectations:
Canonical link: https://commits.webkit.org/251508@main
- 2:30 PM Changeset in webkit [295502] by
-
- 2 edits in trunk/Source
Web Inspector: [Cocoa] Web Inspector windows open in separate window collection instead of on current stage when using Stage Manager
https://bugs.webkit.org/show_bug.cgi?id=241521
rdar://91964707
Reviewed by Devin Rousso.
For Stage Manager, the Web Inspector window should appear in the same workspace as the active Safari window. Currently
the best way to accomplish this without negatively impacting our fullscreen behavior is to appear as if we are a
preferences window with a toolbar and NSWindowToolbarStylePreference. By hiding the toolbar, there is no visual or
functional change to Web Inspector, and we now get classified as an auxiliary window only in Stage Manager.
- Source/WebKit/UIProcess/Inspector/mac/WebInspectorUIProxyMac.mm:
(WebKit::WebInspectorUIProxy::createFrontendWindow):
- Source/WebKitLegacy/mac/WebCoreSupport/WebInspectorClient.mm:
(-[WebInspectorWindowController window]):
Canonical link: https://commits.webkit.org/251507@main
- 2:26 PM BuildingGtk edited by
- (diff)
- 1:52 PM Changeset in webkit [295501] by
-
- 1 edit in trunk/Source/WebCore/Modules/indexeddb/server/UniqueIDBDatabaseConnection.cpp
Lambda in UniqueIDBDatabaseConnection::abortTransactionWithoutCallback should check weakThis before using this
https://bugs.webkit.org/show_bug.cgi?id=241557
Reviewed by Youenn Fablet.
- Source/WebCore/Modules/indexeddb/server/UniqueIDBDatabaseConnection.cpp:
(WebCore::IDBServer::UniqueIDBDatabaseConnection::abortTransactionWithoutCallback):
Canonical link: https://commits.webkit.org/251506@main
- 1:19 PM Changeset in webkit [295500] by
-
- 1 edit in trunk/Source/WebInspectorUI/UserInterface/Views/InlineSwatch.js
REGRESSION (r251194): Web Inspector: Uncaught exception when inspecting color referenced by CSS variable
https://bugs.webkit.org/show_bug.cgi?id=241558
Reviewed by Devin Rousso.
The patch for https://bugs.webkit.org/show_bug.cgi?id=241055 introduced an option
to prevent changing color formats when interacting with an inline color swatch.
The value of the
preventChangingColorFormatsoption kept as an instance property ofWI.InlineSwatch.
This is then referenced in the callback passed tocreateCodeMirrorColorTextMarkers(). The
callback doesn't share the same scope, so an exception is raied when callingthis._preventChangingColorFormats.
This patch ensures the value of the instance property is captured in the scope of the callback passed.
- Source/WebInspectorUI/UserInterface/Views/InlineSwatch.js:
(WI.InlineSwatch.prototype._swatchElementClicked.switch.case.WI.InlineSwatch.Type.Variable.optionsForType):
(WI.InlineSwatch.prototype._swatchElementClicked):
Canonical link: https://commits.webkit.org/251505@main
- 1:07 PM Changeset in webkit [295499] by
-
- 1 edit in trunk/Source/WebCore/platform/cocoa/SharedVideoFrameInfo.mm
Check for null buffers in SharedVideoFrameInfo::writePixelBuffer
https://bugs.webkit.org/show_bug.cgi?id=241544
rdar://94649789
Patch by Youenn Fablet <youennf@gmail.com> on 2022-06-13
Reviewed by Eric Carlson.
- Source/WebCore/platform/cocoa/SharedVideoFrameInfo.mm:
(WebCore::SharedVideoFrameInfo::writePixelBuffer):
Canonical link: https://commits.webkit.org/251504@main
- 12:52 PM Changeset in webkit [295498] by
-
- 53 edits in trunk/Source/WebCore
[GPU Process] [Filters] Simplify the dynamic update of the SVG filter elements
https://bugs.webkit.org/show_bug.cgi?id=232842
rdar://85426197
Reviewed by Simon Fraser.
Consider this SVG as an example:
<svg>
<filter id="blur">
<feGaussianBlur stdDeviation="5"/>
</filter>
<circle ... filter="url(#blur)"/>
<rect ... filter="url(#blur)"/>
</svg>
The renderers of the <circle> and the <rect> elements ask the renderer of the
<filter> element, i.e. RenderSVGResourceFilter to applyResource(). In this
function a new SVGFilter is created for each target renderer. A new entry
{ target_renderer, FilterData } is added to
RenderSVGResourceFilter::m_rendererFilterDataMap.
While building the SVGFilter, a new FilterEffect is created for every target
renderer and an entry { primitive_renderer, effect } is added to
SVGFilterBuilder::m_effectRenderer.
Suppose 'stdDeviation' of <feGaussianBlur> has been changed, this is the
current workflow:
SVGFEGaussianBlurElement::svgAttributeChanged() will call
SVGFilterPrimitiveStandardAttributes::primitiveAttributeChanged() which
will call RenderSVGResourceFilterPrimitive::primitiveAttributeChanged().
The last one will call RenderSVGResourceFilter::primitiveAttributeChanged()
and pass itself as an argument.
RenderSVGResourceFilter::primitiveAttributeChanged() will loop through
all the entries in m_rendererFilterDataMap and get the FilterData. And
then it gets the effect given the key primitive renderer from
FilterData::SVGFilterBuilder::m_effectRenderer. Having this effect, its
setFilterEffectAttribute() will be called.
This workflow is cumbersome since it was mainly done this way because the result
FilterImage was stored with the FilterEffect. But since the result FilterImage
was moved out of the FilterEffect, we do not need to create a new FilterEffect
for every target renderer. The same FilterEffect can be shared among all the
target renderers.
This is the new workflow for dynamically updating the FilterEffect attributes:
No need to create a separate FilterEffect for every SVGFilter (or target
renderer). A shared FilterEffect can be used instead. This will be
SVGFilterPrimitiveStandardAttributes::m_effect.
SVGFEGaussianBlurElement::svgAttributeChanged() will call
SVGFilterPrimitiveStandardAttributes::primitiveAttributeChanged() which
will call SVGFEGaussianBlurElement::setFilterEffectAttribute() if m_effect
is not null. setFilterEffectAttribute() will return true if it needs to
be repainted. RenderSVGResourceFilterPrimitive::markFilterEffectForRepaint()
will be called then.
RenderSVGResourceFilterPrimitive::markFilterForInvalidation() will call
RenderSVGResourceFilter::markFilterForRepaint() if effect is not null which
will clear the result FilterImage of this effect and all other FilterImages
which takes the result FilterImage of this effect as an input.
If svgAttributeChanged() finds out it needs to rebuild the entire SVGFilter,
it will call SVGFilterPrimitiveStandardAttributes::markFilterEffectForRebuild()
which will call RenderSVGResourceFilterPrimitive::markFilterEffectForRebuild()
and sets SVGFilterPrimitiveStandardAttributes::m_effect to nullptr.
RenderSVGResourceFilterPrimitive::markFilterEffectForRebuild() will call
RenderSVGResourceFilter::markFilterForRebuild() which will clear
RenderSVGResourceFilter::m_rendererFilterDataMap. This will force rebuilding
the SVGFilter for all renderers.
- Source/WebCore/platform/graphics/filters/FEDropShadow.cpp:
(WebCore::FEDropShadow::setStdDeviationX):
(WebCore::FEDropShadow::setStdDeviationY):
(WebCore::FEDropShadow::setDx):
(WebCore::FEDropShadow::setDy):
(WebCore::FEDropShadow::setShadowColor):
(WebCore::FEDropShadow::setShadowOpacity):
- Source/WebCore/platform/graphics/filters/FEDropShadow.h:
(WebCore::FEDropShadow::setStdDeviationX): Deleted.
(WebCore::FEDropShadow::setStdDeviationY): Deleted.
(WebCore::FEDropShadow::setDx): Deleted.
(WebCore::FEDropShadow::setDy): Deleted.
(WebCore::FEDropShadow::setShadowColor): Deleted.
(WebCore::FEDropShadow::setShadowOpacity): Deleted.
- Source/WebCore/platform/graphics/filters/FEGaussianBlur.cpp:
(WebCore::FEGaussianBlur::setStdDeviationX):
(WebCore::FEGaussianBlur::setStdDeviationY):
(WebCore::FEGaussianBlur::setEdgeMode):
- Source/WebCore/platform/graphics/filters/FEGaussianBlur.h:
- Source/WebCore/platform/graphics/filters/FEOffset.cpp:
(WebCore::FEOffset::setDx):
(WebCore::FEOffset::setDy):
- Source/WebCore/platform/graphics/filters/FEOffset.h:
- Source/WebCore/rendering/CSSFilter.cpp:
(WebCore::createReferenceFilter):
- Source/WebCore/rendering/svg/RenderSVGResourceContainer.h:
- Source/WebCore/rendering/svg/RenderSVGResourceFilter.cpp:
(WebCore::RenderSVGResourceFilter::applyResource):
(WebCore::RenderSVGResourceFilter::markFilterForRepaint):
(WebCore::RenderSVGResourceFilter::markFilterForRebuild):
(WebCore::RenderSVGResourceFilter::primitiveAttributeChanged): Deleted.
- Source/WebCore/rendering/svg/RenderSVGResourceFilter.h:
- Source/WebCore/rendering/svg/RenderSVGResourceFilterPrimitive.cpp:
(WebCore::RenderSVGResourceFilterPrimitive::styleDidChange):
(WebCore::RenderSVGResourceFilterPrimitive::markFilterEffectForRepaint):
(WebCore::RenderSVGResourceFilterPrimitive::markFilterEffectForRebuild):
- Source/WebCore/rendering/svg/RenderSVGResourceFilterPrimitive.h:
- Source/WebCore/rendering/svg/SVGRenderTreeAsText.cpp:
(WebCore::writeSVGResourceContainer):
- Source/WebCore/svg/SVGFEBlendElement.cpp:
(WebCore::SVGFEBlendElement::setFilterEffectAttribute):
(WebCore::SVGFEBlendElement::createFilterEffect const):
(WebCore::SVGFEBlendElement::filterEffect const): Deleted.
- Source/WebCore/svg/SVGFEBlendElement.h:
- Source/WebCore/svg/SVGFEColorMatrixElement.cpp:
(WebCore::SVGFEColorMatrixElement::isInvalidValuesLength const):
(WebCore::SVGFEColorMatrixElement::setFilterEffectAttribute):
(WebCore::SVGFEColorMatrixElement::svgAttributeChanged):
(WebCore::SVGFEColorMatrixElement::createFilterEffect const):
(WebCore::SVGFEColorMatrixElement::filterEffect const): Deleted.
- Source/WebCore/svg/SVGFEColorMatrixElement.h:
- Source/WebCore/svg/SVGFEComponentTransferElement.cpp:
(WebCore::SVGFEComponentTransferElement::svgAttributeChanged):
(WebCore::SVGFEComponentTransferElement::createFilterEffect const):
(WebCore::SVGFEComponentTransferElement::filterEffect const): Deleted.
- Source/WebCore/svg/SVGFEComponentTransferElement.h:
- Source/WebCore/svg/SVGFECompositeElement.cpp:
(WebCore::SVGFECompositeElement::setFilterEffectAttribute):
(WebCore::SVGFECompositeElement::svgAttributeChanged):
(WebCore::SVGFECompositeElement::createFilterEffect const):
(WebCore::SVGFECompositeElement::filterEffect const): Deleted.
- Source/WebCore/svg/SVGFECompositeElement.h:
- Source/WebCore/svg/SVGFEConvolveMatrixElement.cpp:
(WebCore::SVGFEConvolveMatrixElement::setFilterEffectAttribute):
(WebCore::SVGFEConvolveMatrixElement::svgAttributeChanged):
(WebCore::SVGFEConvolveMatrixElement::createFilterEffect const):
(WebCore::SVGFEConvolveMatrixElement::filterEffect const): Deleted.
- Source/WebCore/svg/SVGFEConvolveMatrixElement.h:
- Source/WebCore/svg/SVGFEDiffuseLightingElement.cpp:
(WebCore::SVGFEDiffuseLightingElement::setFilterEffectAttribute):
(WebCore::SVGFEDiffuseLightingElement::svgAttributeChanged):
(WebCore::SVGFEDiffuseLightingElement::createFilterEffect const):
(WebCore::SVGFEDiffuseLightingElement::filterEffect const): Deleted.
- Source/WebCore/svg/SVGFEDiffuseLightingElement.h:
- Source/WebCore/svg/SVGFEDisplacementMapElement.cpp:
(WebCore::SVGFEDisplacementMapElement::setFilterEffectAttribute):
(WebCore::SVGFEDisplacementMapElement::svgAttributeChanged):
(WebCore::SVGFEDisplacementMapElement::createFilterEffect const):
(WebCore::SVGFEDisplacementMapElement::filterEffect const): Deleted.
- Source/WebCore/svg/SVGFEDisplacementMapElement.h:
- Source/WebCore/svg/SVGFEDropShadowElement.cpp:
(WebCore::SVGFEDropShadowElement::svgAttributeChanged):
(WebCore::SVGFEDropShadowElement::setFilterEffectAttribute):
(WebCore::SVGFEDropShadowElement::createFilterEffect const):
(WebCore::SVGFEDropShadowElement::filterEffect const): Deleted.
- Source/WebCore/svg/SVGFEDropShadowElement.h:
- Source/WebCore/svg/SVGFEFloodElement.cpp:
(WebCore::SVGFEFloodElement::setFilterEffectAttribute):
(WebCore::SVGFEFloodElement::createFilterEffect const):
(WebCore::SVGFEFloodElement::filterEffect const): Deleted.
- Source/WebCore/svg/SVGFEFloodElement.h:
- Source/WebCore/svg/SVGFEGaussianBlurElement.cpp:
(WebCore::SVGFEGaussianBlurElement::svgAttributeChanged):
(WebCore::SVGFEGaussianBlurElement::setFilterEffectAttribute):
(WebCore::SVGFEGaussianBlurElement::createFilterEffect const):
(WebCore::SVGFEGaussianBlurElement::filterEffect const): Deleted.
- Source/WebCore/svg/SVGFEGaussianBlurElement.h:
- Source/WebCore/svg/SVGFEImageElement.cpp:
(WebCore::SVGFEImageElement::svgAttributeChanged):
(WebCore::SVGFEImageElement::createFilterEffect const):
(WebCore::SVGFEImageElement::filterEffect const): Deleted.
- Source/WebCore/svg/SVGFEImageElement.h:
- Source/WebCore/svg/SVGFEMergeElement.cpp:
(WebCore::SVGFEMergeElement::childrenChanged):
(WebCore::SVGFEMergeElement::createFilterEffect const):
(WebCore::SVGFEMergeElement::filterEffect const): Deleted.
- Source/WebCore/svg/SVGFEMergeElement.h:
- Source/WebCore/svg/SVGFEMorphologyElement.cpp:
(WebCore::SVGFEMorphologyElement::setFilterEffectAttribute):
(WebCore::SVGFEMorphologyElement::svgAttributeChanged):
(WebCore::SVGFEMorphologyElement::createFilterEffect const):
(WebCore::SVGFEMorphologyElement::filterEffect const): Deleted.
- Source/WebCore/svg/SVGFEMorphologyElement.h:
- Source/WebCore/svg/SVGFEOffsetElement.cpp:
(WebCore::SVGFEOffsetElement::svgAttributeChanged):
(WebCore::SVGFEOffsetElement::setFilterEffectAttribute):
(WebCore::SVGFEOffsetElement::createFilterEffect const):
(WebCore::SVGFEOffsetElement::filterEffect const): Deleted.
- Source/WebCore/svg/SVGFEOffsetElement.h:
- Source/WebCore/svg/SVGFESpecularLightingElement.cpp:
(WebCore::SVGFESpecularLightingElement::setFilterEffectAttribute):
(WebCore::SVGFESpecularLightingElement::createFilterEffect const):
(WebCore::SVGFESpecularLightingElement::filterEffect const): Deleted.
- Source/WebCore/svg/SVGFESpecularLightingElement.h:
- Source/WebCore/svg/SVGFETileElement.cpp:
(WebCore::SVGFETileElement::createFilterEffect const):
(WebCore::SVGFETileElement::filterEffect const): Deleted.
- Source/WebCore/svg/SVGFETileElement.h:
- Source/WebCore/svg/SVGFETurbulenceElement.cpp:
(WebCore::SVGFETurbulenceElement::setFilterEffectAttribute):
(WebCore::SVGFETurbulenceElement::createFilterEffect const):
(WebCore::SVGFETurbulenceElement::filterEffect const): Deleted.
- Source/WebCore/svg/SVGFETurbulenceElement.h:
- Source/WebCore/svg/SVGFilterPrimitiveStandardAttributes.cpp:
(WebCore::SVGFilterPrimitiveStandardAttributes::filterEffect):
(WebCore::SVGFilterPrimitiveStandardAttributes::primitiveAttributeChanged):
(WebCore::SVGFilterPrimitiveStandardAttributes::markFilterEffectForRebuild):
(WebCore::SVGFilterPrimitiveStandardAttributes::setFilterEffectAttribute): Deleted.
- Source/WebCore/svg/SVGFilterPrimitiveStandardAttributes.h:
(WebCore::SVGFilterPrimitiveStandardAttributes::setFilterEffectAttribute):
(WebCore::SVGFilterPrimitiveStandardAttributes::primitiveAttributeChanged): Deleted.
- Source/WebCore/svg/graphics/filters/SVGFilter.cpp:
(WebCore::SVGFilter::create):
- Source/WebCore/svg/graphics/filters/SVGFilter.h:
- Source/WebCore/svg/graphics/filters/SVGFilterBuilder.cpp:
(WebCore::SVGFilterBuilder::buildFilterExpression):
- Source/WebCore/svg/graphics/filters/SVGFilterBuilder.h:
(WebCore::SVGFilterBuilder::effectByRenderer): Deleted.
Canonical link: https://commits.webkit.org/251503@main
- 12:23 PM Changeset in webkit [295497] by
-
- 1 edit in trunk/Source/WebKitLegacy/WebKitLegacy.xcodeproj/project.pbxproj
Remove "Symlink WebKitPluginHost" build phase of WebKitLegacy
https://bugs.webkit.org/show_bug.cgi?id=241553
Reviewed by Alexey Proskuryakov.
- Source/WebKitLegacy/WebKitLegacy.xcodeproj/project.pbxproj:
Canonical link: https://commits.webkit.org/251502@main
- 12:20 PM Changeset in webkit [295496] by
-
- 14 edits in trunk
[Xcode] Use workspace builds by default in build-webkit
https://bugs.webkit.org/show_bug.cgi?id=241298
Reviewed by Alexey Proskuryakov.
Switch the default value of the --use-workspace flag, and add a warning
message indicating that non-workspace Xcode builds are deprecated.
Add product dependencies and disable SDK metadata parsing in tools
projects, to prevent watchOS/tvOS workspace builds from thinking we are
linking against system WebKit.
Add an aggregate "MiniBrowser (Platform filters)" target, which builds
MiniBrowser.app iff the workspace is building for a Mac destination.
- Source/ThirdParty/libwebrtc/Configurations/DebugRelease.xcconfig: Fix an sdk xcconfig setting.
- Tools/DumpRenderTree/mac/Configurations/DumpRenderTreeLibrary.xcconfig: Set DISABLE_SDK_METADATA_PARSING.
- Tools/DumpRenderTree/mac/Configurations/LayoutTestHelper.xcconfig: Set DISABLE_SDK_METADATA_PARSING.
- Tools/MiniBrowser/MiniBrowser.xcodeproj/project.pbxproj: Create the aggregate target mentioned above.
- Tools/MobileMiniBrowser/MobileMiniBrowser.xcodeproj/project.pbxproj: Link MobileMiniBrowser.framework against WebKit.
- Tools/Scripts/build-webkit: Switch --use-workspace default.
- Tools/TestWebKitAPI/Configurations/InjectedBundle.xcconfig: Set DISABLE_SDK_METADATA_PARSING.
- Tools/TestWebKitAPI/Configurations/TestWTFLibrary.xcconfig: Set DISABLE_SDK_METADATA_PARSING.
- Tools/TestWebKitAPI/Configurations/TestWebKitAPI.xcconfig: Set DISABLE_SDK_METADATA_PARSING.
- Tools/TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: Add WebKit product dependency.
- Tools/WebKitTestRunner/Configurations/InjectedBundle.xcconfig: Add DISABLE_SDK_METADATA_PARSING.
- Tools/WebKitTestRunner/Configurations/WebKitTestRunner.xcconfig: Add DISABLE_SDK_METADATA_PARSING.
- WebKit.xcworkspace/xcshareddata/xcschemes/All Modules.xcscheme: Replace MiniBrowser.app with the aggregate target.
- WebKit.xcworkspace/xcshareddata/xcschemes/All Tools.xcscheme: Replace MiniBrowser.app with the aggregate target.
Canonical link: https://commits.webkit.org/251501@main
- 11:51 AM Changeset in webkit [295495] by
-
- 2 edits in trunk/LayoutTests
[ macOS ] webanimations/accelerated-animation-after-forward-filling-animation.html is a flaky image failure
https://bugs.webkit.org/show_bug.cgi?id=239794
<rdar://92365628>
Patch by Antoine Quint <Antoine Quint> on 2022-06-13
Reviewed by Dean Jackson.
Typically we wait 3 frames before considering an accelerated animation was committed.
Additionally, locally I could reproduce the issue prior to this patch but not with it.
- LayoutTests/platform/mac/TestExpectations:
- LayoutTests/webanimations/accelerated-animation-after-forward-filling-animation.html:
Canonical link: https://commits.webkit.org/251500@main
- 11:49 AM Changeset in webkit [295494] by
-
- 2 edits in trunk/LayoutTests
Regression (r268615) : [ macOS ] webanimations/relative-ordering-of-translate-and-rotate-properties-accelerated.html is a flaky image failure
https://bugs.webkit.org/show_bug.cgi?id=230863
<rdar://83593809>
Patch by Antoine Quint <Antoine Quint> on 2022-06-13
Reviewed by Dean Jackson.
Use the tried and true technique of waiting for animations to be ready and three animation frames
to ensure all accelerated animations have been committed.
- LayoutTests/platform/mac-wk1/TestExpectations:
- LayoutTests/webanimations/resources/wait-until-animations-are-committed.js:
Canonical link: https://commits.webkit.org/251499@main
- 11:20 AM Changeset in webkit [295493] by
-
- 7 edits in trunk/Source/WebKit/UIProcess
Start/stop ProcessStateMonitor with ApplicationStateTracker
https://bugs.webkit.org/show_bug.cgi?id=241427
Reviewed by Geoffrey Garen.
We want ProcessStateMonitor to be started when application is in background and to be stopped when application is in
foreground. In r294405, we start/stop ProcessStateMonitor on receiving UIApplicationDidEnterBackgroundNotification and
UIApplicationWillEnterForegroundNotification notifications. However, UIApplicationWillEnterForegroundNotification can be
sent later than UISceneWillEnterForegroundNotification. In ApplicationStateTracke, we start creating foreground activity
for web process on receiving UISceneWillEnterForegroundNotification. At this time,
UIApplicationWillEnterForegroundNotification may not be received yet and ProcessStateMonitor may still be
working. ProcessStateMonitor may forbid creating new activity after it sets process shouldSuspend (see r294405), so we
need to make sure ProcessStateMonitor is stopped before starting new foreground activity.
To achieve that, we now decide when to start/stop ProcessStateMonitor with ApplicationStateTracker. We start
ProcessStateMonitor when all trackers are in the background, and stop it when at least one tracker is in foreground.
- Source/WebKit/UIProcess/ApplicationStateTracker.mm:
(WebKit::allApplicationStateTrackers):
(WebKit::updateApplicationBackgroundState):
(WebKit::ApplicationStateTracker::ApplicationStateTracker):
(WebKit::ApplicationStateTracker::~ApplicationStateTracker):
(WebKit::ApplicationStateTracker::applicationDidEnterBackground):
(WebKit::ApplicationStateTracker::applicationWillEnterForeground):
- Source/WebKit/UIProcess/Cocoa/WebProcessPoolCocoa.mm:
(WebKit::WebProcessPool::setProcessesShouldSuspend):
- Source/WebKit/UIProcess/ProcessAssertion.h:
- Source/WebKit/UIProcess/WebProcessPool.h:
- Source/WebKit/UIProcess/ios/ProcessAssertionIOS.mm:
(-[WKProcessAssertionBackgroundTaskManager _releaseBackgroundTask]):
(-[WKProcessAssertionBackgroundTaskManager setProcessStateMonitorEnabled:]):
(WebKit::ProcessAndUIAssertion::setProcessStateMonitorEnabled):
- Source/WebKit/UIProcess/ios/ProcessStateMonitor.mm:
(WebKit::ProcessStateMonitor::checkRemainingRunTime):
- Source/WebKit/UIProcess/ios/WebProcessProxyIOS.mm:
(WebKit::WebProcessProxy::platformInitialize):
Canonical link: https://commits.webkit.org/251498@main
- 10:16 AM Changeset in webkit [295492] by
-
- 11 edits in trunk
AX: Update the isolated tree in response to dynamic aria-orientation changes
https://bugs.webkit.org/show_bug.cgi?id=241543
Reviewed by Chris Fleizach.
This patch also makes aria-orientation work for node-only objects, like
those with display:contents.
- LayoutTests/accessibility/aria-orientation-expected.txt:
- LayoutTests/accessibility/aria-orientation.html:
- Source/WebCore/accessibility/AXLogger.cpp:
(WebCore::operator<<):
- Source/WebCore/accessibility/atspi/AXObjectCacheAtspi.cpp
- Source/WebCore/accessibility/AXObjectCache.cpp:
(WebCore::AXObjectCache::handleAttributeChange):
(WebCore::AXObjectCache::updateIsolatedTree):
- Source/WebCore/accessibility/AXObjectCache.h:
- Source/WebCore/accessibility/AccessibilityNodeObject.cpp:
(WebCore::AccessibilityNodeObject::orientation const):
- Source/WebCore/accessibility/AccessibilityNodeObject.h:
- Source/WebCore/accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::orientation const): Deleted.
- Source/WebCore/accessibility/AccessibilityRenderObject.h:
- Source/WebCore/accessibility/isolatedtree/AXIsolatedTree.cpp:
(WebCore::AXIsolatedTree::updateNodeProperty):
Canonical link: https://commits.webkit.org/251497@main
- 10:15 AM Changeset in webkit [295491] by
-
- 6 edits in trunk/Source
AX ITM: Fix for accessibility/Mac/aria-errormessage.html in isolated tree mode.
https://bugs.webkit.org/show_bug.cgi?id=241398
Test: accessibility/Mac/aria-errormessage.html
Reviewed by Chris Fleizach and Tyler Wilcock.
This test was failing because the elements that are referenced as error messages are <span> elements, which are ignored on the mac platform. Therefore there was no isolated object created for those elements and AXIsolatedTree::objectsForIDs will not return them. This patch solves this problem by creating orphan isolated objects in AXIsolatedTree:objectsForIDs if there is no isolated object for the requested AXID, and the corresponding live objects exists.
Canonical link: https://commits.webkit.org/251496@main
- 9:11 AM Changeset in webkit [295490] by
-
- 5 edits in trunk
WebGL: Fix implicit clears with rasterizer discard enabled
https://bugs.webkit.org/show_bug.cgi?id=223351
Patch by Alexey Knyazev <3479527+lexaknyazev@users.noreply.github.com> on 2022-06-13
Reviewed by Kimmo Kinnunen.
- Do not mark context as changed after draw or clear ops with
enabled rasterizer discard.
- Rename ClearCaller enum to CallerType.
- LayoutTests/TestExpectations:
- Source/WebCore/html/canvas/WebGL2RenderingContext.cpp:
(WebCore::WebGL2RenderingContext::blitFramebuffer):
(WebCore::WebGL2RenderingContext::copyTexSubImage3D):
(WebCore::WebGL2RenderingContext::drawRangeElements):
(WebCore::WebGL2RenderingContext::readPixels):
- Source/WebCore/html/canvas/WebGLMultiDraw.cpp:
(WebCore::WebGLMultiDraw::multiDrawArraysWEBGL):
(WebCore::WebGLMultiDraw::multiDrawArraysInstancedWEBGL):
(WebCore::WebGLMultiDraw::multiDrawElementsWEBGL):
(WebCore::WebGLMultiDraw::multiDrawElementsInstancedWEBGL):
- Source/WebCore/html/canvas/WebGLRenderingContextBase.cpp:
(WebCore::WebGLRenderingContextBase::markContextChangedAndNotifyCanvasObserver):
(WebCore::WebGLRenderingContextBase::clearIfComposited):
(WebCore::WebGLRenderingContextBase::paintRenderingResultsToCanvas):
(WebCore::WebGLRenderingContextBase::paintRenderingResultsToPixelBuffer):
(WebCore::WebGLRenderingContextBase::clear):
(WebCore::WebGLRenderingContextBase::copyTexSubImage2D):
(WebCore::WebGLRenderingContextBase::drawArrays):
(WebCore::WebGLRenderingContextBase::drawElements):
(WebCore::WebGLRenderingContextBase::readPixels):
(WebCore::WebGLRenderingContextBase::copyTexImage2D):
(WebCore::WebGLRenderingContextBase::drawArraysInstanced):
(WebCore::WebGLRenderingContextBase::drawElementsInstanced):
- Source/WebCore/html/canvas/WebGLRenderingContextBase.h:
Canonical link: https://commits.webkit.org/251494@main
- 9:10 AM Changeset in webkit [295489] by
-
- 2 edits in trunk/Tools/WebKitTestRunner
39 bytes leaked in WTR::TestController::platformConfigureViewForTest()
https://bugs.webkit.org/show_bug.cgi?id=241525
Reviewed by Adrian Perez de Castro.
Plug a couple of leaks in the test controller.
- Tools/WebKitTestRunner/gtk/TestControllerGtk.cpp:
(WTR::TestController::platformConfigureViewForTest):
- Tools/WebKitTestRunner/wpe/TestControllerWPE.cpp:
(WTR::TestController::platformConfigureViewForTest):
Canonical link: https://commits.webkit.org/251494@main
- 7:07 AM Changeset in webkit [295488] by
-
- 27 edits4 adds in trunk
Do not route the navigation preload response body to the service worker if we can avoid it
https://bugs.webkit.org/show_bug.cgi?id=241122
rdar://problem/94141714
Patch by Youenn Fablet <youennf@gmail.com> on 2022-06-13
Reviewed by Chris Dumez.
To further optimize navigation preload, we always start the preload as soon as possible.
In addition to that, we no longer pipe the body through the service worker in the common case:
- When the preload receives the response, it sends it to the service worker that will resolve the preload promise.
- The service worker is then expected to synchronously provide it to the FetchEvent.
- If the fetch event gets the preload response and the preload response has not been started to load in the service worker, the service worker instructs network process to let the preload directly go to the WebProcess.
- The preload response body might be loaded in the service worker if the response is cloned or if the service worker does not instruct the fetch event to use the preload fast enough. We schedule one task for the body to actually be loaded in the service worker.
- Set service worker navigation preload redirection fetchStart based on the navigation preloader start to continue passing LayoutTests/imported/w3c/web-platform-tests/service-workers/service-worker/navigation-preload/resource-timing.https.html.
We store the preload response/error in WebServiceWorkerFetchTaskClient as the preload response might be received between the time the fetch event
is received and the time the fetch event is dispatched.
- LayoutTests/http/wpt/service-workers/navigation-optimization-worker.js: Added.
(async doTest):
- LayoutTests/http/wpt/service-workers/navigation-optimization.https-expected.txt: Added.
- LayoutTests/http/wpt/service-workers/navigation-optimization.https.html: Added.
- LayoutTests/http/wpt/service-workers/resources/navigation-optimization.py: Added.
(main):
- LayoutTests/http/wpt/service-workers/resources/service-worker-iframe-preload-script.py:
(main):
- LayoutTests/http/wpt/service-workers/service-worker-iframe-preload.https-expected.txt:
- LayoutTests/http/wpt/service-workers/service-worker-iframe-preload.https.html:
- Source/WebCore/Headers.cmake:
- Source/WebCore/Modules/fetch/FetchResponse.cpp:
(WebCore::FetchResponse::createFetchResponse):
(WebCore::FetchResponse::fetch):
(WebCore::FetchResponse::startLoader):
(WebCore::FetchResponse::setReceivedInternalResponse):
(WebCore::FetchResponse::BodyLoader::didReceiveResponse):
(WebCore::FetchResponse::markAsDisturbed):
- Source/WebCore/Modules/fetch/FetchResponse.h:
- Source/WebCore/WebCore.xcodeproj/project.pbxproj:
- Source/WebCore/bindings/js/JSFetchEventCustom.cpp:
- Source/WebCore/testing/ServiceWorkerInternals.cpp:
- Source/WebCore/workers/service/FetchEvent.cpp:
(WebCore::FetchEvent::preloadResponse):
(WebCore::FetchEvent::navigationPreloadIsReady):
(WebCore::FetchEvent::navigationPreloadFailed):
- Source/WebCore/workers/service/FetchEvent.h:
- Source/WebCore/workers/service/context/ServiceWorkerFetch.cpp:
(WebCore::ServiceWorkerFetch::processResponse):
(WebCore::ServiceWorkerFetch::dispatchFetchEvent):
- Source/WebCore/workers/service/context/ServiceWorkerFetch.h:
- Source/WebCore/workers/service/context/ServiceWorkerThreadProxy.cpp:
(WebCore::ServiceWorkerThreadProxy::navigationPreloadIsReady):
(WebCore::ServiceWorkerThreadProxy::navigationPreloadFailed):
- Source/WebCore/workers/service/context/ServiceWorkerThreadProxy.h:
- Source/WebKit/NetworkProcess/ServiceWorker/ServiceWorkerFetchTask.cpp:
(WebKit::ServiceWorkerFetchTask::ServiceWorkerFetchTask):
(WebKit::ServiceWorkerFetchTask::startFetch):
(WebKit::ServiceWorkerFetchTask::usePreload):
(WebKit::ServiceWorkerFetchTask::loadResponseFromPreloader):
(WebKit::ServiceWorkerFetchTask::preloadResponseIsReady):
- Source/WebKit/NetworkProcess/ServiceWorker/ServiceWorkerFetchTask.h:
- Source/WebKit/NetworkProcess/ServiceWorker/ServiceWorkerFetchTask.messages.in:
- Source/WebKit/NetworkProcess/ServiceWorker/ServiceWorkerNavigationPreloader.cpp:
(WebKit::ServiceWorkerNavigationPreloader::ServiceWorkerNavigationPreloader):
(WebKit::ServiceWorkerNavigationPreloader::didReceiveResponse):
(WebKit::ServiceWorkerNavigationPreloader::waitForResponse):
- Source/WebKit/WebProcess/Storage/WebSWContextManagerConnection.cpp:
(WebKit::WebSWContextManagerConnection::navigationPreloadIsReady):
(WebKit::WebSWContextManagerConnection::navigationPreloadFailed):
- Source/WebKit/WebProcess/Storage/WebSWContextManagerConnection.h:
- Source/WebKit/WebProcess/Storage/WebSWContextManagerConnection.messages.in:
- Source/WebKit/WebProcess/Storage/WebServiceWorkerFetchTaskClient.cpp:
(WebKit::WebServiceWorkerFetchTaskClient::navigationPreloadIsReady):
(WebKit::WebServiceWorkerFetchTaskClient::navigationPreloadFailed):
(WebKit::WebServiceWorkerFetchTaskClient::usePreload):
(WebKit::WebServiceWorkerFetchTaskClient::cleanup):
- Source/WebKit/WebProcess/Storage/WebServiceWorkerFetchTaskClient.h:
Canonical link: https://commits.webkit.org/251493@main
- 5:12 AM Changeset in webkit [295487] by
-
- 2 edits in trunk/Source/WebKit/Shared
SharedBuffer IPC encoders have duplicated and redundant code
https://bugs.webkit.org/show_bug.cgi?id=241407
<rdar://94621576>
Reviewed by Kimmo Kinnunen.
Bug 240160 allowed to greatly simplify the serialisation of SharedBuffer objects,
so make use of it.
- Source/WebKit/Shared/WebCoreArgumentCoders.cpp:
(IPC::ArgumentCoder<DOMCacheEngine::Record>::encode):
(IPC::ArgumentCoder<DOMCacheEngine::Record>::decode):
(IPC::ArgumentCoder<PasteboardCustomData::Entry>::encode):
(IPC::ArgumentCoder<PasteboardCustomData::Entry>::decode):
(IPC::ArgumentCoder<PasteboardWebContent>::encode):
(IPC::ArgumentCoder<PasteboardWebContent>::decode):
(IPC::ArgumentCoder<PasteboardImage>::encode):
(IPC::ArgumentCoder<PasteboardImage>::decode):
(IPC::ArgumentCoder<RawFile>::encode):
(IPC::ArgumentCoder<RawFile>::decode):
(IPC::ArgumentCoder<PromisedAttachmentInfo>::encode):
(IPC::ArgumentCoder<PromisedAttachmentInfo>::decode):
(IPC::ArgumentCoder<WebCore::FragmentedSharedBuffer>::encode):
(IPC::ArgumentCoder<WebCore::FragmentedSharedBuffer>::decode):
(IPC::ArgumentCoder<WebCore::SharedBuffer>::encode):
(IPC::ArgumentCoder<WebCore::SharedBuffer>::decode):
(IPC::ArgumentCoder<WebCore::ScriptBuffer>::encode):
(IPC::ArgumentCoder<WebCore::ScriptBuffer>::decode):
(IPC::ArgumentCoder<WebCore::CDMInstanceSession::Message>::encode):
(IPC::ArgumentCoder<WebCore::CDMInstanceSession::Message>::decode):
(IPC::encodeSharedBuffer): Deleted.
(IPC::decodeSharedBuffer): Deleted.
(IPC::encodeTypesAndData): Deleted.
(IPC::decodeTypesAndData): Deleted.
(IPC::ArgumentCoder<RefPtr<WebCore::FragmentedSharedBuffer>>::encode): Deleted.
(IPC::ArgumentCoder<RefPtr<WebCore::FragmentedSharedBuffer>>::decode): Deleted.
(IPC::ArgumentCoder<Ref<WebCore::FragmentedSharedBuffer>>::encode): Deleted.
(IPC::ArgumentCoder<Ref<WebCore::FragmentedSharedBuffer>>::decode): Deleted.
(IPC::ArgumentCoder<RefPtr<WebCore::SharedBuffer>>::encode): Deleted.
(IPC::ArgumentCoder<RefPtr<WebCore::SharedBuffer>>::decode): Deleted.
(IPC::ArgumentCoder<Ref<WebCore::SharedBuffer>>::encode): Deleted.
(IPC::ArgumentCoder<Ref<WebCore::SharedBuffer>>::decode): Deleted.
- Source/WebKit/Shared/WebCoreArgumentCoders.h:
Canonical link: https://commits.webkit.org/251492@main
- 3:16 AM Changeset in webkit [295486] by
-
- 4 edits in trunk/Source/WebCore/html/canvas
Align WebGL draw call functions
https://bugs.webkit.org/show_bug.cgi?id=241347
Patch by Alexey Knyazev <3479527+lexaknyazev@users.noreply.github.com> on 2022-06-13
Reviewed by Kimmo Kinnunen.
Some draw commands did not have implicit clears,
inspector helpers, and post-draw notifications.
- Source/WebCore/html/canvas/WebGL2RenderingContext.cpp:
(WebCore::WebGL2RenderingContext::drawRangeElements):
- Source/WebCore/html/canvas/WebGLMultiDraw.cpp:
(WebCore::WebGLMultiDraw::multiDrawArraysWEBGL):
(WebCore::WebGLMultiDraw::multiDrawArraysInstancedWEBGL):
(WebCore::WebGLMultiDraw::multiDrawElementsWEBGL):
(WebCore::WebGLMultiDraw::multiDrawElementsInstancedWEBGL):
- Source/WebCore/html/canvas/WebGLRenderingContextBase.cpp:
(WebCore::InspectorScopedShaderProgramHighlight::InspectorScopedShaderProgramHighlight):
(WebCore::InspectorScopedShaderProgramHighlight::~InspectorScopedShaderProgramHighlight):
(WebCore::InspectorScopedShaderProgramHighlight::showHighlight):
(WebCore::InspectorScopedShaderProgramHighlight::hideHighlight):
(WebCore::InspectorScopedShaderProgramHighlight::saveBlendValue):
(WebCore::InspectorScopedShaderProgramHighlight::hasBufferBinding):
(WebCore::InspectorScopedShaderProgramHighlight::hasFramebufferParameterAttachment):
(WebCore::WebGLRenderingContextBase::drawArraysInstanced):
(WebCore::WebGLRenderingContextBase::drawElementsInstanced):
(WebCore::InspectorScopedShaderProgramHighlight::showHightlight): Deleted.
- Source/WebCore/html/canvas/WebGLRenderingContextBase.h:
Canonical link: https://commits.webkit.org/251491@main
- 2:55 AM Changeset in webkit [295485] by
-
- 3 edits in trunk/Source/WebCore/html/canvas
Fix clearIfComposited for indexed color write masks
https://bugs.webkit.org/show_bug.cgi?id=241511
Patch by Alexey Knyazev <3479527+lexaknyazev@users.noreply.github.com> on 2022-06-13
Reviewed by Kimmo Kinnunen.
Implicit clears must correctly restore color write mask state.
- Source/WebCore/html/canvas/OESDrawBuffersIndexed.cpp:
(WebCore::OESDrawBuffersIndexed::colorMaskiOES):
- Source/WebCore/html/canvas/WebGLRenderingContextBase.cpp:
(WebCore::WebGLRenderingContextBase::clearIfComposited):
(WebCore::WebGLRenderingContextBase::restoreStateAfterClear):
- Source/WebCore/html/canvas/WebGLRenderingContextBase.h:
Canonical link: https://commits.webkit.org/251490@main
- 2:17 AM Changeset in webkit [295484] by
-
- 1 edit in trunk/Source/WebCore/platform/graphics/gbm/GraphicsContextGLGBM.cpp
[GBM] Overzealous attaching of GL texture as color attachment to the default framebuffer
https://bugs.webkit.org/show_bug.cgi?id=241462
Patch by Žan Doberšek <zdobersek@igalia.com> on 2022-06-13
Reviewed by Alejandro G. Castro.
In GraphicsContextGLGBM::prepareTexture(), there's no need to repeatedly
reattach the texture objec to the default framebuffer. With GraphicsContextGLGBM
this is only done when (re)sizing the framebuffer. The attached texture later
isn't switched out for some other texture, it remains in place. What does change
is the backing DMABuf-based EGLImage, which is updated upon the next
make-context-current request.
This means framebuffer operations here, after any required multisampling is
resolved, are not required. Only thing that remains is the GL_Flush() call.
- Source/WebCore/platform/graphics/gbm/GraphicsContextGLGBM.cpp:
(WebCore::GraphicsContextGLGBM::prepareTexture):
Canonical link: https://commits.webkit.org/251489@main
- 1:09 AM Changeset in webkit [295483] by
-
- 4 edits in trunk/Tools/MiniBrowser
REGRESSION(r265492): Removed ability to pass GStreamer options from MiniBrowser to WebProcess
https://bugs.webkit.org/show_bug.cgi?id=241507
Patch by Philippe Normand <philn@igalia.com> on 2022-06-13
Reviewed by Xabier Rodriguez-Calvar.
When the static gstreamer-full library is disabled at build time we should still have the
possibility to add the GStreamer CLI init group to the UIProcess commandline.
- Tools/MiniBrowser/gtk/CMakeLists.txt:
- Tools/MiniBrowser/gtk/main.c:
(main):
- Tools/MiniBrowser/wpe/CMakeLists.txt:
- Tools/MiniBrowser/wpe/main.cpp:
(main):
Canonical link: https://commits.webkit.org/251488@main
- 12:15 AM Changeset in webkit [295482] by
-
- 5 edits in trunk
Switch Web Share Permissions Policy to *
https://bugs.webkit.org/show_bug.cgi?id=241363
Patch by Marcos Cáceres <Marcos Caceres> on 2022-06-12
Reviewed by Youenn Fablet and Tim Horton.
- LayoutTests/http/tests/webshare/webshare-allow-attribute-canShare.https-expected.txt:
- LayoutTests/http/tests/webshare/webshare-allow-attribute-canShare.https.html:
- LayoutTests/http/tests/webshare/webshare-allow-attribute-share.https-expected.txt:
- LayoutTests/http/tests/webshare/webshare-allow-attribute-share.https.html:
- Source/WebCore/html/FeaturePolicy.cpp:
(WebCore::FeaturePolicy::parse):
Canonical link: https://commits.webkit.org/251487@main
Jun 12, 2022:
- 9:26 PM Changeset in webkit [295481] by
-
- 50 edits4 adds in trunk
[Filters] LightSource should keep its points in <length-percentage> units
https://bugs.webkit.org/show_bug.cgi?id=241535
<rdar://problem/94973414>
Reviewed by Cameron McCormack.
PointLightSource and SpotLightSource are created with points in user space coordinates.
See SVGFEPointLightElement::lightSource() and SVGFESpotLightElement::lightSource().
But this requires knowing the filter targetBoundingBox and the primitiveUnits at
the LightSource creation time.
When dynamically updating these points through SVGFEDiffuseLightingElement::
setFilterEffectAttribute() or SVGFESpecularLightingElement::setFilterEffectAttribute()
the SVGFilter is not available and these points are stored as <length-percentage>
coordinates. This means if the primitiveUnits is SVG_UNIT_TYPE_OBJECTBOUNDINGBOX,
fractions of the targetBoundingBox will be treated as lengths in user space.
The fix is to store the LightSources points in <length-percentage> units and to
resolve them to user space coordinates in initPaintingData().
- LayoutTests/svg/filters/feDiffuseLighting-feSpotLight-dynamic-update-expected.svg: Added.
- LayoutTests/svg/filters/feDiffuseLighting-feSpotLight-dynamic-update.svg: Added.
- LayoutTests/svg/filters/feSpecularLighting-fePointLight-dynamic-update-expected.svg: Added.
- LayoutTests/svg/filters/feSpecularLighting-fePointLight-dynamic-update.svg: Added.
- Source/WebCore/platform/graphics/filters/Filter.h:
(WebCore::Filter::resolvedPoint3D const):
- Source/WebCore/platform/graphics/filters/PointLightSource.cpp:
(WebCore::PointLightSource::PointLightSource):
(WebCore::PointLightSource::initPaintingData const):
(WebCore::PointLightSource::setX):
(WebCore::PointLightSource::setY):
(WebCore::PointLightSource::setZ):
- Source/WebCore/platform/graphics/filters/PointLightSource.h:
(WebCore::PointLightSource::position const):
(WebCore::PointLightSource::encode const):
- Source/WebCore/platform/graphics/filters/SpotLightSource.cpp:
(WebCore::SpotLightSource::SpotLightSource):
(WebCore::SpotLightSource::initPaintingData const):
(WebCore::SpotLightSource::setX):
(WebCore::SpotLightSource::setY):
(WebCore::SpotLightSource::setZ):
(WebCore::SpotLightSource::setPointsAtX):
(WebCore::SpotLightSource::setPointsAtY):
(WebCore::SpotLightSource::setPointsAtZ):
- Source/WebCore/platform/graphics/filters/SpotLightSource.h:
(WebCore::SpotLightSource::position const):
(WebCore::SpotLightSource::direction const):
(WebCore::SpotLightSource::encode const):
- Source/WebCore/svg/SVGFEBlendElement.cpp:
(WebCore::SVGFEBlendElement::filterEffect const):
- Source/WebCore/svg/SVGFEBlendElement.h:
- Source/WebCore/svg/SVGFEColorMatrixElement.cpp:
(WebCore::SVGFEColorMatrixElement::filterEffect const):
- Source/WebCore/svg/SVGFEColorMatrixElement.h:
- Source/WebCore/svg/SVGFEComponentTransferElement.cpp:
(WebCore::SVGFEComponentTransferElement::filterEffect const):
- Source/WebCore/svg/SVGFEComponentTransferElement.h:
- Source/WebCore/svg/SVGFECompositeElement.cpp:
(WebCore::SVGFECompositeElement::filterEffect const):
- Source/WebCore/svg/SVGFECompositeElement.h:
- Source/WebCore/svg/SVGFEConvolveMatrixElement.cpp:
(WebCore::SVGFEConvolveMatrixElement::filterEffect const):
- Source/WebCore/svg/SVGFEConvolveMatrixElement.h:
- Source/WebCore/svg/SVGFEDiffuseLightingElement.cpp:
(WebCore::SVGFEDiffuseLightingElement::filterEffect const):
- Source/WebCore/svg/SVGFEDiffuseLightingElement.h:
- Source/WebCore/svg/SVGFEDisplacementMapElement.cpp:
(WebCore::SVGFEDisplacementMapElement::filterEffect const):
- Source/WebCore/svg/SVGFEDisplacementMapElement.h:
- Source/WebCore/svg/SVGFEDistantLightElement.cpp:
(WebCore::SVGFEDistantLightElement::lightSource const):
- Source/WebCore/svg/SVGFEDistantLightElement.h:
- Source/WebCore/svg/SVGFEDropShadowElement.cpp:
(WebCore::SVGFEDropShadowElement::filterEffect const):
- Source/WebCore/svg/SVGFEDropShadowElement.h:
- Source/WebCore/svg/SVGFEFloodElement.cpp:
(WebCore::SVGFEFloodElement::filterEffect const):
- Source/WebCore/svg/SVGFEFloodElement.h:
- Source/WebCore/svg/SVGFEGaussianBlurElement.cpp:
(WebCore::SVGFEGaussianBlurElement::filterEffect const):
- Source/WebCore/svg/SVGFEGaussianBlurElement.h:
- Source/WebCore/svg/SVGFEImageElement.cpp:
(WebCore::SVGFEImageElement::filterEffect const):
- Source/WebCore/svg/SVGFEImageElement.h:
- Source/WebCore/svg/SVGFELightElement.h:
- Source/WebCore/svg/SVGFEMergeElement.cpp:
(WebCore::SVGFEMergeElement::filterEffect const):
- Source/WebCore/svg/SVGFEMergeElement.h:
- Source/WebCore/svg/SVGFEMorphologyElement.cpp:
(WebCore::SVGFEMorphologyElement::filterEffect const):
- Source/WebCore/svg/SVGFEMorphologyElement.h:
- Source/WebCore/svg/SVGFEOffsetElement.cpp:
(WebCore::SVGFEOffsetElement::filterEffect const):
- Source/WebCore/svg/SVGFEOffsetElement.h:
- Source/WebCore/svg/SVGFEPointLightElement.cpp:
(WebCore::SVGFEPointLightElement::lightSource const):
- Source/WebCore/svg/SVGFEPointLightElement.h:
- Source/WebCore/svg/SVGFESpecularLightingElement.cpp:
(WebCore::SVGFESpecularLightingElement::filterEffect const):
- Source/WebCore/svg/SVGFESpecularLightingElement.h:
- Source/WebCore/svg/SVGFESpotLightElement.cpp:
(WebCore::SVGFESpotLightElement::lightSource const):
- Source/WebCore/svg/SVGFESpotLightElement.h:
- Source/WebCore/svg/SVGFETileElement.cpp:
(WebCore::SVGFETileElement::filterEffect const):
- Source/WebCore/svg/SVGFETileElement.h:
- Source/WebCore/svg/SVGFETurbulenceElement.cpp:
(WebCore::SVGFETurbulenceElement::filterEffect const):
- Source/WebCore/svg/SVGFETurbulenceElement.h:
- Source/WebCore/svg/SVGFilterPrimitiveStandardAttributes.h:
- Source/WebCore/svg/graphics/filters/SVGFilter.cpp:
(WebCore::SVGFilter::resolvedPoint3D const):
- Source/WebCore/svg/graphics/filters/SVGFilter.h:
- Source/WebCore/svg/graphics/filters/SVGFilterBuilder.cpp:
(WebCore::SVGFilterBuilder::buildFilterExpression):
Canonical link: https://commits.webkit.org/251486@main
- 8:22 PM Changeset in webkit [295480] by
-
- 1 edit in trunk/Source/WebCore/platform/graphics/cocoa/SourceBufferParserWebM.cpp
Handle case where only a single video frame was appended.
https://bugs.webkit.org/show_bug.cgi?id=241453
Reviewed by Jer Noble.
Under some circumstances, only a single frame will be appended.
When the queue of pending samples gets flushed we can't rely on the last sample's time
nor the last duration.
- Source/WebCore/platform/graphics/cocoa/SourceBufferParserWebM.cpp:
(WebCore::WebMParser::VideoTrackData::flushPendingSamples):
Canonical link: https://commits.webkit.org/251485@main
- 7:40 PM Changeset in webkit [295479] by
-
- 5 edits1 copy1 add in trunk
REGRESSION (r290875): [iOS] Safari renders many blank tiles after navigating back to webpage from PDF
https://bugs.webkit.org/show_bug.cgi?id=241536
rdar://94637323
Reviewed by Tim Horton.
When using a standard content view, the logic in
WKApplicationStateTrackingViewcreates a
WebKit::ApplicationStateTrackerafter the view becomes parented in the view hierarchy (in
-didMoveToWindow), and holds onto it until it is about to be unparented from the view hierarchy
(in-willMoveToWindow:).
However, in the case where
WKApplicationStateTrackingViewis aWKPDFView(i.e. we're hosting a
remote PDFKit view controller), the behavior is much more intricate; this is because theWKPDFView
is replaced in the view hierarchy by the remote view controller's sizing view once the
PDFHostViewControllerhas finished loading its remote content. Once this happens, the
-_contentViewof theWKApplicationStateTrackingViewpoints to this sizing view instead, and the
WKPDFView(which subclassesWKApplicationStateTrackingView) is no longer in the view hierarchy.
Prior to r290875: when we remove
WKPDFViewfrom the view hierarchy and replace it with a sizing
view,self._contentViewin both cases already points to the_UISizeTrackingView, even though it
hasn't been added to the view hierarchy yet. Since we bail if this size tracking view is not in the
view hierarchy, we previously ended up never clearing out the application state tracker when loading
a PDF, which means that-[WKPDFView isBackground]would always return NO, despite the view not
being in the view hierarchy.
In r290875, I replaced the
!self._contentView.windowcheck with!_applicationStateTracker, which
caused us to now clear out the application state tracker when unparentingWKPDFView. This, in
turn, means that-[WKPDFView isBackground]now returns YES when theWKPDFViewis removed and
replaced with the size tracking view. When navigating back to the previous page, this causes us to
end up in a state where theWindowIsActiveflag inWebPageProxy::m_activityStateis off until
the next page load, since we only update this flag inWebPageProxy::finishAttachingToWebProcess,
which is called whenWKPDFViewis still being used as the custom content view. This ultimately
causes the symptoms observed in this bug, which include blank tiles when scrolling.
To address this bug, we first revert the changes in r290875, which allows
WKPDFViewto behave as
if it were in the foreground, even when it's not in the view hierarchy:
`
- (void)willMoveToWindow:(UIWindow *)newWindow
{
if (!self._contentView.window newWindow) return;
…
`
Of course, this (by itself) would bring back <https://webkit.org/b/237505>; to preserve that fix, we
additionally limit the early return to cases where the window is *not* in the process of being
destroyed (that is,-willMoveToWindow:is called with both the newwindow == nil, while the
current windowself.window == nil):
`
- (void)willMoveToWindow:(UIWindow *)newWindow
{
BOOL windowIsBeingDeallocated = !self.window && !newWindow;
if (!windowIsBeingDeallocated) {
if (!self._contentView.window newWindow) return;
}
…
`
Note that this is logically equivalent to:
`
- (void)willMoveToWindow:(UIWindow *)newWindow
{
if ((self.window newWindow) && (!self._contentView.window newWindow)) return;
…
`
...which can also be rewritten a bit more succinctly as:
`
- (void)willMoveToWindow:(UIWindow *)newWindow
{
if ((self.window && !self._contentView.window) newWindow) return;
…
`
In other words:
- In the case where a standard content view is used (i.e.
self == self._contentView), we always
clear out
_applicationStateTrackerif the window we're moving to isnil. This takes care of the
normal scenario of unparenting a web view, as well as the corner case where the web view is
unparented in the middle of-[UIWindow dealloc].
- In the case of
PDFHostViewControllerwhere a custom content view is used, we'll return early
in
-willMoveToWindow:and keep the existing_applicationStateTracker, because the size tracking
view has not been parented yet.
Test: ApplicationStateTracking.NavigatingFromPDFDoesNotLeaveWebViewInactive
- Source/WebKit/UIProcess/ios/WKApplicationStateTrackingView.mm:
(-[WKApplicationStateTrackingView willMoveToWindow:]):
- Tools/TestWebKitAPI/Configurations/Base.xcconfig:
Add
Source/WebKit/Platform/spi/iosas a relative header include path for iOS family, such that we
can import the internalPDFKitSPI.hin API tests.
- Tools/TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- Tools/TestWebKitAPI/Tests/ios/ApplicationStateTracking.mm:
(TestWebKitAPI::TEST):
Introduce a new API test that loads a simple webpage, navigates to a PDF document (and uses a remote
PDFKit view controller to render it), and then navigate back to the original webpage.
- Tools/TestWebKitAPI/cocoa/TestWKWebView.mm:
(-[WKWebView _isBackground]): Deleted.
Remove a workaround for API tests that's no longer necessary, so that the new API test fails without
this fix. This workaround was added in r231663, but became unnecessary after r236989, which removed
the dependency on-_isBackground.
- Tools/TestWebKitAPI/ios/TestPDFHostViewController.h:
- Tools/TestWebKitAPI/ios/TestPDFHostViewController.mm: Added.
Add a helper class that allows us to swizzle out
+createHostView:forExtensionIdentifier:, and
return aPDFHostViewControllersubclass, with a subset of method stubs required to avoid crashes
when running API tests. This allows us to simulate PDFKit remote view controller presentation in API
tests.
(-[TestPDFHostViewController setDelegate:]):
(-[TestPDFHostViewController setDocumentData:withScrollView:]):
(-[TestPDFHostViewController currentPageIndex]):
(-[TestPDFHostViewController pageCount]):
(-[TestPDFHostViewController minimumZoomScale]):
(-[TestPDFHostViewController maximumZoomScale]):
(-[TestPDFHostViewController findString:withOptions:]):
(-[TestPDFHostViewController cancelFindString]):
(-[TestPDFHostViewController cancelFindStringWithHighlightsCleared:]):
(-[TestPDFHostViewController focusOnSearchResultAtIndex:]):
(-[TestPDFHostViewController clearSearchHighlights]):
(-[TestPDFHostViewController goToPageIndex:]):
(-[TestPDFHostViewController updatePDFViewLayout]):
(-[TestPDFHostViewController gestureRecognizerShouldBegin:]):
(-[TestPDFHostViewController pageNumberIndicator]):
(-[TestPDFHostViewController snapshotViewRect:snapshotWidth:afterScreenUpdates:withResult:]):
(-[TestPDFHostViewController beginPDFViewRotation]):
(-[TestPDFHostViewController endPDFViewRotation]):
(TestWebKitAPI::swizzledCreateHostViewForExtensionIdentifier):
(TestWebKitAPI::createPDFHostViewControllerSwizzler):
Canonical link: https://commits.webkit.org/251484@main
- 7:45 AM Changeset in webkit [295478] by
-
- 1 edit2 adds in trunk
Incorrect sizing of elements with visually hidden text inside
https://bugs.webkit.org/show_bug.cgi?id=241459
Reviewed by Antti Koivisto.
This patch fixes the incorrect inline width computation when an inline box (e.g. <span>) with margin-inline-start (e.g. margin-left) is followed by an out-of-flow element.
<div id=container>some<span style="margin-left: 10px"><div style="position: absolute"></div>text</span></div>
In LineBreaker::nextLineBreak, while iterating through the content of [container], the margin-left of the inline box (span) is included twice; first for the out-of-flow box and second for the [text] content. This patch ensures that when we reach the [text] content, we check if we have already reserved the space for the inline box's margin (padding and border).
(While out-of-flow inline level boxes are not supposed to participate in inline layout, (in legacy line layout) in order to compute their static position we include them in line layout. A more involved fix would be to exclude all out-of-flow boxes from line layout and deal with their static positioning after completing the core line layout).
- LayoutTests/fast/block/shrink-to-fit-with-out-of-flow-and-inline-box-margin-expected.html: Added.
- LayoutTests/fast/block/shrink-to-fit-with-out-of-flow-and-inline-box-margin.html: Added.
- Source/WebCore/rendering/line/BreakingContext.h: Make sure when the out-of-flow box takes the margin, we don't add it again for the text content. Also, reset this flag for subsequent content.
(WebCore::inlineLogicalWidth):
Canonical link: https://commits.webkit.org/251483@main