Commit Graph
9208 Commits
Author SHA1 Message Date
Karl Seguin 042df66646 webapi: don't fire error event when a worker script fetch is aborted
terminate() can cancel a still-inflight script fetch. That's a cancellation, not
a failure: a terminated worker must fire no further events, and Chrome is silent
here. We logged an error and fired an ErrorEvent — observable by Cloudflare
challenge scripts, which create a blob-URL worker and terminate it in the same
tick.

On error.TransferCanceled, skip the log and the error event; same log skip in
SharedWorkerGlobalScope.

This was tried in https://github.com/lightpanda-io/browser/pull/3189, but is
now ambiguous thanks to https://github.com/lightpanda-io/browser/pull/3368
which introduced a distinct `error.TransferCanceled`.
2026-09-05 19:47:08 +08:00
Karl Seguin 77594b7ce4 Merge pull request #3378 from lightpanda-io/matchmedia-change-events
webapi: matchMedia change events and real (add|remove)Listener
2026-09-05 16:03:35 +08:00
Karl Seguin 6b1f77981f tie MediaQueryList to the frame, not the page 2026-09-05 15:45:41 +08:00
Karl Seguin c5aaafe599 Merge pull request #3406 from lightpanda-io/nikneym/calm-heap-limit
Enable automatic restoration of initial heap limit
2026-09-05 06:56:14 +08:00
Karl Seguin 2f011997e1 Merge pull request #3402 from lightpanda-io/minor-select
webapi: minor fix to select
2026-09-05 06:54:51 +08:00
Karl Seguin 4ef679346d Merge pull request #3400 from lightpanda-io/idb-rename
indexeddb: Add setName to IDBObjectStore and IDBIndex
2026-09-05 06:54:32 +08:00
Karl Seguin e08108259e Merge pull request #3404 from lightpanda-io/uaf-indexdb
idb: fix use-after-free reading txn._db after releaseRef frees it
2026-09-05 06:54:09 +08:00
Pierre Tachoire 2f76e190f2 Merge pull request #3002 from lightpanda-io/cors-impl
CORS Implementation
2026-09-04 18:26:28 +02:00
Halil Durak 7211cfa6db enable automatic restoration of initial heap limit 2026-09-04 18:27:45 +03:00
Muki Kiboigo 620df371d3 avoid total capacity reservation on opaque fetch 2026-09-04 07:02:02 -07:00
Muki Kiboigo 6bf77ad0f2 make test client buf larger to accomodate larger metrics 2026-09-04 07:02:02 -07:00
Muki Kiboigo 34b743fbd6 origin is tainted on cross origin redirects 2026-09-04 07:02:01 -07:00
Muki Kiboigo 54518383c0 enforce cors response on redirects as well 2026-09-04 07:00:03 -07:00
Muki Kiboigo 0610d5ecd1 collapse isCrossOriginModeAllowed check in pipeline 2026-09-04 07:00:02 -07:00
Muki Kiboigo 0aeba826b4 use credentials_mode instead of cookie bool 2026-09-04 07:00:02 -07:00
Muki Kiboigo 23c1c1018f properly use include on default corsSettings and image load 2026-09-04 07:00:02 -07:00
Muki Kiboigo 1f9342e92f add credentials to preflight key for cors 2026-09-04 07:00:02 -07:00
Muki Kiboigo 868882b0c8 add origin conditionally on no_cors 2026-09-04 07:00:02 -07:00
Muki Kiboigo db9ccfb7c9 fetch can't be navigate mode 2026-09-04 07:00:02 -07:00
Muki Kiboigo 827d0f0598 only check cross origin mode on obey cors 2026-09-04 07:00:02 -07:00
Muki Kiboigo 8a8bb3814f fix test running 2026-09-04 07:00:01 -07:00
Muki Kiboigo 6002dfe587 use no_cors for importScript 2026-09-04 07:00:01 -07:00
Muki Kiboigo e195886d43 use same cors guard for fetch body as headers 2026-09-04 07:00:01 -07:00
Muki Kiboigo c3a71efca4 include modes on EchoDriver 2026-09-04 07:00:01 -07:00
Muki Kiboigo addba12426 add CORS metrics 2026-09-04 07:00:01 -07:00
Muki Kiboigo 15d27902ba use experimental features flag instead of obey cors 2026-09-04 07:00:01 -07:00
Muki Kiboigo 1fe8456cbd add modes to the tests 2026-09-04 07:00:01 -07:00
Muki Kiboigo 12ed38dfdd better no cors opaque behavior 2026-09-04 07:00:00 -07:00
Muki Kiboigo d1f4605459 non-default credentials and request mode 2026-09-04 07:00:00 -07:00
Muki Kiboigo b0fffe693a more comprehensive cors singleflight key 2026-09-04 06:59:40 -07:00
Muki Kiboigo 2b06583662 authorization header doesnt accept wildcard 2026-09-04 06:59:40 -07:00
Muki Kiboigo 8ee714418d proper safelist checking for CORS headers 2026-09-04 06:59:40 -07:00
Muki Kiboigo feebb889ad cors check before cache check 2026-09-04 06:59:40 -07:00
Muki Kiboigo 89df63e956 safelisted methods always pass in CORS 2026-09-04 06:59:39 -07:00
Muki Kiboigo 570a450163 ensure origin is added to requests 2026-09-04 06:59:39 -07:00
Muki Kiboigo f2f93d0bc5 fix ordering in Request.InitOpts 2026-09-04 06:59:39 -07:00
Muki Kiboigo c16a3b3585 fix warn log on preflight blocked 2026-09-04 06:59:39 -07:00
Muki Kiboigo e9449b2276 follow create a potential cors request rules in ScriptManager 2026-09-04 06:59:39 -07:00
Muki Kiboigo da00a90c02 set cors cross origin on transfer after no-cors check 2026-09-04 06:59:39 -07:00
Muki Kiboigo d3c0291bd1 add request mode for Fetch 2026-09-04 06:59:39 -07:00
Muki Kiboigo ddfa034310 add credentials_mode for proper CORS credentials handling 2026-09-04 06:59:39 -07:00
Muki Kiboigo f31b32ac4e don't store network in CorsGate 2026-09-04 06:59:38 -07:00
Muki Kiboigo cf37a94f16 get rid of blocked on CorsGate check result 2026-09-04 06:59:38 -07:00
Muki Kiboigo b976894315 properly hook up single flight for CorsGate 2026-09-04 06:59:38 -07:00
Muki Kiboigo 977874ce5f initial preflighting 2026-09-04 06:59:38 -07:00
Muki Kiboigo f428dc8e52 add origin header in CorsGate on cross origin 2026-09-04 06:59:38 -07:00
Muki Kiboigo 4e79f24814 basic validation without preflighting 2026-09-04 06:59:38 -07:00
Muki Kiboigo ec45dccacf add obey_cors option 2026-09-04 06:59:38 -07:00
Muki Kiboigo 212c806be5 add basic CorsGate scaffold 2026-09-04 06:59:37 -07:00
Muki Kiboigo b114382c44 add origin field to HttpClient Request 2026-09-04 06:59:37 -07:00