Commit Graph
15 Commits
Author SHA1 Message Date
Dean eeafc1df9a Merge pull request #14204 from voidlakhan/feat/nkwebkit-equal-ignoring-fragment-identifier
feat(libSceNKWebKit): implement WTF::equalIgnoringFragmentIdentifier
2026-11-01 17:33:19 +13:00
lakhantheboss 3f6c98a049 feat(libSceNKWebKit): implement WTF::equalIgnoringFragmentIdentifier 2026-11-01 04:26:09 +05:30
SAKIBUL HUDA ONNAY a93e41c7b4 feat(libSceNKWebKit): implement WTF::Thread::yield 2026-10-31 22:23:44 +01:00
PrivacyOnion 1383e29dac feat(libSceNKWebKit): implement the WebKit C API objects, preferences, JavaScriptCore C API and WTF primitives
Replace 1137 NotImplemented stubs with implementations that follow the PS5 11.x OSS WebKit source: the API object model and value types, WKPreferences with PlayStation defaults, context, page, website data store and user script configuration objects, the JS* API on QuickJS-NG with libSceJsc strings, WebCore geometry, transform and color values, and WTF allocation, time, string and URL value operations. Exports whose behaviour needs the WebKit engine, the WebCore URL parser or unproven layouts stay stubs; the gaps are in docs/dev/debt/libSceNKWebKit.md.

Every export is declared once in headers reachable from the library umbrella. Allocation size, alignment and header overhead are computed with overflow checks and the try variants return null at the boundaries. tryFastMalloc, tryFastZeroedMalloc, tryFastCalloc and tryFastRealloc return WTF::TryMallocReturnValue, which is returned in memory, so they take the caller's result pointer first, store the allocation through it and return it.

The libSceJsc string exports that libSceNKWebKit calls are named with the _nid_postfix suffix, so the NID patcher renames those imports along with the exports and the patched libSceNKWebKit.prx resolves them on Linux; their NIDs are unchanged.
2026-10-31 11:10:47 +01:00
Adrià faf4aec285 Merge pull request #13609 from kyon-eth/feat/nkwebkit-320-legacy-exports
feat(libSceNKWebKit): declare older callable exports
2026-10-31 10:14:44 +01:00
KernelPanicNT 78c9c9127a feat(libSceNKWebKit): parse decimal numbers as WTF double-conversion
Implement the six WTF::charactersToDouble and WTF::charactersToFloat
overloads for Latin-1 and UTF-16 input and the four static
WTF::double_conversion::StringToDoubleConverter StringToDouble and
StringToFloat overloads for char and uint16_t input, following pinned
public WebKit. One parser follows StringToIeee: the number grammar, the
772-digit cut with a sticky digit, the exponent saturation and the
processed length. charactersToDouble and charactersToFloat add
toDoubleType's leading ASCII spaces and ok/parsedLength results, map
UTF-16 code units above 0x7F to 0 and round the float overloads through
double. StringToDoubleConverter reads the code units as they are, skips
no spaces and rounds StringToFloat directly to float as Strtof does.
Null characters with a nonzero length and a null processed length throw
where WebKit faults, a decimal exponent that leaves the range of
WebKit's int throws where WebKit overflows, and a UTF-16 charactersTo*
length above UINT32_MAX throws where WebKit's conversion Vector crashes.
2026-10-31 03:59:10 +01:00
KernelPanicNT 896d58b425 feat(libSceNKWebKit): parse legacy dates as WTF DateMath does
Implement WTF::parseDateFromNullTerminatedCharacters(const char*, bool&)
following pinned public WebKit DateMath.cpp: the legacy RFC 2822 style
parser with its month names, comments, three date layouts, two-digit
years, am/pm, numeric offsets and time zone names, and the time range
clamp before the zone offset. Integers go through the guest libc
strtol, as WebKit calls the platform C library. Null pointers throw
where WebKit faults, and a signed overflow that is undefined in WebKit
throws. The one-argument overload still throws because it depends on
the port's configure-time time functions and the device time zone.
2026-10-31 02:55:51 +01:00
Kyon 6f1d025f9a refactor(libSceNKWebKit): preserve automatic library build 2026-10-30 19:25:57 +00:00
Kyon beef2600b8 feat(libSceNKWebKit): declare older callable exports 2026-10-30 19:24:18 +00:00
Kyon 08750c9c2d docs(libSceNKWebKit): clarify catalogue evidence 2026-10-30 02:55:44 +00:00
Kyon 76cbf44563 docs(libSceNKWebKit): record export identity inventory 2026-10-30 02:29:34 +00:00
Kyon af5e56cbad feat(libSceNKWebKit): declare 8703 callable exports 2026-10-29 17:00:12 +00:00
simnJS fa4dd26fa7 refactor(prx): name the Xml, NKWebKit, Jsc and FreeTypeOl stubs the NID database resolves 2026-10-28 14:51:26 +01:00
xdCloudy fcec4981a5 docs: distinguish known exports from unverified ABI 2026-10-22 22:15:40 +01:00
xdCloudy c8febff306 feat(libSceNKWebKit): declare pending exports 2026-10-22 11:42:04 -07:00