Commit Graph
40 Commits
Author SHA1 Message Date
lakhantheboss a1a7983f11 feat(libSceNKWebKit): implement WTF::protocolHostAndPortAreEqual 2026-11-06 01:04:11 +05:30
Dean Galvin 5e38b0df5d Merge branch 'main' 2026-11-06 07:44:48 +13:00
Dean Galvin a5d9a7cb9f Merge branch 'main' 2026-11-06 07:25:40 +13:00
Dean Galvin 1467bbe31d Merge branch 'main' 2026-11-06 07:04:46 +13:00
Dean Galvin 4cc27d3f88 Merge branch 'main' 2026-11-06 07:04:46 +13:00
Dean Galvin 364a59a58d Merge branch 'main' 2026-11-06 07:04:46 +13:00
Dean Galvin 87399d5da0 Merge branch 'main' 2026-11-06 06:43:43 +13:00
Dean Galvin fc563100b5 Merge branch 'main' 2026-11-06 06:24:36 +13:00
winstrexandClaude Opus 5.5 438ce57730 Merge branch 'main' into feat/nkwebkit-wtf-text
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-11-05 14:23:53 -03:00
gslashm 407dd4f168 feat(libSceNKWebKit): implement WTF language overrides and matching
_ZN3WTF17languageDidChangeEv
_ZN3WTF25addLanguageChangeObserverEPvPFvS0_E
_ZN3WTF28displayNameForLanguageLocaleERKNS_6StringE
_ZN3WTF28removeLanguageChangeObserverEPv
_ZN3WTF30overrideUserPreferredLanguagesERKNS_6VectorINS_6StringELm0ENS_15CrashOnOverflowELm16ENS_10FastMallocEEE
_ZN3WTF30userPreferredLanguagesOverrideEv
_ZN3WTF33indexOfBestMatchingLanguageInListERKNS_6StringERKNS_6VectorIS0_Lm0ENS_15CrashOnOverflowELm16ENS_10FastMallocEEERb
2026-11-05 18:21:53 +02:00
gslashm 44a92277ec feat(libSceNKWebKit): implement Inspector::IdentifiersFactory
_ZN9Inspector18IdentifiersFactory16createIdentifierEv
_ZN9Inspector18IdentifiersFactory9requestIdEm
2026-11-05 15:22:04 +02:00
Dean Galvin 95a43c99b7 Merge branch 'main' 2026-11-06 00:52:13 +13:00
Dean Galvin 102abea2fe Merge branch 'main' 2026-11-06 00:52:12 +13:00
Dean Galvin 3a4eed5f0c Merge branch 'main' 2026-11-06 00:49:50 +13:00
winstrexandClaude Opus 5.5 22eddcd7d3 Merge branch 'main' into feat/nkwebkit-wtf-text
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-11-05 05:58:31 -03:00
lakhantheboss 9932dd3b1e feat(libSceNKWebKit): implement WTF::portAllowed 2026-11-05 12:01:10 +05:30
Dean Galvin 755a26d064 fix(libSceNKWebKit): return null from the hit test URL getters when unset
Apply review request from 2026-11-05, with a merge of main.

The four absolute URL getters of WKHitTestResult return a null reference when the URL was never set, as the pinned WebKit returns null for a null String, instead of a non-null empty URL. The test covers an unset result and the existing set round trips. The throwing export count in the debt entry is recounted against main.
2026-11-05 17:17:21 +13:00
winstrexandClaude Opus 5.5 0f760f39b3 Merge branch 'main' into feat/nkwebkit-wtf-text
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-11-04 20:47:35 -03:00
gslashm 2d345c666b feat(libSceNKWebKit): implement PAL::SessionID generators
_ZN3PAL9SessionID26enableGenerationProtectionEv
_ZN3PAL9SessionID26generateEphemeralSessionIDEv
_ZN3PAL9SessionID27generatePersistentSessionIDEv
2026-11-05 00:59:38 +02:00
Adria Espi d6181228d6 feat(libSceNKWebKit): implement WKHitTestResult property getters 2026-11-04 19:13:34 +01:00
AshwinandClaude Sonnet 5.5 ede1bb0eb4 feat(libSceNKWebKit): implement WTF::FileSystemImpl encodeForFileName, decodeFromFilename and lastComponentOfPathIgnoringTrailingSlash
Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-11-04 23:21:27 +05:30
AshwinandClaude Sonnet 5.5 6098f93a12 feat(libSceNKWebKit): implement WTF::URL::lastPathComponent and strippedForUseAsReferrer
Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-11-04 23:18:33 +05:30
winstrex c141749a5c Merge remote-tracking branch 'upstream/main' into feat/nkwebkit-wtf-text
# Conflicts:
#	docs/dev/debt/libSceNKWebKit.md
2026-11-04 05:37:10 -03:00
Dean c6c89e6a30 Merge pull request #14925 from w4rc0n/feat/nkwebkit-security-origin
feat(libSceNKWebKit): implement WKSecurityOrigin values
2026-11-04 21:32:25 +13:00
Dean ba0ddcc6fb Merge pull request #15228 from simnJS/feat/nkwebkit-resourceresponse-getters
feat(libSceNKWebKit): implement WebCore::ResourceResponseBase field getters
2026-11-03 21:08:59 +13:00
infra-rig a92710859c feat(libSceNKWebKit): implement WKSecurityOrigin values 2026-11-02 17:20:27 -07:00
winstrex d15cf41cfa Merge remote-tracking branch 'upstream/main' into feat/nkwebkit-wtf-text
# Conflicts:
#	docs/dev/debt/libSceNKWebKit.md
2026-11-02 19:42:29 -03:00
Dean e61846e377 Merge pull request #14479 from ashwin280802/feat/nkwebkit-url-data-url-helpers
feat(libSceNKWebKit): implement WTF::mimeTypeFromDataURL and URL::stringCenterEllipsizedToLength
2026-11-03 11:37:48 +13:00
simnJS 0e86bb5863 feat(libSceNKWebKit): implement WebCore::ResourceResponseBase field getters 2026-11-02 21:16:34 +01:00
Dean 76f5ada400 Merge pull request #14256 from StoneDC/feat/nkwebkit-fastbitvector
feat(libSceNKWebKit): implement FastBitVector storage operations
2026-11-03 08:47:15 +13:00
AshwinandClaude Sonnet 5.5 dd166cdd67 feat(libSceNKWebKit): implement WTF::mimeTypeFromDataURL and URL::stringCenterEllipsizedToLength
Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-11-01 20:21:26 +05:30
winstrexandClaude Opus 5.5 a6fe74f203 Merge remote-tracking branch 'upstream/main' into feat/nkwebkit-wtf-text
Resolve docs/dev/debt/libSceNKWebKit.md after #13936: 7413 additional
callable exports and 126 remaining known-name exports still throw,
recounted from Export.cpp.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-11-01 11:10:12 -03:00
Eduardo Ruiz d72f349abb fix(libSceNKWebKit): narrow the constant-return claim to the measured width
The 13 exports whose body is mov al,1; ret write only the low byte, so the
upper bits of EAX are unspecified; the test now masks them and the debt
entry separates those 13 from the 124 bodies that write EAX. The inventory
count returns to 7440, the 134 rows removed from the 7574 that were listed,
because three of the 137 belong to the separate known-name group.
2026-11-01 11:49:36 +01:00
Eduardo Ruiz 03f9296adb feat(libSceNKWebKit): implement the exports the 11.00 module answers with a constant
137 exports that were throwing stubs return a fixed value in the PS5 11.00
module: 111 end in xor eax,eax and return 0, 13 load an immediate with
mov eax,imm32 and return it, and 13 return true through mov al,1. Their
bodies in src/ConstantExports.cpp reproduce those values.

The functions were matched to the firmware export table by recomputing each
NID from the declared symbol, and the body and size of every selected
address were checked against the image. The declared prototypes stay the
no-parameter int placeholders, so only the 32-bit return value is covered.
The technical-debt inventory drops the rows that no longer throw and records
the measurement and that limit.
2026-11-01 11:49:36 +01:00
winstrexandClaude Opus 5.5 a598f96e19 Merge remote-tracking branch 'upstream/main' into feat/nkwebkit-wtf-text
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-11-01 04:13:31 -03:00
StoneDC 584596ed7d feat(libSceNKWebKit): implement FastBitVector range clearing and storage 2026-11-01 12:10:30 +08:00
winstrexandClaude Opus 5.5 83413ef468 fix(libSceNKWebKit): record a failed WTF::StringBuilder allocation as an overflow
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-31 20:03:43 -03:00
lakhantheboss 3f6c98a049 feat(libSceNKWebKit): implement WTF::equalIgnoringFragmentIdentifier 2026-11-01 04:26:09 +05:30
winstrexandClaude Opus 5.5 9ef85aeeb2 feat(libSceNKWebKit): implement the WTF::StringBuilder and WTF::TextStream exports
Ports the 27 StringBuilder and TextStream exports that still threw from
public WebKit c55364d53f97: appendCharacters, reserveCapacity,
shrinkToFit, reifyString, appendNumber(float) and appendQuotedJSONString,
the TextStream operators, release, groups and indent, and the Seconds and
URL operators. Both layouts are pinned with static_assert from the
release headers of that revision; they are not checked against a console
binary.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-31 18:53:16 -03: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