Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 9d2313b02b23d7fe95b3e3f11f3e4f6ce2a8a74a
https://github.com/WebKit/WebKit/commit/9d2313b02b23d7fe95b3e3f11f3e4f6ce2a8a74a
Author: canalun <[email protected]>
Date: 2026-04-22 (Wed, 22 Apr 2026)
Changed paths:
M Source/WebKit/Shared/Extensions/WebExtensionLocalization.cpp
M
Tools/TestWebKitAPI/Tests/WebKit/WKWebView/WKWebExtensionAPILocalization.mm
Log Message:
-----------
Fix the case of two adjacent placeholders for the i18n replacement logic
https://bugs.webkit.org/show_bug.cgi?id=312967
Reviewed by Timothy Hatcher.
The regex (?:[^$]|^)(\$NAME\$) requires a non-$ guard character immediately
before each placeholder unless the placeholder is at the beginning of a string.
Advancing by replacement.length() - 1 keeps the last inserted char within the
search window, letting it serve as the guard for an immediately following
placeholder.
Test:
Tools/TestWebKitAPI/Tests/WebKit/WKWebView/WKWebExtensionAPILocalization.mm
* Source/WebKit/Shared/Extensions/WebExtensionLocalization.cpp:
(WebKit::WebExtensionLocalization::stringByReplacingNamedPlaceholdersInString):
(WebKit::WebExtensionLocalization::stringByReplacingPositionalPlaceholdersInString):
* Tools/TestWebKitAPI/Tests/WebKit/WKWebView/WKWebExtensionAPILocalization.mm:
(TestWebKitAPI::TEST(WKWebExtensionAPILocalization, Placeholders)):
Canonical link: https://commits.webkit.org/311769@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications