Rewild Your Web
18
fork

Configure Feed

Select the types of activity you want to include in your feed.

chore: update to Servo fbb37acf15a24bb9424b7fd6f620b515c2413832

Signed-off-by: webbeef <me@webbeef.org>

webbeef 809c42f6 08b23592

+200 -140
+84 -55
Cargo.lock
··· 1123 1123 1124 1124 [[package]] 1125 1125 name = "cc" 1126 - version = "1.2.59" 1126 + version = "1.2.60" 1127 1127 source = "registry+https://github.com/rust-lang/crates.io-index" 1128 - checksum = "b7a4d3ec6524d28a329fc53654bbadc9bdd7b0431f5d65f1a56ffb28a1ee5283" 1128 + checksum = "43c5703da9466b66a946814e1adf53ea2c90f10063b86290cc9eb67ce3478a20" 1129 1129 dependencies = [ 1130 1130 "find-msvc-tools", 1131 1131 "jobserver", ··· 3089 3089 3090 3090 [[package]] 3091 3091 name = "gif" 3092 - version = "0.14.1" 3092 + version = "0.14.2" 3093 3093 source = "registry+https://github.com/rust-lang/crates.io-index" 3094 - checksum = "f5df2ba84018d80c213569363bdcd0c64e6933c67fe4c1d60ecf822971a3c35e" 3094 + checksum = "ee8cfcc411d9adbbaba82fb72661cc1bcca13e8bba98b364e62b2dba8f960159" 3095 3095 dependencies = [ 3096 3096 "color_quant", 3097 3097 "weezl", ··· 3911 3911 ] 3912 3912 3913 3913 [[package]] 3914 + name = "hashbrown" 3915 + version = "0.17.0" 3916 + source = "registry+https://github.com/rust-lang/crates.io-index" 3917 + checksum = "4f467dd6dccf739c208452f8014c75c18bb8301b050ad1cfb27153803edb0f51" 3918 + 3919 + [[package]] 3914 3920 name = "hashlink" 3915 - version = "0.10.0" 3921 + version = "0.11.0" 3916 3922 source = "registry+https://github.com/rust-lang/crates.io-index" 3917 - checksum = "7382cf6263419f2d8df38c55d7da83da5c18aef87fc7a7fc1fb1e344edfe14c1" 3923 + checksum = "ea0b22561a9c04a7cb1a302c013e0259cd3b4bb619f145b32f72b8b4bcbed230" 3918 3924 dependencies = [ 3919 - "hashbrown 0.15.5", 3925 + "hashbrown 0.16.1", 3920 3926 ] 3921 3927 3922 3928 [[package]] ··· 4887 4893 "byteorder-lite", 4888 4894 "color_quant", 4889 4895 "exr", 4890 - "gif 0.14.1", 4896 + "gif 0.14.2", 4891 4897 "image-webp", 4892 4898 "moxcms", 4893 4899 "num-traits", ··· 4930 4936 4931 4937 [[package]] 4932 4938 name = "indexmap" 4933 - version = "2.13.1" 4939 + version = "2.14.0" 4934 4940 source = "registry+https://github.com/rust-lang/crates.io-index" 4935 - checksum = "45a8a2b9cb3e0b0c1803dbb0758ffac5de2f425b23c28f518faabd9d805342ff" 4941 + checksum = "d466e9454f08e4a911e14806c24e16fba1b4c121d1ea474396f396069cf949d9" 4936 4942 dependencies = [ 4937 4943 "equivalent", 4938 - "hashbrown 0.16.1", 4944 + "hashbrown 0.17.0", 4939 4945 "serde", 4940 4946 "serde_core", 4941 4947 ] ··· 5377 5383 5378 5384 [[package]] 5379 5385 name = "js-sys" 5380 - version = "0.3.94" 5386 + version = "0.3.95" 5381 5387 source = "registry+https://github.com/rust-lang/crates.io-index" 5382 - checksum = "2e04e2ef80ce82e13552136fabeef8a5ed1f985a96805761cbb9a2c34e7664d9" 5388 + checksum = "2964e92d1d9dc3364cae4d718d93f227e3abb088e747d92e0395bfdedf1c12ca" 5383 5389 dependencies = [ 5384 5390 "cfg-if", 5385 5391 "futures-util", ··· 5589 5595 5590 5596 [[package]] 5591 5597 name = "libredox" 5592 - version = "0.1.15" 5598 + version = "0.1.16" 5593 5599 source = "registry+https://github.com/rust-lang/crates.io-index" 5594 - checksum = "7ddbf48fd451246b1f8c2610bd3b4ac0cc6e149d89832867093ab69a17194f08" 5600 + checksum = "e02f3bb43d335493c96bf3fd3a321600bf6bd07ed34bc64118e9293bdffea46c" 5595 5601 dependencies = [ 5596 5602 "bitflags 2.11.0", 5597 5603 "libc", 5598 5604 "plain", 5599 - "redox_syscall 0.7.3", 5605 + "redox_syscall 0.7.4", 5600 5606 ] 5601 5607 5602 5608 [[package]] 5603 5609 name = "libsqlite3-sys" 5604 - version = "0.35.0" 5610 + version = "0.36.0" 5605 5611 source = "registry+https://github.com/rust-lang/crates.io-index" 5606 - checksum = "133c182a6a2c87864fe97778797e46c7e999672690dc9fa3ee8e241aa4a9c13f" 5612 + checksum = "95b4103cffefa72eb8428cb6b47d6627161e51c2739fc5e3b734584157bc642a" 5607 5613 dependencies = [ 5608 5614 "cc", 5609 5615 "pkg-config", ··· 5978 5984 5979 5985 [[package]] 5980 5986 name = "mozjs" 5981 - version = "0.15.5" 5987 + version = "0.15.8" 5982 5988 source = "registry+https://github.com/rust-lang/crates.io-index" 5983 - checksum = "6efb4331060c22cc64e136c11c810eec22c063dd7cdeffdee394cb4e7f4d2880" 5989 + checksum = "d4e51874bd557fcc5809a3e133714998d2b856ab29aa59fba79f3398f0537e48" 5984 5990 dependencies = [ 5985 5991 "bindgen", 5986 5992 "cc", ··· 5993 5999 5994 6000 [[package]] 5995 6001 name = "mozjs_sys" 5996 - version = "0.140.8-0" 6002 + version = "0.140.8-3" 5997 6003 source = "registry+https://github.com/rust-lang/crates.io-index" 5998 - checksum = "2d84f9f721dd87b500958f5815c118adb8adcd8e310e30b0188647c179ea7bcb" 6004 + checksum = "f70e26e45204d1cbd73d2508007ab5cbb3411bddb057c47977bae6844861a8fa" 5999 6005 dependencies = [ 6000 6006 "bindgen", 6001 6007 "cc", ··· 8136 8142 8137 8143 [[package]] 8138 8144 name = "redox_syscall" 8139 - version = "0.7.3" 8145 + version = "0.7.4" 8140 8146 source = "registry+https://github.com/rust-lang/crates.io-index" 8141 - checksum = "6ce70a74e890531977d37e532c34d45e9055d2409ed08ddba14529471ed0be16" 8147 + checksum = "f450ad9c3b1da563fb6948a8e0fb0fb9269711c9c73d9ea1de5058c79c8d643a" 8142 8148 dependencies = [ 8143 8149 "bitflags 2.11.0", 8144 8150 ] ··· 8340 8346 ] 8341 8347 8342 8348 [[package]] 8349 + name = "rsqlite-vfs" 8350 + version = "0.1.0" 8351 + source = "registry+https://github.com/rust-lang/crates.io-index" 8352 + checksum = "a8a1f2315036ef6b1fbacd1972e8ee7688030b0a2121edfc2a6550febd41574d" 8353 + dependencies = [ 8354 + "hashbrown 0.16.1", 8355 + "thiserror 2.0.18", 8356 + ] 8357 + 8358 + [[package]] 8343 8359 name = "rusqlite" 8344 - version = "0.37.0" 8360 + version = "0.38.0" 8345 8361 source = "registry+https://github.com/rust-lang/crates.io-index" 8346 - checksum = "165ca6e57b20e1351573e3729b958bc62f0e48025386970b6e4d29e7a7e71f3f" 8362 + checksum = "f1c93dd1c9683b438c392c492109cb702b8090b2bfc8fed6f6e4eb4523f17af3" 8347 8363 dependencies = [ 8348 8364 "bitflags 2.11.0", 8349 8365 "fallible-iterator", ··· 8351 8367 "hashlink", 8352 8368 "libsqlite3-sys", 8353 8369 "smallvec", 8370 + "sqlite-wasm-rs", 8354 8371 ] 8355 8372 8356 8373 [[package]] ··· 8473 8490 8474 8491 [[package]] 8475 8492 name = "rustls-webpki" 8476 - version = "0.103.10" 8493 + version = "0.103.11" 8477 8494 source = "registry+https://github.com/rust-lang/crates.io-index" 8478 - checksum = "df33b2b81ac578cabaf06b89b0631153a3f416b0a886e8a7a1707fb51abbd1ef" 8495 + checksum = "20a6af516fea4b20eccceaf166e8aa666ac996208e8a644ce3ef5aa783bc7cd4" 8479 8496 dependencies = [ 8480 8497 "aws-lc-rs", 8481 8498 "ring", ··· 8558 8575 8559 8576 [[package]] 8560 8577 name = "sea-query" 8561 - version = "1.0.0-rc.32" 8578 + version = "1.0.0-rc.33" 8562 8579 source = "registry+https://github.com/rust-lang/crates.io-index" 8563 - checksum = "e504013549f817509224b39f2381da6b6e18e48cb7144a24ea13b6f22089e76c" 8580 + checksum = "b04cdb0135c16e829504e93fbe7880513578d56f07aaea152283526590111828" 8564 8581 dependencies = [ 8565 8582 "inherent", 8566 8583 "sea-query-derive", ··· 8582 8599 8583 8600 [[package]] 8584 8601 name = "sea-query-rusqlite" 8585 - version = "0.8.0-rc.15" 8602 + version = "0.8.0-rc.17" 8586 8603 source = "registry+https://github.com/rust-lang/crates.io-index" 8587 - checksum = "9d42855d86ace6f5d9e425b65a8035d45c64e001db87a254ecfd87f226b4b0f7" 8604 + checksum = "05c805badea80303bd65892015f666c023a17eac6f888f2f32d02a325ee542e1" 8588 8605 dependencies = [ 8589 8606 "rusqlite", 8590 8607 "sea-query", ··· 8641 8658 [[package]] 8642 8659 name = "selectors" 8643 8660 version = "0.37.0" 8644 - source = "git+https://github.com/servo/stylo?rev=ddf2109bdfff62c83a14e3a3c7dc1c6130653283#ddf2109bdfff62c83a14e3a3c7dc1c6130653283" 8661 + source = "git+https://github.com/servo/stylo?rev=96ceb5405bd7ce10c4141c62e860d50745a75547#96ceb5405bd7ce10c4141c62e860d50745a75547" 8645 8662 dependencies = [ 8646 8663 "bitflags 2.11.0", 8647 8664 "cssparser", ··· 10314 10331 [[package]] 10315 10332 name = "servo_arc" 10316 10333 version = "0.4.3" 10317 - source = "git+https://github.com/servo/stylo?rev=ddf2109bdfff62c83a14e3a3c7dc1c6130653283#ddf2109bdfff62c83a14e3a3c7dc1c6130653283" 10334 + source = "git+https://github.com/servo/stylo?rev=96ceb5405bd7ce10c4141c62e860d50745a75547#96ceb5405bd7ce10c4141c62e860d50745a75547" 10318 10335 dependencies = [ 10319 10336 "serde", 10320 10337 "stable_deref_trait", ··· 10633 10650 ] 10634 10651 10635 10652 [[package]] 10653 + name = "sqlite-wasm-rs" 10654 + version = "0.5.2" 10655 + source = "registry+https://github.com/rust-lang/crates.io-index" 10656 + checksum = "2f4206ed3a67690b9c29b77d728f6acc3ce78f16bf846d83c94f76400320181b" 10657 + dependencies = [ 10658 + "cc", 10659 + "js-sys", 10660 + "rsqlite-vfs", 10661 + "wasm-bindgen", 10662 + ] 10663 + 10664 + [[package]] 10636 10665 name = "ssh-cipher" 10637 10666 version = "0.2.0" 10638 10667 source = "registry+https://github.com/rust-lang/crates.io-index" ··· 10787 10816 [[package]] 10788 10817 name = "stylo" 10789 10818 version = "0.16.0" 10790 - source = "git+https://github.com/servo/stylo?rev=ddf2109bdfff62c83a14e3a3c7dc1c6130653283#ddf2109bdfff62c83a14e3a3c7dc1c6130653283" 10819 + source = "git+https://github.com/servo/stylo?rev=96ceb5405bd7ce10c4141c62e860d50745a75547#96ceb5405bd7ce10c4141c62e860d50745a75547" 10791 10820 dependencies = [ 10792 10821 "app_units", 10793 10822 "arrayvec", ··· 10843 10872 [[package]] 10844 10873 name = "stylo_atoms" 10845 10874 version = "0.16.0" 10846 - source = "git+https://github.com/servo/stylo?rev=ddf2109bdfff62c83a14e3a3c7dc1c6130653283#ddf2109bdfff62c83a14e3a3c7dc1c6130653283" 10875 + source = "git+https://github.com/servo/stylo?rev=96ceb5405bd7ce10c4141c62e860d50745a75547#96ceb5405bd7ce10c4141c62e860d50745a75547" 10847 10876 dependencies = [ 10848 10877 "string_cache", 10849 10878 "string_cache_codegen", ··· 10852 10881 [[package]] 10853 10882 name = "stylo_derive" 10854 10883 version = "0.16.0" 10855 - source = "git+https://github.com/servo/stylo?rev=ddf2109bdfff62c83a14e3a3c7dc1c6130653283#ddf2109bdfff62c83a14e3a3c7dc1c6130653283" 10884 + source = "git+https://github.com/servo/stylo?rev=96ceb5405bd7ce10c4141c62e860d50745a75547#96ceb5405bd7ce10c4141c62e860d50745a75547" 10856 10885 dependencies = [ 10857 10886 "darling", 10858 10887 "proc-macro2", ··· 10864 10893 [[package]] 10865 10894 name = "stylo_dom" 10866 10895 version = "0.16.0" 10867 - source = "git+https://github.com/servo/stylo?rev=ddf2109bdfff62c83a14e3a3c7dc1c6130653283#ddf2109bdfff62c83a14e3a3c7dc1c6130653283" 10896 + source = "git+https://github.com/servo/stylo?rev=96ceb5405bd7ce10c4141c62e860d50745a75547#96ceb5405bd7ce10c4141c62e860d50745a75547" 10868 10897 dependencies = [ 10869 10898 "bitflags 2.11.0", 10870 10899 "stylo_malloc_size_of", ··· 10873 10902 [[package]] 10874 10903 name = "stylo_malloc_size_of" 10875 10904 version = "0.16.0" 10876 - source = "git+https://github.com/servo/stylo?rev=ddf2109bdfff62c83a14e3a3c7dc1c6130653283#ddf2109bdfff62c83a14e3a3c7dc1c6130653283" 10905 + source = "git+https://github.com/servo/stylo?rev=96ceb5405bd7ce10c4141c62e860d50745a75547#96ceb5405bd7ce10c4141c62e860d50745a75547" 10877 10906 dependencies = [ 10878 10907 "app_units", 10879 10908 "cssparser", ··· 10890 10919 [[package]] 10891 10920 name = "stylo_static_prefs" 10892 10921 version = "0.16.0" 10893 - source = "git+https://github.com/servo/stylo?rev=ddf2109bdfff62c83a14e3a3c7dc1c6130653283#ddf2109bdfff62c83a14e3a3c7dc1c6130653283" 10922 + source = "git+https://github.com/servo/stylo?rev=96ceb5405bd7ce10c4141c62e860d50745a75547#96ceb5405bd7ce10c4141c62e860d50745a75547" 10894 10923 10895 10924 [[package]] 10896 10925 name = "stylo_traits" 10897 10926 version = "0.16.0" 10898 - source = "git+https://github.com/servo/stylo?rev=ddf2109bdfff62c83a14e3a3c7dc1c6130653283#ddf2109bdfff62c83a14e3a3c7dc1c6130653283" 10927 + source = "git+https://github.com/servo/stylo?rev=96ceb5405bd7ce10c4141c62e860d50745a75547#96ceb5405bd7ce10c4141c62e860d50745a75547" 10899 10928 dependencies = [ 10900 10929 "app_units", 10901 10930 "bitflags 2.11.0", ··· 11397 11426 [[package]] 11398 11427 name = "to_shmem" 11399 11428 version = "0.3.0" 11400 - source = "git+https://github.com/servo/stylo?rev=ddf2109bdfff62c83a14e3a3c7dc1c6130653283#ddf2109bdfff62c83a14e3a3c7dc1c6130653283" 11429 + source = "git+https://github.com/servo/stylo?rev=96ceb5405bd7ce10c4141c62e860d50745a75547#96ceb5405bd7ce10c4141c62e860d50745a75547" 11401 11430 dependencies = [ 11402 11431 "cssparser", 11403 11432 "servo_arc", ··· 11410 11439 [[package]] 11411 11440 name = "to_shmem_derive" 11412 11441 version = "0.1.0" 11413 - source = "git+https://github.com/servo/stylo?rev=ddf2109bdfff62c83a14e3a3c7dc1c6130653283#ddf2109bdfff62c83a14e3a3c7dc1c6130653283" 11442 + source = "git+https://github.com/servo/stylo?rev=96ceb5405bd7ce10c4141c62e860d50745a75547#96ceb5405bd7ce10c4141c62e860d50745a75547" 11414 11443 dependencies = [ 11415 11444 "darling", 11416 11445 "proc-macro2", ··· 12265 12294 12266 12295 [[package]] 12267 12296 name = "wasm-bindgen" 12268 - version = "0.2.117" 12297 + version = "0.2.118" 12269 12298 source = "registry+https://github.com/rust-lang/crates.io-index" 12270 - checksum = "0551fc1bb415591e3372d0bc4780db7e587d84e2a7e79da121051c5c4b89d0b0" 12299 + checksum = "0bf938a0bacb0469e83c1e148908bd7d5a6010354cf4fb73279b7447422e3a89" 12271 12300 dependencies = [ 12272 12301 "cfg-if", 12273 12302 "once_cell", ··· 12278 12307 12279 12308 [[package]] 12280 12309 name = "wasm-bindgen-futures" 12281 - version = "0.4.67" 12310 + version = "0.4.68" 12282 12311 source = "registry+https://github.com/rust-lang/crates.io-index" 12283 - checksum = "03623de6905b7206edd0a75f69f747f134b7f0a2323392d664448bf2d3c5d87e" 12312 + checksum = "f371d383f2fb139252e0bfac3b81b265689bf45b6874af544ffa4c975ac1ebf8" 12284 12313 dependencies = [ 12285 12314 "js-sys", 12286 12315 "wasm-bindgen", ··· 12288 12317 12289 12318 [[package]] 12290 12319 name = "wasm-bindgen-macro" 12291 - version = "0.2.117" 12320 + version = "0.2.118" 12292 12321 source = "registry+https://github.com/rust-lang/crates.io-index" 12293 - checksum = "7fbdf9a35adf44786aecd5ff89b4563a90325f9da0923236f6104e603c7e86be" 12322 + checksum = "eeff24f84126c0ec2db7a449f0c2ec963c6a49efe0698c4242929da037ca28ed" 12294 12323 dependencies = [ 12295 12324 "quote", 12296 12325 "wasm-bindgen-macro-support", ··· 12298 12327 12299 12328 [[package]] 12300 12329 name = "wasm-bindgen-macro-support" 12301 - version = "0.2.117" 12330 + version = "0.2.118" 12302 12331 source = "registry+https://github.com/rust-lang/crates.io-index" 12303 - checksum = "dca9693ef2bab6d4e6707234500350d8dad079eb508dca05530c85dc3a529ff2" 12332 + checksum = "9d08065faf983b2b80a79fd87d8254c409281cf7de75fc4b773019824196c904" 12304 12333 dependencies = [ 12305 12334 "bumpalo", 12306 12335 "proc-macro2", ··· 12311 12340 12312 12341 [[package]] 12313 12342 name = "wasm-bindgen-shared" 12314 - version = "0.2.117" 12343 + version = "0.2.118" 12315 12344 source = "registry+https://github.com/rust-lang/crates.io-index" 12316 - checksum = "39129a682a6d2d841b6c429d0c51e5cb0ed1a03829d8b3d1e69a011e62cb3d3b" 12345 + checksum = "5fd04d9e306f1907bd13c6361b5c6bfc7b3b3c095ed3f8a9246390f8dbdee129" 12317 12346 dependencies = [ 12318 12347 "unicode-ident", 12319 12348 ] ··· 12476 12505 12477 12506 [[package]] 12478 12507 name = "web-sys" 12479 - version = "0.3.94" 12508 + version = "0.3.95" 12480 12509 source = "registry+https://github.com/rust-lang/crates.io-index" 12481 - checksum = "cd70027e39b12f0849461e08ffc50b9cd7688d942c1c8e3c7b22273236b4dd0a" 12510 + checksum = "4f2dfbb17949fa2088e5d39408c48368947b86f7834484e87b73de55bc14d97d" 12482 12511 dependencies = [ 12483 12512 "js-sys", 12484 12513 "wasm-bindgen",
+10 -10
Cargo.toml
··· 114 114 iroh = { version = "0.97", default-features = false, features = ["address-lookup-mdns"] } 115 115 iroh-persist = "0.1.6" 116 116 itertools = "0.14" 117 - js = { package = "mozjs", version = "=0.15.5", default-features = false, features = ["libz-sys", "intl"] } 117 + js = { package = "mozjs", version = "=0.15.8", default-features = false, features = ["libz-sys", "intl"] } 118 118 jstraceable_derive = { package = "servo-jstraceable-derive", version = "0.1.0", path = "source/components/jstraceable_derive" } 119 119 keyboard-types = { version = "0.8.3", features = ["serde", "webdriver"] } 120 120 kurbo = { version = "0.12", features = ["euclid"] } ··· 182 182 sea-query = { version = "1.0.0-rc.30", default-features = false, features = ["backend-sqlite", "derive"] } 183 183 sea-query-rusqlite = { version = "0.8.0-rc.15" } 184 184 sec1 = "0.7" 185 - selectors = { git = "https://github.com/servo/stylo", rev = "ddf2109bdfff62c83a14e3a3c7dc1c6130653283" } 185 + selectors = { git = "https://github.com/servo/stylo", rev = "96ceb5405bd7ce10c4141c62e860d50745a75547" } 186 186 serde = "1.0.228" 187 187 serde_bytes = "0.11" 188 188 serde_core = "1.0.226" ··· 217 217 servo-media-webrtc = { version = "0.1.0", path = "source/components/media/webrtc" } 218 218 servo_allocator = { package = "servo-allocator", version = "0.1.0", path = "source/components/allocator" } 219 219 servo-tracing = { path = "source/components/servo_tracing" } 220 - servo_arc = { git = "https://github.com/servo/stylo", rev = "ddf2109bdfff62c83a14e3a3c7dc1c6130653283" } 220 + servo_arc = { git = "https://github.com/servo/stylo", rev = "96ceb5405bd7ce10c4141c62e860d50745a75547" } 221 221 servo-url = { version = "0.1.0", path = "source/components/url" } 222 222 sha1 = "0.10" 223 223 sha2 = "0.10" ··· 228 228 storage_traits = { package = "servo-storage-traits", path = "source/components/shared/storage" } 229 229 string_cache = "0.9" 230 230 strum = { version = "0.27", features = ["derive"] } 231 - stylo = { git = "https://github.com/servo/stylo", rev = "ddf2109bdfff62c83a14e3a3c7dc1c6130653283" } 232 - stylo_atoms = { git = "https://github.com/servo/stylo", rev = "ddf2109bdfff62c83a14e3a3c7dc1c6130653283" } 233 - stylo_config = { git = "https://github.com/servo/stylo", rev = "ddf2109bdfff62c83a14e3a3c7dc1c6130653283" } 234 - stylo_dom = { git = "https://github.com/servo/stylo", rev = "ddf2109bdfff62c83a14e3a3c7dc1c6130653283" } 235 - stylo_malloc_size_of = { git = "https://github.com/servo/stylo", rev = "ddf2109bdfff62c83a14e3a3c7dc1c6130653283" } 236 - stylo_static_prefs = { git = "https://github.com/servo/stylo", rev = "ddf2109bdfff62c83a14e3a3c7dc1c6130653283" } 237 - stylo_traits = { git = "https://github.com/servo/stylo", rev = "ddf2109bdfff62c83a14e3a3c7dc1c6130653283" } 231 + stylo = { git = "https://github.com/servo/stylo", rev = "96ceb5405bd7ce10c4141c62e860d50745a75547" } 232 + stylo_atoms = { git = "https://github.com/servo/stylo", rev = "96ceb5405bd7ce10c4141c62e860d50745a75547" } 233 + stylo_config = { git = "https://github.com/servo/stylo", rev = "96ceb5405bd7ce10c4141c62e860d50745a75547" } 234 + stylo_dom = { git = "https://github.com/servo/stylo", rev = "96ceb5405bd7ce10c4141c62e860d50745a75547" } 235 + stylo_malloc_size_of = { git = "https://github.com/servo/stylo", rev = "96ceb5405bd7ce10c4141c62e860d50745a75547" } 236 + stylo_static_prefs = { git = "https://github.com/servo/stylo", rev = "96ceb5405bd7ce10c4141c62e860d50745a75547" } 237 + stylo_traits = { git = "https://github.com/servo/stylo", rev = "96ceb5405bd7ce10c4141c62e860d50745a75547" } 238 238 surfman = { version = "0.11.0", features = ["chains"] } 239 239 syn = { version = "2", default-features = false, features = ["clone-impls", "derive", "parsing"] } 240 240 synstructure = "0.13"
+1 -1
forkme.lock
··· 1 - ceb8cf07c1b433dfe6e734b3ace58e2325a1592a 1 + fbb37acf15a24bb9424b7fd6f620b515c2413832
+9 -9
patches/components/constellation/constellation.rs.patch
··· 366 366 } else { 367 367 warn!("constellation got set final url message for dead pipeline"); 368 368 } 369 - @@ -2015,6 +2144,29 @@ 369 + @@ -2020,6 +2149,29 @@ 370 370 new_value, 371 371 ); 372 372 }, ··· 396 396 ScriptToConstellationMessage::MediaSessionEvent(pipeline_id, event) => { 397 397 // Unlikely at this point, but we may receive events coming from 398 398 // different media sessions, so we set the active media session based 399 - @@ -2034,7 +2186,12 @@ 399 + @@ -2039,7 +2191,12 @@ 400 400 } 401 401 self.active_media_session = Some(pipeline_id); 402 402 self.constellation_to_embedder_proxy.send( ··· 410 410 ); 411 411 }, 412 412 #[cfg(feature = "webgpu")] 413 - @@ -2089,7 +2246,839 @@ 413 + @@ -2094,7 +2251,839 @@ 414 414 let _ = event_loop.send(ScriptThreadMessage::TriggerGarbageCollection); 415 415 } 416 416 }, ··· 1250 1250 } 1251 1251 1252 1252 /// Check the origin of a message against that of the pipeline it came from. 1253 - @@ -2408,6 +3397,55 @@ 1253 + @@ -2413,6 +3402,55 @@ 1254 1254 TransferState::TransferInProgress(queue) => queue.push_back(task), 1255 1255 TransferState::CompletionFailed(queue) => queue.push_back(task), 1256 1256 TransferState::CompletionRequested(_, queue) => queue.push_back(task), ··· 1306 1306 } 1307 1307 } 1308 1308 1309 - @@ -3301,6 +4339,40 @@ 1309 + @@ -3306,6 +4344,40 @@ 1310 1310 /// <https://html.spec.whatwg.org/multipage/#destroy-a-top-level-traversable> 1311 1311 fn handle_close_top_level_browsing_context(&mut self, webview_id: WebViewId) { 1312 1312 debug!("{webview_id}: Closing"); ··· 1347 1347 let browsing_context_id = BrowsingContextId::from(webview_id); 1348 1348 // Step 5. Remove traversable from the user agent's top-level traversable set. 1349 1349 let browsing_context = 1350 - @@ -3577,8 +4649,27 @@ 1350 + @@ -3582,8 +4654,27 @@ 1351 1351 opener_webview_id, 1352 1352 opener_pipeline_id, 1353 1353 response_sender, ··· 1375 1375 let Some((webview_id_sender, webview_id_receiver)) = generic_channel::channel() else { 1376 1376 warn!("Failed to create channel"); 1377 1377 let _ = response_sender.send(None); 1378 - @@ -3679,6 +4770,398 @@ 1378 + @@ -3684,6 +4775,398 @@ 1379 1379 }); 1380 1380 } 1381 1381 ··· 1774 1774 #[servo_tracing::instrument(skip_all)] 1775 1775 fn handle_refresh_cursor(&self, pipeline_id: PipelineId) { 1776 1776 let Some(pipeline) = self.pipelines.get(&pipeline_id) else { 1777 - @@ -4818,7 +6301,7 @@ 1777 + @@ -4809,7 +6292,7 @@ 1778 1778 } 1779 1779 1780 1780 #[servo_tracing::instrument(skip_all)] ··· 1783 1783 // Send a flat projection of the history to embedder. 1784 1784 // The final vector is a concatenation of the URLs of the past 1785 1785 // entries, the current entry and the future entries. 1786 - @@ -4922,9 +6405,22 @@ 1786 + @@ -4913,9 +6396,22 @@ 1787 1787 self.constellation_to_embedder_proxy 1788 1788 .send(ConstellationToEmbedderMsg::HistoryChanged( 1789 1789 webview_id,
+3 -3
patches/components/constellation/tracing.rs.patch
··· 26 26 + Self::BroadcastPreferenceChange(..) => target!("BroadcastPreferenceChange"), 27 27 Self::ChangeRunningAnimationsState(..) => target!("ChangeRunningAnimationsState"), 28 28 Self::CreateCanvasPaintThread(..) => target!("CreateCanvasPaintThread"), 29 - Self::Focus(..) => target!("Focus"), 30 - @@ -164,6 +170,8 @@ 29 + Self::FocusAncestorBrowsingContextsForFocusingSteps(..) => { 30 + @@ -166,6 +172,8 @@ 31 31 Self::ScriptLoadedURLInIFrame(..) => target!("ScriptLoadedURLInIFrame"), 32 32 Self::ScriptNewIFrame(..) => target!("ScriptNewIFrame"), 33 33 Self::CreateAuxiliaryWebView(..) => target!("ScriptNewAuxiliary"), ··· 36 36 Self::ActivateDocument => target!("ActivateDocument"), 37 37 Self::SetDocumentState(..) => target!("SetDocumentState"), 38 38 Self::SetFinalUrl(..) => target!("SetFinalUrl"), 39 - @@ -187,6 +195,55 @@ 39 + @@ -189,6 +197,55 @@ 40 40 target!("RespondToScreenshotReadinessRequest") 41 41 }, 42 42 Self::TriggerGarbageCollection => target!("TriggerGarbageCollection"),
+3 -3
patches/components/layout/layout_impl.rs.patch
··· 1 1 --- original 2 2 +++ modified 3 - @@ -205,6 +205,10 @@ 3 + @@ -206,6 +206,10 @@ 4 4 /// Whether accessibility is active in this layout. 5 5 /// (Note: this is a temporary field which will be replaced with an optional accessibility tree member.) 6 6 accessibility_active: Cell<bool>, ··· 11 11 } 12 12 13 13 pub struct LayoutFactoryImpl(); 14 - @@ -245,12 +249,25 @@ 14 + @@ -246,12 +250,25 @@ 15 15 fn set_viewport_details(&mut self, viewport_details: ViewportDetails) -> bool { 16 16 let device = self.stylist.device_mut(); 17 17 let device_pixel_ratio = Scale::new(viewport_details.hidpi_scale_factor.get()); ··· 41 41 device.set_viewport_size(viewport_details.size); 42 42 device.set_device_pixel_ratio(device_pixel_ratio); 43 43 self.device_has_changed = true; 44 - @@ -729,6 +746,7 @@ 44 + @@ -730,6 +747,7 @@ 45 45 paint_timing_handler: Default::default(), 46 46 user_stylesheets: config.user_stylesheets, 47 47 accessibility_active: Cell::new(false),
+1 -1
patches/components/script/dom/document/document.rs.patch
··· 214 214 self.send_to_embedder(EmbedderMsg::NewFavicon(self.webview_id(), image.clone())); 215 215 } 216 216 } 217 - @@ -4682,6 +4800,20 @@ 217 + @@ -4689,6 +4807,20 @@ 218 218 pub(crate) fn set_css_styling_flag(&self, value: bool) { 219 219 self.css_styling_flag.set(value) 220 220 }
+1 -1
patches/components/script/dom/document/document_event_handler.rs.patch
··· 274 274 + if is_activation_event { 275 275 + embedded_iframe.dispatch_embedded_webview_event( 276 276 + EmbeddedWebViewEventType::InputReceived, 277 - + CanGc::note(), 277 + + CanGc::deprecated_note(), 278 278 + ); 279 279 + } 280 280 +
+1 -1
patches/components/script/dom/document/focus.rs.patch
··· 1 1 --- original 2 2 +++ modified 3 - @@ -190,6 +190,11 @@ 3 + @@ -179,6 +179,11 @@ 4 4 focus_initiator: FocusInitiator, 5 5 can_gc: CanGc, 6 6 ) {
+21 -8
patches/components/script/dom/html/htmlembeddedwebview.rs.patch
··· 1 1 --- original 2 2 +++ modified 3 - @@ -0,0 +1,1075 @@ 3 + @@ -0,0 +1,1088 @@ 4 4 +/* This Source Code Form is subject to the terms of the Mozilla Public 5 5 + * License, v. 2.0. If a copy of the MPL was not distributed with this 6 6 + * file, You can obtain one at https://mozilla.org/MPL/2.0/. */ ··· 199 199 + let mut permission_parameters = None; 200 200 + 201 201 + match &request { 202 - + EmbedderControlRequest::SelectElement(options, selected) => { 203 - + let select_options: Vec<EmbedderSelectOption> = options 202 + + EmbedderControlRequest::SelectElement(select_request) => { 203 + + if select_request.allow_select_multiple { 204 + + error!("Unsupported: multiple select options"); 205 + + return; 206 + + } 207 + + let select_options: Vec<EmbedderSelectOption> = select_request 208 + + .options 204 209 + .iter() 205 210 + .flat_map(|opt_or_group| match opt_or_group { 206 211 + embedder_traits::SelectElementOptionOrOptgroup::Option(opt) => { ··· 225 230 + .collect(), 226 231 + }) 227 232 + .collect(); 233 + + // For now we know there's a one selected option at most. 234 + + let selectedIndex = if select_request.selected_options.is_empty() { 235 + + -1 236 + + } else { 237 + + select_request.selected_options[0] as i32 238 + + }; 228 239 + select_parameters = Some(EmbedderSelectParameters { 229 240 + options: Some(select_options), 230 - + selectedIndex: selected.map(|i| i as i32).unwrap_or(-1), 241 + + selectedIndex, 231 242 + }); 232 243 + }, 233 244 + EmbedderControlRequest::ColorPicker(color) => { ··· 743 754 + &self, 744 755 + options: &ScreenshotOptions, 745 756 + ) -> Fallible<Rc<Promise>> { 746 - + let can_gc = CanGc::note(); 757 + + let can_gc = CanGc::deprecated_note(); 747 758 + 748 759 + // Must be an embedded webview 749 760 + let Some(webview_id) = self.embedded_webview_id() else { ··· 788 799 + } 789 800 + 790 801 + /// Respond to a select control request. 802 + + /// TODO: support multiple selection. 791 803 + pub(crate) fn embedded_respond_to_select_control( 792 804 + &self, 793 805 + control_id: DOMString, ··· 795 807 + ) -> Fallible<()> { 796 808 + let id = self.parse_control_id(&control_id)?; 797 809 + let response = if selected_index < 0 { 798 - + EmbedderControlResponse::SelectElement(None) 810 + + EmbedderControlResponse::SelectElement(vec![]) 799 811 + } else { 800 - + EmbedderControlResponse::SelectElement(Some(selected_index as usize)) 812 + + EmbedderControlResponse::SelectElement(vec![selected_index as usize]) 801 813 + }; 802 814 + self.send_control_response(id, response) 803 815 + } ··· 859 871 + } 860 872 + 861 873 + /// Cancel an embedder control request. 874 + + /// TODO: check if sending back SelectElement is correct 862 875 + pub(crate) fn embedded_cancel_embedder_control(&self, control_id: DOMString) -> Fallible<()> { 863 876 + let id = self.parse_control_id(&control_id)?; 864 - + let response = EmbedderControlResponse::SelectElement(None); 877 + + let response = EmbedderControlResponse::SelectElement(vec![]); 865 878 + self.send_control_response(id, response) 866 879 + } 867 880 +
+10 -10
patches/components/script/dom/navigator.rs.patch
··· 105 105 #[cfg(feature = "gamepad")] 106 106 pub(crate) fn get_gamepad(&self, index: usize) -> Option<DomRoot<Gamepad>> { 107 107 self.gamepads.borrow().get(index).and_then(|g| g.get()) 108 - @@ -566,6 +588,18 @@ 109 - .or_init(|| ServoInternals::new(&self.global(), CanGc::note())) 108 + @@ -567,6 +589,18 @@ 109 + .or_init(|| ServoInternals::new(&self.global(), CanGc::deprecated_note())) 110 110 } 111 111 112 112 + /// <https://servo.org/internal-no-spec> 113 - + fn Embedder(&self) -> DomRoot<Embedder> { 113 + + fn Embedder(&self, cx: &mut js::context::JSContext) -> DomRoot<Embedder> { 114 114 + self.embedder 115 - + .or_init(|| Embedder::new(&self.global(), CanGc::note())) 115 + + .or_init(|| Embedder::new(&self.global(), CanGc::from_cx(cx))) 116 116 + } 117 117 + 118 118 + /// <https://servo.org/internal-no-spec> 119 - + fn Keyboard(&self) -> DomRoot<Keyboard> { 119 + + fn Keyboard(&self, cx: &mut js::context::JSContext) -> DomRoot<Keyboard> { 120 120 + self.keyboard 121 - + .or_init(|| Keyboard::new(&self.global(), CanGc::note())) 121 + + .or_init(|| Keyboard::new(&self.global(), CanGc::from_cx(cx))) 122 122 + } 123 123 + 124 124 /// <https://html.spec.whatwg.org/multipage/#dom-navigator-registerprotocolhandler> 125 125 fn RegisterProtocolHandler(&self, scheme: DOMString, url: USVString) -> Fallible<()> { 126 126 // Step 1. Let (normalizedScheme, normalizedURLString) be the result of 127 - @@ -609,6 +643,214 @@ 127 + @@ -610,6 +644,214 @@ 128 128 self.user_activation 129 129 .or_init(|| UserActivation::new(&self.global(), can_gc)) 130 130 } ··· 332 332 + } 333 333 + 334 334 + /// <https://webbeef.org/atproto> 335 - + fn Atproto(&self) -> DomRoot<AtProto> { 335 + + fn Atproto(&self, cx: &mut js::context::JSContext) -> DomRoot<AtProto> { 336 336 + self.at_proto 337 - + .or_init(|| AtProto::new(&self.global(), CanGc::note())) 337 + + .or_init(|| AtProto::new(&self.global(), CanGc::from_cx(cx))) 338 338 + } 339 339 } 340 340 341 341 struct BeaconFetchListener { 342 - @@ -664,3 +906,40 @@ 342 + @@ -665,3 +907,40 @@ 343 343 self.global.root() 344 344 } 345 345 }
+11 -11
patches/components/script/dom/window.rs.patch
··· 22 22 use js::realm::CurrentRealm; 23 23 use js::rust::wrappers::JS_DefineProperty; 24 24 use js::rust::{ 25 - @@ -190,7 +191,7 @@ 25 + @@ -191,7 +192,7 @@ 26 26 use crate::messaging::{MainThreadScriptMsg, ScriptEventLoopReceiver, ScriptEventLoopSender}; 27 27 use crate::microtask::{Microtask, UserMicrotask}; 28 28 use crate::network_listener::{ResourceTimingListener, submit_timing}; ··· 31 31 use crate::script_runtime::{CanGc, JSContext as SafeJSContext, Runtime}; 32 32 use crate::script_thread::ScriptThread; 33 33 use crate::script_window_proxies::ScriptWindowProxies; 34 - @@ -1144,12 +1145,22 @@ 34 + @@ -1145,12 +1146,22 @@ 35 35 36 36 let (sender, receiver) = 37 37 ProfiledGenericChannel::channel(self.global().time_profiler_chan().clone()).unwrap(); ··· 55 55 receiver.recv().unwrap_or_else(|_| { 56 56 // If the receiver is closed, we assume the dialog was cancelled. 57 57 debug!("Alert dialog was cancelled or failed to show."); 58 - @@ -1177,13 +1188,22 @@ 58 + @@ -1178,13 +1189,22 @@ 59 59 // the user to respond with a positive or negative response. 60 60 let (sender, receiver) = 61 61 ProfiledGenericChannel::channel(self.global().time_profiler_chan().clone()).unwrap(); ··· 79 79 // Step 5: Let userPromptHandler be WebDriver BiDi user prompt opened with this, 80 80 // "confirm", and message. 81 81 // 82 - @@ -1228,6 +1248,7 @@ 82 + @@ -1229,6 +1249,7 @@ 83 83 // defaulted to the value given by default. 84 84 let (sender, receiver) = 85 85 ProfiledGenericChannel::channel(self.global().time_profiler_chan().clone()).unwrap(); ··· 87 87 let dialog = SimpleDialogRequest::Prompt { 88 88 id: self.Document().embedder_controls().next_control_id(), 89 89 message: message.to_string(), 90 - @@ -1234,8 +1255,16 @@ 90 + @@ -1235,8 +1256,16 @@ 91 91 default: default.to_string(), 92 92 response_sender: sender, 93 93 }; ··· 105 105 // Step 6: Let userPromptHandler be WebDriver BiDi user prompt opened with this, 106 106 // "prompt", and message. 107 107 // TODO: Add support for WebDriver BiDi. 108 - @@ -1710,6 +1739,26 @@ 108 + @@ -1723,6 +1752,26 @@ 109 109 // https://html.spec.whatwg.org/multipage/#windoweventhandlers 110 110 window_event_handlers!(); 111 111 ··· 132 132 /// <https://developer.mozilla.org/en-US/docs/Web/API/Window/screen> 133 133 fn Screen(&self, can_gc: CanGc) -> DomRoot<Screen> { 134 134 self.screen.or_init(|| Screen::new(self, can_gc)) 135 - @@ -3081,9 +3130,33 @@ 135 + @@ -3094,9 +3143,33 @@ 136 136 &self, 137 137 input_event: &ConstellationInputEvent, 138 138 ) -> Option<HitTestResult> { ··· 169 169 } 170 170 171 171 #[expect(unsafe_code)] 172 - @@ -3102,8 +3175,25 @@ 172 + @@ -3115,8 +3188,25 @@ 173 173 // SAFETY: This is safe because `Window::query_elements_from_point` has ensured that 174 174 // layout has run and any OpaqueNodes that no longer refer to real nodes are gone. 175 175 let address = UntrustedNodeAddress(result.node.0 as *const c_void); ··· 196 196 cursor: result.cursor, 197 197 point_in_node: result.point_in_target, 198 198 point_in_frame, 199 - @@ -3646,6 +3736,8 @@ 199 + @@ -3659,6 +3749,8 @@ 200 200 player_context: WindowGLContext, 201 201 #[cfg(feature = "webgpu")] gpu_id_hub: Arc<IdentityHub>, 202 202 inherited_secure_context: Option<bool>, ··· 205 205 theme: Theme, 206 206 weak_script_thread: Weak<ScriptThread>, 207 207 ) -> DomRoot<Self> { 208 - @@ -3672,6 +3764,8 @@ 208 + @@ -3685,6 +3777,8 @@ 209 209 gpu_id_hub, 210 210 inherited_secure_context, 211 211 unminify_js, ··· 214 214 Some(font_context), 215 215 ), 216 216 ongoing_navigation: Default::default(), 217 - @@ -3947,3 +4041,115 @@ 217 + @@ -3960,3 +4054,115 @@ 218 218 Self::create_named_properties_object(cx, proto, object) 219 219 } 220 220 }
+1 -1
patches/components/script/messaging.rs.patch
··· 1 1 --- original 2 2 +++ modified 3 - @@ -109,6 +109,13 @@ 3 + @@ -110,6 +110,13 @@ 4 4 ScriptThreadMessage::UpdatePinchZoomInfos(id, _) => Some(*id), 5 5 ScriptThreadMessage::SetAccessibilityActive(..) => None, 6 6 ScriptThreadMessage::TriggerGarbageCollection => None,
+10 -10
patches/components/script/script_thread.rs.patch
··· 55 55 use crate::dom::servoparser::{ParserContext, ServoParser}; 56 56 use crate::dom::types::DebuggerGlobalScope; 57 57 #[cfg(feature = "webgpu")] 58 - @@ -1935,12 +1943,51 @@ 58 + @@ -1938,12 +1946,51 @@ 59 59 self.handle_refresh_cursor(pipeline_id); 60 60 }, 61 61 ScriptThreadMessage::PreferencesUpdated(updates) => { ··· 111 111 ScriptThreadMessage::ForwardKeyboardScroll(pipeline_id, scroll) => { 112 112 if let Some(document) = self.documents.borrow().find_document(pipeline_id) { 113 113 document.event_handler().do_keyboard_scroll(scroll); 114 - @@ -1980,6 +2027,35 @@ 114 + @@ -1983,6 +2030,35 @@ 115 115 ScriptThreadMessage::TriggerGarbageCollection => unsafe { 116 116 JS_GC(*GlobalScope::get_cx(), GCReason::API); 117 117 }, ··· 147 147 } 148 148 } 149 149 150 - @@ -3023,6 +3099,9 @@ 150 + @@ -3012,6 +3088,9 @@ 151 151 .documents 152 152 .borrow() 153 153 .find_iframe(parent_pipeline_id, browsing_context_id); ··· 157 157 if let Some(frame_element) = frame_element { 158 158 frame_element.update_pipeline_id(new_pipeline_id, reason, cx); 159 159 } 160 - @@ -3042,6 +3121,7 @@ 160 + @@ -3031,6 +3110,7 @@ 161 161 // is no need to pass along existing opener information that 162 162 // will be discarded. 163 163 None, ··· 165 165 ); 166 166 } 167 167 } 168 - @@ -3326,6 +3406,155 @@ 168 + @@ -3315,6 +3395,155 @@ 169 169 } 170 170 } 171 171 ··· 321 321 fn ask_constellation_for_top_level_info( 322 322 &self, 323 323 sender_webview_id: WebViewId, 324 - @@ -3433,7 +3662,13 @@ 324 + @@ -3422,7 +3651,13 @@ 325 325 self.senders.pipeline_to_embedder_sender.clone(), 326 326 self.senders.constellation_sender.clone(), 327 327 incomplete.pipeline_id, ··· 336 336 incomplete.viewport_details, 337 337 origin.clone(), 338 338 final_url.clone(), 339 - @@ -3455,6 +3690,8 @@ 339 + @@ -3444,6 +3679,8 @@ 340 340 #[cfg(feature = "webgpu")] 341 341 self.gpu_id_hub.clone(), 342 342 incomplete.load_data.inherited_secure_context, ··· 345 345 incomplete.theme, 346 346 self.this.clone(), 347 347 ); 348 - @@ -3478,6 +3715,7 @@ 348 + @@ -3467,6 +3704,7 @@ 349 349 incomplete.webview_id, 350 350 incomplete.parent_info, 351 351 incomplete.opener, ··· 353 353 ); 354 354 if window_proxy.parent().is_some() { 355 355 // https://html.spec.whatwg.org/multipage/#navigating-across-documents:delaying-load-events-mode-2 356 - @@ -4309,10 +4547,78 @@ 356 + @@ -4298,10 +4536,78 @@ 357 357 document.event_handler().handle_refresh_cursor(); 358 358 } 359 359 ··· 432 432 fn handle_request_screenshot_readiness( 433 433 &self, 434 434 webview_id: WebViewId, 435 - @@ -4353,7 +4659,7 @@ 435 + @@ -4342,7 +4648,7 @@ 436 436 can_gc: CanGc, 437 437 ) { 438 438 let Some(window) = self.documents.borrow().find_window(pipeline_id) else {
+5 -3
patches/components/script_bindings/codegen/Bindings.conf.patch
··· 24 24 'EventSource': { 25 25 'weakReferenceable': True, 26 26 }, 27 - @@ -681,8 +691,8 @@ 27 + @@ -681,9 +691,9 @@ 28 28 }, 29 29 30 30 'Navigator': { 31 31 - 'inRealms': ['GetVRDisplays'], 32 32 - 'canGc': ['Languages', 'SendBeacon', 'UserActivation'], 33 + - 'cx': ['Clipboard'] 33 34 + 'inRealms': ['GetVRDisplays', 'CreatePeerStream', 'RequestTask'], 34 35 + 'canGc': ['Languages', 'SendBeacon', 'UserActivation', 'CreatePeerStream', 'RequestTask'], 35 - 'cx': ['Clipboard'] 36 + + 'cx': ['Atproto', 'Clipboard', 'Embedder', 'Keyboard'] 36 37 }, 37 38 39 + 'Node': { 38 40 @@ -716,6 +726,11 @@ 39 41 'cx': ['CreateLinearGradient', 'CreatePattern', 'CreateRadialGradient', 'GetTransform'], 40 42 }, ··· 56 58 + 'inRealms': ['AcceptTask'], 57 59 'additionalTraits': ['crate::interfaces::WindowHelpers'], 58 60 'realm': ['CreateImageBitmap', 'CreateImageBitmap_', 'WebdriverCallback', 'GetOpener', 'Fetch'], 59 - 'cx': ['GetLocalStorage', 'GetSessionStorage', 'Location', 'Open', 'PostMessage', 'PostMessage_', 'SetInterval', 'SetTimeout', 'Stop', 'TrustedTypes', 'WebdriverException'] 61 + 'cx': [
+1 -1
patches/components/servo/webview.rs.patch
··· 27 27 } 28 28 } 29 29 30 - @@ -782,6 +795,11 @@ 30 + @@ -781,6 +794,11 @@ 31 31 EmbedderControlRequest::FilePicker { .. } => { 32 32 unreachable!("This message should be routed through the FileManagerThread") 33 33 },
+2 -2
patches/components/servo/webview_delegate.rs.patch
··· 9 9 use servo_constellation_traits::EmbedderToConstellationMessage; 10 10 use tokio::sync::mpsc::UnboundedSender as TokioSender; 11 11 use tokio::sync::oneshot::Sender; 12 - @@ -968,6 +968,14 @@ 12 + @@ -971,6 +971,14 @@ 13 13 /// 14 14 /// [`window.open`]: https://developer.mozilla.org/en-US/docs/Web/API/Window/open 15 15 fn request_create_new(&self, _parent_webview: WebView, _request: CreateNewWebViewRequest) {} ··· 24 24 /// Content in a [`WebView`] is requesting permission to access a feature requiring 25 25 /// permission from the user. The embedder should allow or deny the request, either by 26 26 /// reading a cached value or querying the user for permission via the user interface. 27 - @@ -1026,6 +1034,25 @@ 27 + @@ -1029,6 +1037,25 @@ 28 28 _tree_update: accesskit::TreeUpdate, 29 29 ) { 30 30 }
+2 -2
patches/components/shared/constellation/from_script_message.rs.patch
··· 198 198 /// Indicates whether this pipeline is currently running animations. 199 199 ChangeRunningAnimationsState(AnimationState), 200 200 /// Requests that a new 2D canvas thread be created. (This is done in the constellation because 201 - @@ -676,6 +805,10 @@ 201 + @@ -677,6 +806,10 @@ 202 202 ScriptNewIFrame(IFrameLoadInfoWithData), 203 203 /// Script has opened a new auxiliary browsing context. 204 204 CreateAuxiliaryWebView(AuxiliaryWebViewCreationRequest), ··· 209 209 /// Mark a new document as active 210 210 ActivateDocument, 211 211 /// Set the document state for a pipeline (used by screenshot / reftests) 212 - @@ -725,6 +858,112 @@ 212 + @@ -726,6 +859,112 @@ 213 213 RespondToScreenshotReadinessRequest(ScreenshotReadinessResponse), 214 214 /// Request the constellation to force garbage collection in all `ScriptThread`'s. 215 215 TriggerGarbageCollection,
+9 -6
patches/components/shared/embedder/embedder_controls.rs.patch
··· 17 17 +#[derive(Clone, Debug, Deserialize, Serialize)] 18 18 pub enum EmbedderControlRequest { 19 19 /// Indicates that the user has activated a `<select>` element. 20 - SelectElement(Vec<SelectElementOptionOrOptgroup>, Option<usize>), 20 + SelectElement(SelectElementRequest), 21 21 @@ -44,6 +44,8 @@ 22 22 InputMethod(InputMethodRequest), 23 23 /// Indicates that the the user has triggered the display of a context menu. ··· 54 54 pub struct FilePickerRequest { 55 55 pub origin: ImmutableOrigin, 56 56 pub current_paths: Vec<PathBuf>, 57 - @@ -160,6 +162,16 @@ 57 + @@ -160,8 +162,18 @@ 58 58 pub accept_current_paths_for_testing: bool, 59 59 } 60 60 ··· 69 69 +} 70 70 + 71 71 /// Response from the embedder to an [`EmbedderControlRequest`]. 72 - #[derive(Debug, Deserialize, Serialize)] 73 - pub enum EmbedderControlResponse { 74 - @@ -167,6 +179,7 @@ 72 + -#[derive(Debug, Deserialize, Serialize)] 73 + +#[derive(Clone, Debug, Deserialize, Serialize)] 74 + pub struct SelectElementRequest { 75 + pub options: Vec<SelectElementOptionOrOptgroup>, 76 + pub selected_options: Vec<usize>, 77 + @@ -174,6 +186,7 @@ 75 78 ColorPicker(Option<RgbColor>), 76 79 FilePicker(Option<Vec<SelectedFile>>), 77 80 ContextMenu(Option<ContextMenuAction>), ··· 79 82 } 80 83 81 84 /// Response to file selection request 82 - @@ -181,7 +194,7 @@ 85 + @@ -188,7 +201,7 @@ 83 86 } 84 87 85 88 /// Request from Servo to the embedder with the details of the simple dialog to be displayed.
+2 -2
patches/components/shared/script/lib.rs.patch
··· 36 36 } 37 37 38 38 /// When a pipeline is closed, should its browsing context be discarded too? 39 - @@ -289,6 +298,15 @@ 39 + @@ -291,6 +300,15 @@ 40 40 SendImageKeysBatch(PipelineId, Vec<ImageKey>), 41 41 /// Preferences were updated in the parent process. 42 42 PreferencesUpdated(Vec<(String, PrefValue)>), ··· 52 52 /// Notify the `ScriptThread` that the Servo renderer is no longer waiting on 53 53 /// asynchronous image uploads for the given `Pipeline`. These are mainly used 54 54 /// by canvas to perform uploads while the display list is being built. 55 - @@ -325,6 +343,24 @@ 55 + @@ -327,6 +345,24 @@ 56 56 SetAccessibilityActive(PipelineId, bool), 57 57 /// Force a garbage collection in this script thread. 58 58 TriggerGarbageCollection,
+11
patches/components/storage/Cargo.toml.patch
··· 1 + --- original 2 + +++ modified 3 + @@ -22,7 +22,7 @@ 4 + net_traits = { workspace = true } 5 + postcard = { workspace = true } 6 + profile_traits = { workspace = true } 7 + -rusqlite = { version = "0.37", features = ["bundled"] } 8 + +rusqlite = { version = "0.38", features = ["bundled"] } 9 + rustc-hash = { workspace = true } 10 + sea-query = { workspace = true } 11 + sea-query-rusqlite = { workspace = true }
+2
ui/system/index_mobile.html
··· 23 23 <script type="module" src="notification_panel.js"></script> 24 24 <script type="module" src="media_control.js"></script> 25 25 <script type="module" src="toasts.js"></script> 26 + <script type="module" src="task_chooser.js"></script> 26 27 <script type="module" src="index.js"></script> 27 28 </head> 28 29 <body> ··· 46 47 <div id="root"></div> 47 48 </main> 48 49 <toast-manager id="toast-manager"></toast-manager> 50 + <task-chooser></task-chooser> 49 51 <footer id="footer"></footer> 50 52 </body> 51 53 </html>