mirror of
https://github.com/SpartanJ/eepp.git
synced 2026-08-14 13:15:14 +03:00
Introduce WebResourceCache with partitioned sharing, per-document sessions, navigation generations, leases, and canonical request keys. Coalesce concurrent document, stylesheet, font, and image requests while discarding stale navigation subscribers independently. Retain completed resources with TTL/LRU and byte-budget policies, and periodically prune expired unleased entries from UIWebView. Route UISceneNode, UIWebView, UIImage, CSS background images, and remote drawable resolution through the shared cache. Preserve ResourceScope entries as explicit overrides and allow multiple WebViews to share a cache partition. Keep image decode and texture replacement on the guarded graphics-thread completion path. Exclude volatile Cookie and Referer values from cache identity while preserving partition isolation and content-affecting variants. Start TTL retention when the final document lease is released so Back/Forward navigation can reuse resources regardless of how long the previous page was open. Avoid unstable pointers and iterators into unordered_dense storage when tracking leases and pruning entries. Add ASan regression coverage for dense map growth, navigation, eviction, partition isolation, request coalescing, retry behavior, and cache retention. Fully document cache partitions, sessions, generations, request identity, ownership, threading, and maintenance behavior.