Branch: refs/heads/webkitglib/2.50
Home: https://github.com/WebKit/WebKit
Commit: 2a747e7170948835520d9819be55b52600bf5aa3
https://github.com/WebKit/WebKit/commit/2a747e7170948835520d9819be55b52600bf5aa3
Author: Alex Christensen <[email protected]>
Date: 2026-02-06 (Fri, 06 Feb 2026)
Changed paths:
M
LayoutTests/imported/w3c/web-platform-tests/url/percent-encoding.window-expected.txt
M
LayoutTests/imported/w3c/web-platform-tests/url/resources/percent-encoding.json
M Source/WebCore/PAL/pal/text/TextCodecICU.cpp
Log Message:
-----------
Cherry-pick 306768@main (47164fceaef4).
https://bugs.webkit.org/show_bug.cgi?id=306742
URL query percent encoding is incorrect
https://bugs.webkit.org/show_bug.cgi?id=306742
rdar://169566553
Reviewed by Anne van Kesteren.
We have used ucnv_setFallback(converter, true) for many, many years
for our ICU-based text decoding. However, when using ICU to encode
non-UTF8 text through a URL, we need to not use the fallback.
This matches the behavior of Chrome and Firefox, and Chromium has a
comment saying this matches Netscape behavior.
This behavior is odd but already implemented and specified in
https://url.spec.whatwg.org/#string-percent-encode-after-encoding
Chromium implemented this by using a class for the URL encoding,
ICUCharsetConverter which does not call ucnv_setFallback, and a
separate class for text encoding, and TextCodecIcu, which does call
ucnv_setFallback. I've already used an abstract interface for this
rare case, URLTextEncoding, in order to keep it down to one
implementation, so I keep that design and use ucnv_setFallback
to turn off fallback when using UnencodableHandling::URLEncodedEntities
for URL query encoding, then I use ucnv_setFallback to reset the state
of the encoder when I'm done with the operation.
Test:
imported/w3c/web-platform-tests/url/resources/percent-encoding.window.html
*
LayoutTests/imported/w3c/web-platform-tests/url/percent-encoding.window-expected.txt:
*
LayoutTests/imported/w3c/web-platform-tests/url/resources/percent-encoding.json:
* Source/WebCore/PAL/pal/text/TextCodecICU.cpp:
(PAL::TextCodecICU::encode const):
Canonical link: https://commits.webkit.org/306768@main
Canonical link: https://commits.webkit.org/298234.420@webkitglib/2.50
Commit: 9f73a16527732eb11fac909f3dd40248cf490fe2
https://github.com/WebKit/WebKit/commit/9f73a16527732eb11fac909f3dd40248cf490fe2
Author: Simon Pena <[email protected]>
Date: 2026-02-06 (Fri, 06 Feb 2026)
Changed paths:
M Source/WebKit/UIProcess/API/wpe/WPEWebViewPlatform.cpp
Log Message:
-----------
Cherry-pick 306969@main (f874af99156f).
https://bugs.webkit.org/show_bug.cgi?id=307172
[WPE] Check WPE_TOPLEVEL_STATE_ACTIVE flag when filtering WebPageProxy for
gamepad input
https://bugs.webkit.org/show_bug.cgi?id=307172
Reviewed by Adrian Perez de Castro.
When filtering through top level views,
platformWebPageProxyForGamepadInput was requiring a top level to be
exactly WPE_TOPLEVEL_STATE_ACTIVE, rather than having that flag set.
The effect was that running in full screen would filter out valid top
levels.
Tested manually by running MiniBrowser in full screen.
* Source/WebKit/UIProcess/API/wpe/WPEWebViewPlatform.cpp:
(WKWPE::ViewPlatform::platformWebPageProxyForGamepadInput):
Canonical link: https://commits.webkit.org/306969@main
Canonical link: https://commits.webkit.org/298234.421@webkitglib/2.50
Compare: https://github.com/WebKit/WebKit/compare/ca13211df5e5...9f73a1652773
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications