[webkit-changes] [WebKit/WebKit] 919c7d: Cherry-pick 274757 at main (8411b7acd415). https://bu...
Przemyslaw Gorszkowski
noreply at github.com
Mon Mar 11 01:51:44 PDT 2024
Branch: refs/heads/webkitglib/2.44
Home: https://github.com/WebKit/WebKit
Commit: 919c7d545cf354656efa112ec09a19eb2e340ca0
https://github.com/WebKit/WebKit/commit/919c7d545cf354656efa112ec09a19eb2e340ca0
Author: Fujii Hironori <Hironori.Fujii at sony.com>
Date: 2024-03-08 (Fri, 08 Mar 2024)
Changed paths:
A LayoutTests/imported/w3c/web-platform-tests/css/filter-effects/backdrop-filter-clip-rect-2-expected.html
A LayoutTests/imported/w3c/web-platform-tests/css/filter-effects/backdrop-filter-clip-rect-2.html
M LayoutTests/imported/w3c/web-platform-tests/css/filter-effects/backdrop-filter-clip-rect.html
M Source/WebCore/rendering/RenderLayerBacking.cpp
Log Message:
-----------
Cherry-pick 274757 at main (8411b7acd415). https://bugs.webkit.org/show_bug.cgi?id=268278
backdrop filters should be applied to the border area of the element with border-radius
https://bugs.webkit.org/show_bug.cgi?id=268278
Reviewed by Matt Woodrow.
Backdrop filters should be applied to the inside of border edge of the
element, not to the padding edge.
* LayoutTests/imported/w3c/web-platform-tests/css/filter-effects/backdrop-filter-clip-rect-2-expected.html: Added.
* LayoutTests/imported/w3c/web-platform-tests/css/filter-effects/backdrop-filter-clip-rect-2.html: Added.
* LayoutTests/imported/w3c/web-platform-tests/css/filter-effects/backdrop-filter-clip-rect.html: Added fuzzy meta tag.
* Source/WebCore/rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::updateBackdropFiltersGeometry):
Use borderRoundedRect of renderBox instead of roundedBorderBoxRect.
Canonical link: https://commits.webkit.org/274757@main
Canonical link: https://commits.webkit.org/274313.36@webkitglib/2.44
Commit: 4a36d357a2fcf68e3a7634d45eef188019de6bd0
https://github.com/WebKit/WebKit/commit/4a36d357a2fcf68e3a7634d45eef188019de6bd0
Author: Marcus Plutowski <marcus_plutowski at apple.com>
Date: 2024-03-08 (Fri, 08 Mar 2024)
Changed paths:
A JSTests/wasm/stress/fsub-nan-copysign.js
M Source/JavaScriptCore/wasm/WasmBBQJIT.cpp
Log Message:
-----------
Cherry-pick 274910 at main (5f1ac6454783). https://bugs.webkit.org/show_bug.cgi?id=269509
Preserve sign of NaN operands in fsub{32,64}
https://bugs.webkit.org/show_bug.cgi?id=269509
rdar://120780768
Reviewed by Justin Michaud and Yusuke Suzuki.
Negating a NaN operand for fsub is incorrect, as IEEE defines the result
of an arithmetic operation with a NaN parameter as the NaN itself
(without modification). This is observable when a copysign operation is
done on the result, as copysign itself is exempt from that restriction
and can thus detect the improper negation.
By checking whether the operand is a NaN before negating we avoid this
issue.
* JSTests/wasm/stress/fsub-nan-copysign.js: Added.
* Source/JavaScriptCore/wasm/WasmBBQJIT.cpp:
(JSC::Wasm::BBQJITImpl::BBQJIT::addF32Sub):
(JSC::Wasm::BBQJITImpl::BBQJIT::addF64Sub):
Canonical link: https://commits.webkit.org/274910@main
Canonical link: https://commits.webkit.org/274313.37@webkitglib/2.44
Commit: af15dd9a19898fca40d77cd03e1270c1d995b1e5
https://github.com/WebKit/WebKit/commit/af15dd9a19898fca40d77cd03e1270c1d995b1e5
Author: Anne van Kesteren <annevk at annevk.nl>
Date: 2024-03-08 (Fri, 08 Mar 2024)
Changed paths:
M LayoutTests/imported/w3c/web-platform-tests/url/a-element-origin-expected.txt
M LayoutTests/imported/w3c/web-platform-tests/url/a-element-origin-xhtml-expected.txt
M LayoutTests/imported/w3c/web-platform-tests/url/a-element-xhtml_exclude=(file_javascript_mailto)-expected.txt
M LayoutTests/imported/w3c/web-platform-tests/url/a-element-xhtml_include=file-expected.txt
M LayoutTests/imported/w3c/web-platform-tests/url/a-element_exclude=(file_javascript_mailto)-expected.txt
M LayoutTests/imported/w3c/web-platform-tests/url/a-element_include=file-expected.txt
M LayoutTests/imported/w3c/web-platform-tests/url/failure.html
M LayoutTests/imported/w3c/web-platform-tests/url/resources/urltestdata.json
M LayoutTests/imported/w3c/web-platform-tests/url/url-constructor.any.worker_exclude=(file_javascript_mailto)-expected.txt
M LayoutTests/imported/w3c/web-platform-tests/url/url-constructor.any.worker_include=file-expected.txt
M LayoutTests/imported/w3c/web-platform-tests/url/url-constructor.any_exclude=(file_javascript_mailto)-expected.txt
M LayoutTests/imported/w3c/web-platform-tests/url/url-constructor.any_include=file-expected.txt
M LayoutTests/imported/w3c/web-platform-tests/url/url-origin.any-expected.txt
M LayoutTests/imported/w3c/web-platform-tests/url/url-origin.any.worker-expected.txt
M LayoutTests/imported/w3c/web-platform-tests/url/url-statics-canparse.any-expected.txt
M LayoutTests/imported/w3c/web-platform-tests/url/url-statics-canparse.any.js
M LayoutTests/imported/w3c/web-platform-tests/url/url-statics-canparse.any.worker-expected.txt
M Source/WTF/wtf/URLParser.cpp
M Tools/TestWebKitAPI/Tests/WTF/URLParser.cpp
Log Message:
-----------
Cherry-pick 274915 at main (953476de5074). https://bugs.webkit.org/show_bug.cgi?id=265484
URLParser should parse URLs including authority and a backslash after the host
https://bugs.webkit.org/show_bug.cgi?id=265484
rdar://119219832
Reviewed by Alex Christensen.
Thanks to dave caruso for reporting and suggesting a fix.
Tests are synchronized up to and including this PR:
https://github.com/web-platform-tests/wpt/pull/44637
* LayoutTests/imported/w3c/web-platform-tests/url/a-element-origin-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/url/a-element-origin-xhtml-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/url/a-element-xhtml_exclude=(file_javascript_mailto)-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/url/a-element-xhtml_include=file-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/url/a-element_exclude=(file_javascript_mailto)-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/url/a-element_include=file-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/url/failure.html:
* LayoutTests/imported/w3c/web-platform-tests/url/resources/urltestdata.json:
* LayoutTests/imported/w3c/web-platform-tests/url/url-constructor.any.worker_exclude=(file_javascript_mailto)-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/url/url-constructor.any.worker_include=file-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/url/url-constructor.any_exclude=(file_javascript_mailto)-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/url/url-constructor.any_include=file-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/url/url-origin.any-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/url/url-origin.any.worker-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/url/url-statics-canparse.any-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/url/url-statics-canparse.any.js:
* LayoutTests/imported/w3c/web-platform-tests/url/url-statics-canparse.any.worker-expected.txt:
* Source/WTF/wtf/URLParser.cpp:
(WTF::URLParser::parse):
* Tools/TestWebKitAPI/Tests/WTF/URLParser.cpp:
(TestWebKitAPI::TEST_F):
Canonical link: https://commits.webkit.org/274915@main
Canonical link: https://commits.webkit.org/274313.38@webkitglib/2.44
Commit: 928e57daec216febe888baa9b53f3da6507ebe2e
https://github.com/WebKit/WebKit/commit/928e57daec216febe888baa9b53f3da6507ebe2e
Author: Chris Dumez <cdumez at apple.com>
Date: 2024-03-08 (Fri, 08 Mar 2024)
Changed paths:
M Source/WebCore/platform/sql/SQLiteDatabase.h
M Source/WebCore/platform/sql/SQLiteStatement.h
M Source/WebCore/platform/sql/SQLiteTransaction.h
M Source/WebKit/NetworkProcess/storage/SQLiteStorageArea.cpp
Log Message:
-----------
Cherry-pick 274937 at main (f6305e2e3567). https://bugs.webkit.org/show_bug.cgi?id=269648
Crash under SQLiteDatabase::~SQLiteDatabase
https://bugs.webkit.org/show_bug.cgi?id=269648
rdar://123160407
Reviewed by David Kilzer.
The crash was occurring because SQLiteStorageArea::handleDatabaseCorruptionIfNeeded()
was destroying the SQLiteDatabase object (m_database) but was failing to destroy the
potential transaction (m_transaction) and cached statements (m_cachedStatements), all
of which have a CheckedRef pointing to the database.
Update handleDatabaseCorruptionIfNeeded() to call close(), which clears m_cache,
m_cacheSize, m_transaction, m_cachedStatements and m_database.
Also update SQLiteStatement / SQLiteTransaction to keep a WeakRef to the database
instead of a CheckedRef, as per our updated smart pointer guidelines. Using
CheckedPtr/CheckedRef for database members is no longer recommended.
* Source/WebCore/platform/sql/SQLiteDatabase.h:
* Source/WebCore/platform/sql/SQLiteStatement.h:
* Source/WebCore/platform/sql/SQLiteTransaction.h:
* Source/WebKit/NetworkProcess/storage/SQLiteStorageArea.cpp:
(WebKit::SQLiteStorageArea::handleDatabaseCorruptionIfNeeded):
Canonical link: https://commits.webkit.org/274937@main
Canonical link: https://commits.webkit.org/274313.39@webkitglib/2.44
Commit: 86cf1558148c2c4267bda2cb001c9d63eff63b9b
https://github.com/WebKit/WebKit/commit/86cf1558148c2c4267bda2cb001c9d63eff63b9b
Author: Ahmad Saleem <ahmad.saleem792+github at gmail.com>
Date: 2024-03-08 (Fri, 08 Mar 2024)
Changed paths:
A LayoutTests/fast/parser/badurl-base-preloader-crash-expected.txt
A LayoutTests/fast/parser/badurl-base-preloader-crash.html
A LayoutTests/http/tests/loading/preload-ignore-invalid-base-expected.txt
A LayoutTests/http/tests/loading/preload-ignore-invalid-base.html
A LayoutTests/http/tests/loading/resources/fail.js
M Source/WebCore/html/parser/HTMLPreloadScanner.cpp
Log Message:
-----------
Cherry-pick 274963 at main (393573035d7e). https://bugs.webkit.org/show_bug.cgi?id=269643
HTMLPreloadScanner should only use valid `base` urls
https://bugs.webkit.org/show_bug.cgi?id=269643
Reviewed by Ryosuke Niwa.
Partial Merge: https://chromium.googlesource.com/chromium/blink/+/754b22f62f6fa5f0b938a90c0e92502eb7f5a7c3
Before this patch, HTMLPreloadScanner accepted invalid `base` urls and
used it to resolve urls encountered later in the scan.
This patch ensures that only valid urls specified in `base href` are
actually used as base urls.
* Source/WebCore/html/parser/HTMLPreloadScanner.cpp:
(TokenPreloadScanner::updatePredictedBaseURL):
* LayoutTests/fast/parser/badurl-base-preloader-crash.html: Add Test Case
* LayoutTests/fast/parser/badurl-base-preloader-crash-expected.txt: Add Test Case Expectation
* LayoutTests/http/tests/loading/preload-ignore-invalid-base.html: Add Test Case
* LayoutTests/http/tests/loading/resources/fail.js: Add Test Case Helper Script
* LayoutTests/http/tests/loading/preload-ignore-invalid-base-expected.txt: Add Test Expectation
Canonical link: https://commits.webkit.org/274963@main
Canonical link: https://commits.webkit.org/274313.40@webkitglib/2.44
Commit: 717b4e0337fd84a5e0246782e146af8e0252770e
https://github.com/WebKit/WebKit/commit/717b4e0337fd84a5e0246782e146af8e0252770e
Author: Philippe Normand <philn at igalia.com>
Date: 2024-03-08 (Fri, 08 Mar 2024)
Changed paths:
M Source/WebCore/Modules/mediastream/libwebrtc/LibWebRTCCertificateGenerator.cpp
M Source/WebCore/platform/mediastream/libwebrtc/LibWebRTCProvider.cpp
Log Message:
-----------
Cherry-pick 274980 at main (4278c2f09831). https://bugs.webkit.org/show_bug.cgi?id=269707
[LibWebRTC] Build fails with clang on Linux
https://bugs.webkit.org/show_bug.cgi?id=269707
Reviewed by Youenn Fablet.
Remove duplicate fromStdString() implementations.
* Source/WebCore/Modules/mediastream/libwebrtc/LibWebRTCCertificateGenerator.cpp:
(WebCore::LibWebRTCCertificateGenerator::fromStdString): Deleted.
* Source/WebCore/platform/mediastream/libwebrtc/LibWebRTCProvider.cpp:
(WebCore::fromStdString): Deleted.
Canonical link: https://commits.webkit.org/274980@main
Canonical link: https://commits.webkit.org/274313.41@webkitglib/2.44
Commit: 92508f184600ab6b604f22477b670afc629cc31c
https://github.com/WebKit/WebKit/commit/92508f184600ab6b604f22477b670afc629cc31c
Author: Marcus Plutowski <marcus_plutowski at apple.com>
Date: 2024-03-08 (Fri, 08 Mar 2024)
Changed paths:
A JSTests/wasm/stress/unsigned-integer-division.js
M Source/JavaScriptCore/wasm/WasmBBQJIT64.h
Log Message:
-----------
Cherry-pick 275011 at main (3ee7e4fc30fd). https://bugs.webkit.org/show_bug.cgi?id=269729
Emit logical right-shift for unsigned div in BBQ JIT
https://bugs.webkit.org/show_bug.cgi?id=269729
rdar://120840889
Reviewed by Justin Michaud.
Previously, the function BBQ::emitModOrDiv would unconditionally emit
an arithmetic right-shift in cases where the lhs was a power of two.
This produces the correct result when the sign bit is 0 (i.e. the lhs,
interpreted as a signed 64-bit integer, is positive) but an incorrect
one when the sign bit is 1: specifically, it would compute a signed
division instead.
By checking the sign of the division taking place and emitting a logical
shift when the operation is unsigned, we get the correct result.
* JSTests/wasm/stress/i64divu-sign-maintanance.js: Added.
(async test):
* Source/JavaScriptCore/wasm/WasmBBQJIT64.h:
(JSC::Wasm::BBQJITImpl::BBQJIT::emitModOrDiv):
Canonical link: https://commits.webkit.org/275011@main
Canonical link: https://commits.webkit.org/274313.42@webkitglib/2.44
Commit: e73c807b9749e7b27ee9572323093ea7bb3131fa
https://github.com/WebKit/WebKit/commit/e73c807b9749e7b27ee9572323093ea7bb3131fa
Author: Charlie Wolfe <charliew at apple.com>
Date: 2024-03-08 (Fri, 08 Mar 2024)
Changed paths:
M Source/WebKit/UIProcess/WebPageProxy.cpp
Log Message:
-----------
Cherry-pick 275019 at main (350492890293). https://bugs.webkit.org/show_bug.cgi?id=269754
REGRESSION(274288 at main): Null pointer dereference in `WebPageProxy::activityStateDidChange()`
https://bugs.webkit.org/show_bug.cgi?id=269754
rdar://123032571
Reviewed by Chris Dumez.
`m_pageClient` is protected in `decidePolicyForNavigationAction()`, but not passed to the created
lambdas. When `Transaction` is destructed, `activityStateDidChange()` tries to create a strong reference
to `m_pageClient`, but it may already be destroyed. We should pass `protectedPageClient` into the
lambdas where `Transaction` is used.
* Source/WebKit/UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::decidePolicyForNavigationAction):
Canonical link: https://commits.webkit.org/275019@main
Canonical link: https://commits.webkit.org/274313.43@webkitglib/2.44
Commit: 5eb5ab62f15afd0aeca4a782baa1157ed20813fe
https://github.com/WebKit/WebKit/commit/5eb5ab62f15afd0aeca4a782baa1157ed20813fe
Author: Przemyslaw Gorszkowski <pgorszkowski at igalia.com>
Date: 2024-03-11 (Mon, 11 Mar 2024)
Changed paths:
M LayoutTests/TestExpectations
M LayoutTests/fast/gradients/conic-gradient-extended-stops.html
M LayoutTests/platform/glib/TestExpectations
M LayoutTests/svg/filters/feConvolveMatrix-clipped.svg
M LayoutTests/svg/filters/feGaussianBlur-clipped.svg
M Source/WTF/wtf/PlatformEnable.h
M Source/WebCore/platform/graphics/ImageBuffer.cpp
M Source/WebCore/platform/graphics/filters/FEDropShadow.h
M Source/WebCore/platform/graphics/filters/FilterImageTargetSwitcher.cpp
M Source/WebCore/platform/graphics/filters/FilterImageTargetSwitcher.h
M Source/WebCore/platform/graphics/filters/FilterStyleTargetSwitcher.cpp
M Source/WebCore/platform/graphics/filters/FilterStyleTargetSwitcher.h
M Source/WebCore/platform/graphics/filters/FilterTargetSwitcher.h
M Source/WebCore/rendering/RenderLayerFilters.cpp
M Source/WebCore/rendering/svg/legacy/LegacyRenderSVGResourceFilter.cpp
M Source/WebCore/svg/graphics/filters/SVGFilter.cpp
Log Message:
-----------
Cherry-pick 275091 at main (cfa8125ddf7c). https://bugs.webkit.org/show_bug.cgi?id=268537
Regression(251234 at main): [Cairo][GTK][WPE] Darker output of SVG with filters fediffuselighting
https://bugs.webkit.org/show_bug.cgi?id=268537
Reviewed by Said Abou-Hallawa and Nikolas Zimmermann.
Turn off the support for linearRGB color space in case of Cairo (251234 at main) causes, that SVG
with filter, where linearRGB as inputs is demanded, generates darker output.
The SVG spec says that SourceGraphic has to be in linearRGB color space:
https://www.w3.org/TR/filter-effects-1/#attr-valuedef-in-sourcegraphic
In case of Cairo (which operates in SRGB color space) the image source (SourceGraphic)
should be created in SRGB and before passing it to filters, it should be transformed to
linearRGB color space.
* LayoutTests/TestExpectations:
* LayoutTests/platform/glib/TestExpectations:
Remove some tests which pass with this change
* LayoutTests/svg/filters/feConvolveMatrix-clipped.svg:
* LayoutTests/svg/filters/feGaussianBlur-clipped.svg:
* LayoutTests/fast/gradients/conic-gradient-extended-stops.html:
Add possible differences in outputs
* Source/WebCore/platform/graphics/ImageBuffer.cpp:
(WebCore::ImageBuffer::filteredNativeImage):
Pass color space to endDrawSourceImage
* Source/WebCore/platform/graphics/filters/FEDropShadow.h:
Force to use SRGB as operating color space for DropShadow in case of Cairo.
* Source/WebCore/platform/graphics/filters/FilterImageTargetSwitcher.cpp:
(WebCore::FilterImageTargetSwitcher::endClipAndDrawSourceImage):
(WebCore::FilterImageTargetSwitcher::endDrawSourceImage):
Before applying all filter, the source image has to be translated to requested
color space (only valid for Cairo).
* Source/WebCore/platform/graphics/filters/FilterTargetSwitcher.h:
* Source/WebCore/platform/graphics/filters/FilterImageTargetSwitcher.h:
* Source/WebCore/platform/graphics/filters/FilterStyleTargetSwitcher.h:
Added color space as additional parameter.
* Source/WebCore/platform/graphics/filters/FilterStyleTargetSwitcher.cpp:
(WebCore::FilterStyleTargetSwitcher::endDrawSourceImage):
WebCore::FilterStyleTargetSwitcher::endDrawSourceImage does not use color space so just ignore it
* Source/WebCore/rendering/RenderLayerFilters.cpp:
(WebCore::RenderLayerFilters::applyFilterEffect):
Just pass DestinationColorSpace::SRGB() to endClipAndDrawSourceImage.
* Source/WebCore/rendering/svg/legacy/LegacyRenderSVGResourceFilter.cpp:
(WebCore::LegacyRenderSVGResourceFilter::applyResource):
In case of Cairo, the sourceImage has to be created with sRGB color space, because
Cairo operates in sRGB. The linearRGB color space will be passed to TargetSwitcher
in WebCore::LegacyRenderSVGResourceFilter::postApplyResource and the sourceImage will
be transformed to linearRGB before all filter applying.
(WebCore::LegacyRenderSVGResourceFilter::postApplyResource):
Before applying all filter, the source image has to be translated to requested
color space.
* Source/WebCore/svg/graphics/filters/SVGFilter.cpp:
(WebCore::buildFilterEffectsGraph):
Create SourceGraphic and SourceAlpha with LinearRGB color space if
color-interpolation_filter attribute of the Filter has LinearRGB value (only in case of Cairo).
Canonical link: https://commits.webkit.org/275091@main
Canonical link: https://commits.webkit.org/274313.44@webkitglib/2.44
Compare: https://github.com/WebKit/WebKit/compare/3ca1c7594402...5eb5ab62f15a
To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications
More information about the webkit-changes
mailing list