Rewild Your Web
18
fork

Configure Feed

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

chore: update Servo to 71a5dfabdd7afd876123bddda4521696c8291e6f

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

webbeef 924a79ba e4819f89

+180 -303
+5 -4
Cargo.lock
··· 5363 5363 5364 5364 [[package]] 5365 5365 name = "jiff" 5366 - version = "0.2.23" 5366 + version = "0.2.24" 5367 5367 source = "registry+https://github.com/rust-lang/crates.io-index" 5368 - checksum = "1a3546dc96b6d42c5f24902af9e2538e82e39ad350b0c766eb3fbf2d8f3d8359" 5368 + checksum = "f00b5dbd620d61dfdcb6007c9c1f6054ebd75319f163d886a9055cec1155073d" 5369 5369 dependencies = [ 5370 5370 "jiff-static", 5371 5371 "log", ··· 5376 5376 5377 5377 [[package]] 5378 5378 name = "jiff-static" 5379 - version = "0.2.23" 5379 + version = "0.2.24" 5380 5380 source = "registry+https://github.com/rust-lang/crates.io-index" 5381 - checksum = "2a8c8b344124222efd714b73bb41f8b5120b27a7cc1c75593a6ff768d9d05aa4" 5381 + checksum = "e000de030ff8022ea1da3f466fbb0f3a809f5e51ed31f6dd931c35181ad8e6d7" 5382 5382 dependencies = [ 5383 5383 "proc-macro2", 5384 5384 "quote", ··· 10197 10197 "servo-script-traits", 10198 10198 "servo-storage-traits", 10199 10199 "servo-timers", 10200 + "servo-tracing", 10200 10201 "servo-url", 10201 10202 "servo-wakelock", 10202 10203 "servo-webgpu-traits",
+1 -1
forkme.lock
··· 1 - 1c4b0b57b82a7cc318ffefde73e9ba0cdaecddc8 1 + 71a5dfabdd7afd876123bddda4521696c8291e6f
+76 -200
patches/Cargo.lock.patch
··· 1 1 --- original 2 2 +++ modified 3 - @@ -635,6 +635,33 @@ 3 + @@ -633,6 +633,33 @@ 4 4 checksum = "21e4227379beff4205943696e6c3e0cd809bacdf3f0edd6e3dd153e2269571a4" 5 5 6 6 [[package]] ··· 34 34 name = "atspi" 35 35 version = "0.29.0" 36 36 source = "registry+https://github.com/rust-lang/crates.io-index" 37 - @@ -738,6 +765,12 @@ 37 + @@ -736,6 +763,12 @@ 38 38 ] 39 39 40 40 [[package]] ··· 47 47 name = "base16ct" 48 48 version = "0.2.0" 49 49 source = "registry+https://github.com/rust-lang/crates.io-index" 50 - @@ -744,6 +777,16 @@ 50 + @@ -742,6 +775,16 @@ 51 51 checksum = "4c7f02d4ea65f2c1853089ffd8d2787bdbc63de2f0d29dedbcf8ccdfa0ccd4cf" 52 52 53 53 [[package]] ··· 64 64 name = "base64" 65 65 version = "0.12.3" 66 66 source = "registry+https://github.com/rust-lang/crates.io-index" 67 - @@ -1119,6 +1162,15 @@ 67 + @@ -1117,6 +1160,15 @@ 68 68 ] 69 69 70 70 [[package]] ··· 80 80 name = "cc" 81 81 version = "1.2.60" 82 82 source = "registry+https://github.com/rust-lang/crates.io-index" 83 - @@ -1263,6 +1315,20 @@ 83 + @@ -1261,6 +1313,20 @@ 84 84 ] 85 85 86 86 [[package]] ··· 101 101 name = "cipher" 102 102 version = "0.4.4" 103 103 source = "registry+https://github.com/rust-lang/crates.io-index" 104 - @@ -1414,6 +1480,12 @@ 104 + @@ -1412,6 +1478,12 @@ 105 105 checksum = "c2459377285ad874054d797f3ccebf984978aa39129f6eafde5cdc8315b612f8" 106 106 107 107 [[package]] ··· 114 114 name = "content-security-policy" 115 115 version = "0.8.0" 116 116 source = "registry+https://github.com/rust-lang/crates.io-index" 117 - @@ -1493,7 +1565,7 @@ 117 + @@ -1491,7 +1563,7 @@ 118 118 "bitflags 1.3.2", 119 119 "core-foundation 0.9.4", 120 120 "core-graphics-types 0.1.3", ··· 123 123 "libc", 124 124 ] 125 125 126 - @@ -1527,11 +1599,20 @@ 126 + @@ -1525,11 +1597,20 @@ 127 127 dependencies = [ 128 128 "core-foundation 0.9.4", 129 129 "core-graphics", ··· 145 145 name = "core_maths" 146 146 version = "0.1.1" 147 147 source = "registry+https://github.com/rust-lang/crates.io-index" 148 - @@ -1595,6 +1676,12 @@ 148 + @@ -1593,6 +1674,12 @@ 149 149 ] 150 150 151 151 [[package]] ··· 158 158 name = "crossbeam-channel" 159 159 version = "0.5.15" 160 160 source = "registry+https://github.com/rust-lang/crates.io-index" 161 - @@ -1793,6 +1880,26 @@ 161 + @@ -1791,6 +1878,26 @@ 162 162 checksum = "d7a1e2f27636f116493b8b860f5546edb47c8d8f8ea73e1d2a20be88e28d1fea" 163 163 164 164 [[package]] ··· 185 185 name = "data-url" 186 186 version = "0.3.2" 187 187 source = "registry+https://github.com/rust-lang/crates.io-index" 188 - @@ -2172,6 +2279,7 @@ 188 + @@ -2170,6 +2277,7 @@ 189 189 checksum = "b5e6043086bf7973472e0c7dff2142ea0b680d30e18d9cc40f267efbf222bd47" 190 190 dependencies = [ 191 191 "base16ct", ··· 193 193 "crypto-bigint", 194 194 "digest", 195 195 "ff", 196 - @@ -2182,6 +2290,8 @@ 196 + @@ -2180,6 +2288,8 @@ 197 197 "pkcs8", 198 198 "rand_core 0.6.4", 199 199 "sec1", ··· 202 202 "subtle", 203 203 "zeroize", 204 204 ] 205 - @@ -2242,6 +2352,18 @@ 205 + @@ -2240,6 +2350,18 @@ 206 206 checksum = "66b7e2430c6dff6a955451e2cfc438f09cea1965a9d6f87f7e3b90decc014099" 207 207 208 208 [[package]] ··· 221 221 name = "enumflags2" 222 222 version = "0.7.12" 223 223 source = "registry+https://github.com/rust-lang/crates.io-index" 224 - @@ -2594,12 +2716,21 @@ 224 + @@ -2592,12 +2714,21 @@ 225 225 226 226 [[package]] 227 227 name = "foreign-types" ··· 244 244 ] 245 245 246 246 [[package]] 247 - @@ -2615,6 +2746,12 @@ 247 + @@ -2613,6 +2744,12 @@ 248 248 249 249 [[package]] 250 250 name = "foreign-types-shared" ··· 257 257 version = "0.3.1" 258 258 source = "registry+https://github.com/rust-lang/crates.io-index" 259 259 checksum = "aa9a19cbb55df58761df49b23516a86d432839add4af60fc256da840f66ed35b" 260 - @@ -2822,8 +2959,10 @@ 260 + @@ -2820,8 +2957,10 @@ 261 261 checksum = "ff2abc00be7fca6ebc474524697ae276ad847ad0a6b3faa4bcb027e9a4614ad0" 262 262 dependencies = [ 263 263 "cfg-if", ··· 268 268 ] 269 269 270 270 [[package]] 271 - @@ -2833,9 +2972,11 @@ 271 + @@ -2831,9 +2970,11 @@ 272 272 checksum = "899def5c37c4fd7b2664648c28120ecec138e4d395b459e5ca34f9cce2dd77fd" 273 273 dependencies = [ 274 274 "cfg-if", ··· 280 280 ] 281 281 282 282 [[package]] 283 - @@ -3497,7 +3638,7 @@ 283 + @@ -3495,7 +3636,7 @@ 284 284 "cc", 285 285 "core-graphics", 286 286 "core-text", ··· 289 289 "freetype-sys", 290 290 "pkg-config", 291 291 "winapi", 292 - @@ -3611,6 +3752,52 @@ 292 + @@ -3609,6 +3750,52 @@ 293 293 checksum = "dfa686283ad6dd069f105e5ab091b04c62850d3e4cf5d67debad1933f55023df" 294 294 295 295 [[package]] ··· 342 342 name = "hilog" 343 343 version = "0.2.2" 344 344 source = "registry+https://github.com/rust-lang/crates.io-index" 345 - @@ -3789,6 +3976,22 @@ 345 + @@ -3787,6 +3974,22 @@ 346 346 ] 347 347 348 348 [[package]] ··· 365 365 name = "hyper-util" 366 366 version = "0.1.20" 367 367 source = "registry+https://github.com/rust-lang/crates.io-index" 368 - @@ -3809,6 +4012,7 @@ 368 + @@ -3807,6 +4010,7 @@ 369 369 "tokio", 370 370 "tower-service", 371 371 "tracing", ··· 373 373 ] 374 374 375 375 [[package]] 376 - @@ -4423,6 +4627,29 @@ 376 + @@ -4421,6 +4625,29 @@ 377 377 ] 378 378 379 379 [[package]] ··· 403 403 name = "ipnet" 404 404 version = "2.12.0" 405 405 source = "registry+https://github.com/rust-lang/crates.io-index" 406 - @@ -4429,6 +4656,16 @@ 406 + @@ -4427,6 +4654,16 @@ 407 407 checksum = "d98f6fed1fde3f8c21bc40a1abb88dd75e67924f9cffc3ef95607bad8017f8e2" 408 408 409 409 [[package]] ··· 420 420 name = "is-terminal" 421 421 version = "0.4.17" 422 422 source = "registry+https://github.com/rust-lang/crates.io-index" 423 - @@ -4589,6 +4826,20 @@ 423 + @@ -4601,6 +4838,20 @@ 424 424 ] 425 425 426 426 [[package]] ··· 441 441 name = "keccak" 442 442 version = "0.1.6" 443 443 source = "registry+https://github.com/rust-lang/crates.io-index" 444 - @@ -4899,6 +5150,17 @@ 444 + @@ -4911,6 +5162,17 @@ 445 445 ] 446 446 447 447 [[package]] ··· 459 459 name = "matchers" 460 460 version = "0.2.0" 461 461 source = "registry+https://github.com/rust-lang/crates.io-index" 462 - @@ -4950,7 +5212,7 @@ 463 - "bitflags 2.11.0", 462 + @@ -4962,7 +5224,7 @@ 463 + "bitflags 2.11.1", 464 464 "block", 465 465 "core-graphics-types 0.2.0", 466 466 - "foreign-types", ··· 468 468 "log", 469 469 "objc", 470 470 "paste", 471 - @@ -5042,6 +5304,23 @@ 471 + @@ -5054,6 +5316,23 @@ 472 472 ] 473 473 474 474 [[package]] ··· 492 492 name = "mozangle" 493 493 version = "0.5.5" 494 494 source = "registry+https://github.com/rust-lang/crates.io-index" 495 - @@ -5094,6 +5373,29 @@ 495 + @@ -5106,6 +5385,29 @@ 496 496 checksum = "956787520e75e9bd233246045d19f42fb73242759cc57fba9611d940ae96d4b0" 497 497 498 498 [[package]] ··· 522 522 name = "naga" 523 523 version = "26.0.0" 524 524 source = "registry+https://github.com/rust-lang/crates.io-index" 525 - @@ -5177,6 +5479,23 @@ 525 + @@ -5189,6 +5491,23 @@ 526 526 ] 527 527 528 528 [[package]] ··· 546 546 name = "ndk" 547 547 version = "0.9.0" 548 548 source = "registry+https://github.com/rust-lang/crates.io-index" 549 - @@ -5912,6 +6231,10 @@ 549 + @@ -5924,6 +6243,10 @@ 550 550 version = "1.21.4" 551 551 source = "registry+https://github.com/rust-lang/crates.io-index" 552 552 checksum = "9f7c3e4beb33f85d45ae3e3a1792185706c8e16d043238c593331cc7cd313b50" ··· 557 557 558 558 [[package]] 559 559 name = "once_cell_polyfill" 560 - @@ -5932,6 +6255,32 @@ 560 + @@ -5944,6 +6267,32 @@ 561 561 checksum = "c08d65885ee38876c4f86fa503fb49d7b507c2b62552df7c70b2fce627e06381" 562 562 563 563 [[package]] ··· 590 590 name = "openssl-probe" 591 591 version = "0.2.1" 592 592 source = "registry+https://github.com/rust-lang/crates.io-index" 593 - @@ -5938,6 +6287,18 @@ 593 + @@ -5950,6 +6299,18 @@ 594 594 checksum = "7c87def4c32ab89d880effc9e097653c8da5d6ef28e6b539d313baaacfbafcbe" 595 595 596 596 [[package]] ··· 609 609 name = "openxr" 610 610 version = "0.20.0" 611 611 source = "registry+https://github.com/rust-lang/crates.io-index" 612 - @@ -6597,6 +6958,61 @@ 612 + @@ -6609,6 +6970,61 @@ 613 613 ] 614 614 615 615 [[package]] ··· 671 671 name = "quote" 672 672 version = "1.0.45" 673 673 source = "registry+https://github.com/rust-lang/crates.io-index" 674 - @@ -6918,6 +7334,56 @@ 674 + @@ -6930,6 +7346,56 @@ 675 675 checksum = "19b30a45b0cd0bcca8037f3d0dc3421eaf95327a17cad11964fb8179b4fc4832" 676 676 677 677 [[package]] ··· 728 728 name = "resvg" 729 729 version = "0.45.1" 730 730 source = "registry+https://github.com/rust-lang/crates.io-index" 731 - @@ -7084,6 +7550,7 @@ 731 + @@ -7096,6 +7562,7 @@ 732 732 "aws-lc-rs", 733 733 "log", 734 734 "once_cell", ··· 736 736 "rustls-pki-types", 737 737 "rustls-webpki", 738 738 "subtle", 739 - @@ -7108,6 +7575,7 @@ 739 + @@ -7120,6 +7587,7 @@ 740 740 source = "registry+https://github.com/rust-lang/crates.io-index" 741 741 checksum = "be040f8b0a225e40375822a563fa9524378b9d63112f53e19ffff34df5d33fdd" 742 742 dependencies = [ ··· 744 744 "zeroize", 745 745 ] 746 746 747 - @@ -7279,6 +7747,7 @@ 747 + @@ -7291,6 +7759,7 @@ 748 748 "der", 749 749 "generic-array", 750 750 "pkcs8", ··· 752 752 "subtle", 753 753 "zeroize", 754 754 ] 755 - @@ -7391,6 +7860,18 @@ 755 + @@ -7403,6 +7872,18 @@ 756 756 ] 757 757 758 758 [[package]] ··· 771 771 name = "serde_json" 772 772 version = "1.0.149" 773 773 source = "registry+https://github.com/rust-lang/crates.io-index" 774 - @@ -7446,6 +7927,16 @@ 774 + @@ -7458,6 +7939,16 @@ 775 775 ] 776 776 777 777 [[package]] ··· 788 788 name = "servo" 789 789 version = "0.1.0" 790 790 dependencies = [ 791 - @@ -7699,6 +8190,7 @@ 791 + @@ -7711,6 +8202,7 @@ 792 792 "rand 0.9.2", 793 793 "rustc-hash 2.1.2", 794 794 "serde", ··· 796 796 "servo-background-hang-monitor", 797 797 "servo-background-hang-monitor-api", 798 798 "servo-base", 799 - @@ -7726,6 +8218,8 @@ 799 + @@ -7738,6 +8230,8 @@ 800 800 "servo-webxr-api", 801 801 "stylo", 802 802 "stylo_traits", ··· 805 805 "tracing", 806 806 ] 807 807 808 - @@ -8348,9 +8842,11 @@ 808 + @@ -8360,9 +8854,11 @@ 809 809 name = "servo-net" 810 810 version = "0.1.0" 811 811 dependencies = [ ··· 817 817 "base64 0.22.1", 818 818 "bytes", 819 819 "chrono", 820 - @@ -8381,6 +8877,7 @@ 820 + @@ -8393,6 +8889,7 @@ 821 821 "parking_lot", 822 822 "quick_cache", 823 823 "regex", ··· 825 825 "resvg", 826 826 "rustc-hash 2.1.2", 827 827 "rustls", 828 - @@ -8387,9 +8884,11 @@ 828 + @@ -8399,9 +8896,11 @@ 829 829 "rustls-pki-types", 830 830 "rustls-platform-verifier", 831 831 "serde", ··· 837 837 "servo-devtools-traits", 838 838 "servo-embedder-traits", 839 839 "servo-hyper-serde", 840 - @@ -8403,6 +8902,7 @@ 840 + @@ -8415,6 +8914,7 @@ 841 841 "servo-url", 842 842 "servo_arc", 843 843 "sha2", ··· 845 845 "time", 846 846 "tokio", 847 847 "tokio-rustls", 848 - @@ -8439,6 +8939,7 @@ 848 + @@ -8451,6 +8951,7 @@ 849 849 "rustc-hash 2.1.2", 850 850 "rustls-pki-types", 851 851 "serde", ··· 853 853 "servo-base", 854 854 "servo-config", 855 855 "servo-default-resources", 856 - @@ -8450,8 +8951,10 @@ 856 + @@ -8462,8 +8963,10 @@ 857 857 "servo-profile-traits", 858 858 "servo-url", 859 859 "servo_arc", ··· 864 864 "url", 865 865 "uuid", 866 866 "webrender_api", 867 - @@ -9025,6 +9528,7 @@ 867 + @@ -9038,6 +9541,7 @@ 868 868 "bpaf", 869 869 "cc", 870 870 "cfg-if", ··· 872 872 "crossbeam-channel", 873 873 "dirs", 874 874 "dpi", 875 - @@ -9039,6 +9543,7 @@ 875 + @@ -9052,6 +9556,7 @@ 876 876 "headers", 877 877 "hilog", 878 878 "hitrace", 879 879 + "http 1.4.0", 880 880 "image", 881 881 "ipc-channel", 882 - "jni 0.21.1", 883 - @@ -9059,6 +9564,7 @@ 882 + "jni 0.22.4", 883 + @@ -9072,6 +9577,7 @@ 884 884 "ohos-window-manager-sys", 885 885 "raw-window-handle", 886 886 "rustls", ··· 888 888 "serde_json", 889 889 "servo", 890 890 "servo-allocator", 891 - @@ -9065,6 +9571,7 @@ 891 + @@ -9078,6 +9584,7 @@ 892 892 "servo-base", 893 893 "servo-webdriver-server", 894 894 "signal-hook-registry", ··· 896 896 "surfman", 897 897 "tokio", 898 898 "tracing", 899 - @@ -9620,6 +10127,9 @@ 899 + @@ -9649,6 +10156,9 @@ 900 900 version = "1.0.2" 901 901 source = "registry+https://github.com/rust-lang/crates.io-index" 902 902 checksum = "0bf256ce5efdfa370213c1dabab5935a12e49f2c58d15e9eac2870d3b4f27263" ··· 906 906 907 907 [[package]] 908 908 name = "synstructure" 909 - @@ -9654,6 +10164,27 @@ 909 + @@ -9683,6 +10193,27 @@ 910 910 ] 911 911 912 912 [[package]] ··· 934 934 name = "system-deps" 935 935 version = "6.2.2" 936 936 source = "registry+https://github.com/rust-lang/crates.io-index" 937 - @@ -9692,6 +10223,12 @@ 937 + @@ -9721,6 +10252,12 @@ 938 938 ] 939 939 940 940 [[package]] ··· 947 947 name = "tar" 948 948 version = "0.4.45" 949 949 source = "registry+https://github.com/rust-lang/crates.io-index" 950 - @@ -9999,6 +10536,16 @@ 950 + @@ -10028,6 +10565,16 @@ 951 951 ] 952 952 953 953 [[package]] ··· 964 964 name = "tokio-rustls" 965 965 version = "0.26.4" 966 966 source = "registry+https://github.com/rust-lang/crates.io-index" 967 - @@ -10120,6 +10667,25 @@ 967 + @@ -10149,11 +10696,30 @@ 968 968 "futures-util", 969 969 "pin-project-lite", 970 970 "sync_wrapper", 971 971 + "tokio", 972 - + "tower-layer", 973 - + "tower-service", 974 - +] 975 - + 976 - +[[package]] 972 + "tower-layer", 973 + "tower-service", 974 + ] 975 + 976 + [[package]] 977 977 +name = "tower-http" 978 978 +version = "0.6.8" 979 979 +source = "registry+https://github.com/rust-lang/crates.io-index" ··· 987 987 + "iri-string", 988 988 + "pin-project-lite", 989 989 + "tower", 990 - "tower-layer", 991 - "tower-service", 992 - ] 993 - @@ -10403,6 +10969,12 @@ 990 + + "tower-layer", 991 + + "tower-service", 992 + +] 993 + + 994 + +[[package]] 995 + name = "tower-layer" 996 + version = "0.3.3" 997 + source = "registry+https://github.com/rust-lang/crates.io-index" 998 + @@ -10432,6 +10998,12 @@ 994 999 ] 995 1000 996 1001 [[package]] ··· 1003 1008 name = "untrusted" 1004 1009 version = "0.9.0" 1005 1010 source = "registry+https://github.com/rust-lang/crates.io-index" 1006 - @@ -10422,6 +10994,12 @@ 1011 + @@ -10451,6 +11023,12 @@ 1007 1012 ] 1008 1013 1009 1014 [[package]] ··· 1016 1021 name = "urlpattern" 1017 1022 version = "0.3.0" 1018 1023 source = "registry+https://github.com/rust-lang/crates.io-index" 1019 - @@ -11212,6 +11790,12 @@ 1024 + @@ -11241,6 +11819,12 @@ 1020 1025 ] 1021 1026 1022 1027 [[package]] ··· 1029 1034 name = "winapi" 1030 1035 version = "0.3.9" 1031 1036 source = "registry+https://github.com/rust-lang/crates.io-index" 1032 - @@ -11433,6 +12017,17 @@ 1037 + @@ -11462,6 +12046,17 @@ 1033 1038 ] 1034 1039 1035 1040 [[package]] ··· 1047 1052 name = "windows-result" 1048 1053 version = "0.2.0" 1049 1054 source = "registry+https://github.com/rust-lang/crates.io-index" 1050 - @@ -11498,6 +12093,15 @@ 1051 - 1052 - [[package]] 1053 - name = "windows-sys" 1054 - +version = "0.48.0" 1055 - +source = "registry+https://github.com/rust-lang/crates.io-index" 1056 - +checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9" 1057 - +dependencies = [ 1058 - + "windows-targets 0.48.5", 1059 - +] 1060 - + 1061 - +[[package]] 1062 - +name = "windows-sys" 1063 - version = "0.52.0" 1064 - source = "registry+https://github.com/rust-lang/crates.io-index" 1065 - checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" 1066 - @@ -11531,6 +12135,21 @@ 1067 - 1068 - [[package]] 1069 - name = "windows-targets" 1070 - +version = "0.48.5" 1071 - +source = "registry+https://github.com/rust-lang/crates.io-index" 1072 - +checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c" 1073 - +dependencies = [ 1074 - + "windows_aarch64_gnullvm 0.48.5", 1075 - + "windows_aarch64_msvc 0.48.5", 1076 - + "windows_i686_gnu 0.48.5", 1077 - + "windows_i686_msvc 0.48.5", 1078 - + "windows_x86_64_gnu 0.48.5", 1079 - + "windows_x86_64_gnullvm 0.48.5", 1080 - + "windows_x86_64_msvc 0.48.5", 1081 - +] 1082 - + 1083 - +[[package]] 1084 - +name = "windows-targets" 1085 - version = "0.52.6" 1086 - source = "registry+https://github.com/rust-lang/crates.io-index" 1087 - checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973" 1088 - @@ -11571,6 +12190,12 @@ 1089 - 1090 - [[package]] 1091 - name = "windows_aarch64_gnullvm" 1092 - +version = "0.48.5" 1093 - +source = "registry+https://github.com/rust-lang/crates.io-index" 1094 - +checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" 1095 - + 1096 - +[[package]] 1097 - +name = "windows_aarch64_gnullvm" 1098 - version = "0.52.6" 1099 - source = "registry+https://github.com/rust-lang/crates.io-index" 1100 - checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" 1101 - @@ -11583,6 +12208,12 @@ 1102 - 1103 - [[package]] 1104 - name = "windows_aarch64_msvc" 1105 - +version = "0.48.5" 1106 - +source = "registry+https://github.com/rust-lang/crates.io-index" 1107 - +checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" 1108 - + 1109 - +[[package]] 1110 - +name = "windows_aarch64_msvc" 1111 - version = "0.52.6" 1112 - source = "registry+https://github.com/rust-lang/crates.io-index" 1113 - checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" 1114 - @@ -11595,6 +12226,12 @@ 1115 - 1116 - [[package]] 1117 - name = "windows_i686_gnu" 1118 - +version = "0.48.5" 1119 - +source = "registry+https://github.com/rust-lang/crates.io-index" 1120 - +checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" 1121 - + 1122 - +[[package]] 1123 - +name = "windows_i686_gnu" 1124 - version = "0.52.6" 1125 - source = "registry+https://github.com/rust-lang/crates.io-index" 1126 - checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b" 1127 - @@ -11613,6 +12250,12 @@ 1128 - 1129 - [[package]] 1130 - name = "windows_i686_msvc" 1131 - +version = "0.48.5" 1132 - +source = "registry+https://github.com/rust-lang/crates.io-index" 1133 - +checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" 1134 - + 1135 - +[[package]] 1136 - +name = "windows_i686_msvc" 1137 - version = "0.52.6" 1138 - source = "registry+https://github.com/rust-lang/crates.io-index" 1139 - checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" 1140 - @@ -11625,6 +12268,12 @@ 1141 - 1142 - [[package]] 1143 - name = "windows_x86_64_gnu" 1144 - +version = "0.48.5" 1145 - +source = "registry+https://github.com/rust-lang/crates.io-index" 1146 - +checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" 1147 - + 1148 - +[[package]] 1149 - +name = "windows_x86_64_gnu" 1150 - version = "0.52.6" 1151 - source = "registry+https://github.com/rust-lang/crates.io-index" 1152 - checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78" 1153 - @@ -11637,6 +12286,12 @@ 1154 - 1155 - [[package]] 1156 - name = "windows_x86_64_gnullvm" 1157 - +version = "0.48.5" 1158 - +source = "registry+https://github.com/rust-lang/crates.io-index" 1159 - +checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" 1160 - + 1161 - +[[package]] 1162 - +name = "windows_x86_64_gnullvm" 1163 - version = "0.52.6" 1164 - source = "registry+https://github.com/rust-lang/crates.io-index" 1165 - checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d" 1166 - @@ -11649,6 +12304,12 @@ 1167 - 1168 - [[package]] 1169 - name = "windows_x86_64_msvc" 1170 - +version = "0.48.5" 1171 - +source = "registry+https://github.com/rust-lang/crates.io-index" 1172 - +checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" 1173 - + 1174 - +[[package]] 1175 - +name = "windows_x86_64_msvc" 1176 - version = "0.52.6" 1177 - source = "registry+https://github.com/rust-lang/crates.io-index" 1178 - checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" 1179 - @@ -11715,6 +12376,16 @@ 1055 + @@ -11678,6 +12273,16 @@ 1180 1056 ] 1181 1057 1182 1058 [[package]]
+25 -25
patches/components/constellation/constellation.rs.patch
··· 227 227 self.process_manager.register(&mut sel); 228 228 229 229 let request = { 230 - @@ -1297,9 +1380,13 @@ 230 + @@ -1299,9 +1382,13 @@ 231 231 .recv(&self.swmanager_receiver) 232 232 .expect("Unexpected SW channel panic in constellation") 233 233 .map(Request::FromSWManager), ··· 242 242 let _ = oper.recv(self.process_manager.receiver_at(process_index)); 243 243 Ok(Request::RemoveProcess(process_index)) 244 244 }, 245 - @@ -1325,6 +1412,9 @@ 245 + @@ -1327,6 +1414,9 @@ 246 246 Request::FromSWManager(message) => { 247 247 self.handle_request_from_swmanager(message); 248 248 }, ··· 252 252 Request::RemoveProcess(index) => self.process_manager.remove(index), 253 253 } 254 254 } 255 - @@ -1565,11 +1655,7 @@ 255 + @@ -1568,11 +1658,7 @@ 256 256 } 257 257 }, 258 258 EmbedderToConstellationMessage::PreferencesUpdated(updates) => { ··· 265 265 let _ = event_loop.send(ScriptThreadMessage::PreferencesUpdated( 266 266 updates 267 267 .iter() 268 - @@ -1596,6 +1682,18 @@ 268 + @@ -1599,6 +1685,18 @@ 269 269 EmbedderToConstellationMessage::SetAccessibilityActive(webview_id, active) => { 270 270 self.set_accessibility_active(webview_id, active); 271 271 }, ··· 284 284 } 285 285 } 286 286 287 - @@ -1793,7 +1891,13 @@ 287 + @@ -1796,7 +1894,13 @@ 288 288 return warn!("Attempt to add channel name from an unexpected origin."); 289 289 } 290 290 self.broadcast_channels ··· 299 299 }, 300 300 ScriptToConstellationMessage::RemoveBroadcastChannelNameInRouter( 301 301 router_id, 302 - @@ -1807,7 +1911,13 @@ 302 + @@ -1810,7 +1914,13 @@ 303 303 return warn!("Attempt to remove channel name from an unexpected origin."); 304 304 } 305 305 self.broadcast_channels ··· 314 314 }, 315 315 ScriptToConstellationMessage::RemoveBroadcastChannelRouter(router_id, origin) => { 316 316 if self 317 - @@ -1819,6 +1929,12 @@ 317 + @@ -1822,6 +1932,12 @@ 318 318 self.broadcast_channels 319 319 .remove_broadcast_channel_router(router_id); 320 320 }, ··· 327 327 ScriptToConstellationMessage::ScheduleBroadcast(router_id, message) => { 328 328 if self 329 329 .check_origin_against_pipeline(&source_pipeline_id, &message.origin) 330 - @@ -1828,8 +1944,15 @@ 330 + @@ -1831,8 +1947,15 @@ 331 331 "Attempt to schedule broadcast from an origin not matching the origin of the msg." 332 332 ); 333 333 } ··· 344 344 }, 345 345 ScriptToConstellationMessage::PipelineExited => { 346 346 self.handle_pipeline_exited(source_pipeline_id); 347 - @@ -1849,6 +1972,12 @@ 347 + @@ -1852,6 +1975,12 @@ 348 348 ScriptToConstellationMessage::CreateAuxiliaryWebView(load_info) => { 349 349 self.handle_script_new_auxiliary(load_info); 350 350 }, ··· 357 357 ScriptToConstellationMessage::ChangeRunningAnimationsState(animation_state) => { 358 358 self.handle_change_running_animations_state(source_pipeline_id, animation_state) 359 359 }, 360 - @@ -1900,7 +2029,7 @@ 360 + @@ -1903,7 +2032,7 @@ 361 361 ScriptToConstellationMessage::SetFinalUrl(final_url) => { 362 362 // The script may have finished loading after we already started shutting down. 363 363 if let Some(ref mut pipeline) = self.pipelines.get_mut(&source_pipeline_id) { ··· 366 366 } else { 367 367 warn!("constellation got set final url message for dead pipeline"); 368 368 } 369 - @@ -2046,6 +2175,29 @@ 369 + @@ -2049,6 +2178,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 - @@ -2065,8 +2217,13 @@ 399 + @@ -2068,8 +2220,13 @@ 400 400 } 401 401 self.active_media_session = Some(pipeline_id); 402 402 self.constellation_to_embedder_proxy.send( ··· 411 411 }, 412 412 #[cfg(feature = "webgpu")] 413 413 ScriptToConstellationMessage::RequestAdapter(response_sender, options, ids) => self 414 - @@ -2140,7 +2297,862 @@ 414 + @@ -2143,7 +2300,862 @@ 415 415 } 416 416 }, 417 417 }, ··· 1274 1274 } 1275 1275 1276 1276 /// Check the origin of a message against that of the pipeline it came from. 1277 - @@ -2459,6 +3471,55 @@ 1277 + @@ -2462,6 +3474,55 @@ 1278 1278 TransferState::TransferInProgress(queue) => queue.push_back(task), 1279 1279 TransferState::CompletionFailed(queue) => queue.push_back(task), 1280 1280 TransferState::CompletionRequested(_, queue) => queue.push_back(task), ··· 1330 1330 } 1331 1331 } 1332 1332 1333 - @@ -3358,6 +4419,40 @@ 1333 + @@ -3361,6 +4422,40 @@ 1334 1334 /// <https://html.spec.whatwg.org/multipage/#destroy-a-top-level-traversable> 1335 1335 fn handle_close_top_level_browsing_context(&mut self, webview_id: WebViewId) { 1336 1336 debug!("{webview_id}: Closing"); ··· 1371 1371 let browsing_context_id = BrowsingContextId::from(webview_id); 1372 1372 // Step 5. Remove traversable from the user agent's top-level traversable set. 1373 1373 let browsing_context = 1374 - @@ -3634,8 +4729,27 @@ 1374 + @@ -3637,8 +4732,27 @@ 1375 1375 opener_webview_id, 1376 1376 opener_pipeline_id, 1377 1377 response_sender, ··· 1399 1399 let Some((webview_id_sender, webview_id_receiver)) = generic_channel::channel() else { 1400 1400 warn!("Failed to create channel"); 1401 1401 let _ = response_sender.send(None); 1402 - @@ -3734,6 +4848,395 @@ 1402 + @@ -3737,6 +4851,395 @@ 1403 1403 }); 1404 1404 } 1405 1405 ··· 1795 1795 #[servo_tracing::instrument(skip_all)] 1796 1796 fn handle_refresh_cursor(&self, pipeline_id: PipelineId) { 1797 1797 let Some(pipeline) = self.pipelines.get(&pipeline_id) else { 1798 - @@ -4283,7 +5786,7 @@ 1798 + @@ -4286,7 +5789,7 @@ 1799 1799 }, 1800 1800 }; 1801 1801 ··· 1804 1804 match self.browsing_contexts.get_mut(&browsing_context_id) { 1805 1805 Some(browsing_context) => { 1806 1806 let old_pipeline_id = browsing_context.pipeline_id; 1807 - @@ -4292,6 +5795,7 @@ 1807 + @@ -4295,6 +5798,7 @@ 1808 1808 old_pipeline_id, 1809 1809 browsing_context.parent_pipeline_id, 1810 1810 browsing_context.webview_id, ··· 1812 1812 ) 1813 1813 }, 1814 1814 None => { 1815 - @@ -4301,6 +5805,15 @@ 1815 + @@ -4304,6 +5808,15 @@ 1816 1816 1817 1817 self.unload_document(old_pipeline_id); 1818 1818 ··· 1828 1828 if let Some(new_pipeline) = self.pipelines.get(&new_pipeline_id) { 1829 1829 if let Some(ref chan) = self.devtools_sender { 1830 1830 let state = NavigationState::Start(new_pipeline.url.clone()); 1831 - @@ -4859,7 +6372,7 @@ 1831 + @@ -4862,7 +6375,7 @@ 1832 1832 } 1833 1833 1834 1834 #[servo_tracing::instrument(skip_all)] ··· 1837 1837 // Send a flat projection of the history to embedder. 1838 1838 // The final vector is a concatenation of the URLs of the past 1839 1839 // entries, the current entry and the future entries. 1840 - @@ -4963,9 +6476,22 @@ 1840 + @@ -4966,9 +6479,22 @@ 1841 1841 self.constellation_to_embedder_proxy 1842 1842 .send(ConstellationToEmbedderMsg::HistoryChanged( 1843 1843 webview_id, ··· 1861 1861 } 1862 1862 1863 1863 #[servo_tracing::instrument(skip_all)] 1864 - @@ -4984,7 +6510,7 @@ 1864 + @@ -4987,7 +6513,7 @@ 1865 1865 } 1866 1866 } 1867 1867 ··· 1870 1870 match self.browsing_contexts.get_mut(&change.browsing_context_id) { 1871 1871 Some(browsing_context) => { 1872 1872 debug!("Adding pipeline to existing browsing context."); 1873 - @@ -4991,11 +6517,15 @@ 1873 + @@ -4994,11 +6520,15 @@ 1874 1874 let old_pipeline_id = browsing_context.pipeline_id; 1875 1875 browsing_context.pipelines.insert(change.new_pipeline_id); 1876 1876 browsing_context.update_current_entry(change.new_pipeline_id); ··· 1888 1888 }, 1889 1889 }; 1890 1890 1891 - @@ -5003,6 +6533,18 @@ 1891 + @@ -5006,6 +6536,18 @@ 1892 1892 self.unload_document(old_pipeline_id); 1893 1893 } 1894 1894
+7 -7
patches/components/layout/display_list/mod.rs.patch
··· 1 1 --- original 2 2 +++ modified 3 - @@ -40,13 +40,15 @@ 3 + @@ -39,13 +39,15 @@ 4 4 use style::values::specified::text::TextDecorationLine; 5 5 use style_traits::{CSSPixel as StyloCSSPixel, DevicePixel as StyloDevicePixel}; 6 6 use webrender_api::units::{ ··· 20 20 }; 21 21 use wr::units::LayoutVector2D; 22 22 23 - @@ -129,6 +131,9 @@ 23 + @@ -128,6 +130,9 @@ 24 24 25 25 /// Statistics collected about the reflow, in order to write tests for incremental layout. 26 26 reflow_statistics: &'a mut ReflowStatistics, ··· 30 30 } 31 31 32 32 struct InspectorHighlight { 33 - @@ -196,6 +201,36 @@ 33 + @@ -195,6 +200,36 @@ 34 34 webrender_display_list_builder.dump_serialized_display_list(); 35 35 } 36 36 ··· 67 67 let _span = profile_traits::trace_span!("DisplayListBuilder::build").entered(); 68 68 let mut builder = DisplayListBuilder { 69 69 current_scroll_node_id: paint_info.root_reference_frame_id, 70 - @@ -210,6 +245,7 @@ 70 + @@ -209,6 +244,7 @@ 71 71 device_pixel_ratio, 72 72 paint_timing_handler, 73 73 reflow_statistics, ··· 75 75 }; 76 76 77 77 // Clear any caret color from previous display list constructions. 78 - @@ -226,15 +262,20 @@ 78 + @@ -225,15 +261,20 @@ 79 79 let pipeline_id = builder.paint_info.pipeline_id; 80 80 let viewport_size = builder.paint_info.viewport_details.size; 81 81 let viewport_rect = LayoutRect::from_size(viewport_size.cast_unit()); ··· 98 98 stacking_context_tree 99 99 .root_stacking_context 100 100 .build_canvas_background_display_list(&mut builder, fragment_tree); 101 - @@ -243,6 +284,11 @@ 101 + @@ -242,6 +283,11 @@ 102 102 .build_display_list(&mut builder); 103 103 builder.paint_dom_inspector_highlight(); 104 104 ··· 110 110 webrender_display_list_builder.end().1 111 111 } 112 112 113 - @@ -284,12 +330,42 @@ 113 + @@ -283,12 +329,42 @@ 114 114 let mut scroll_tree = std::mem::take(&mut self.paint_info.scroll_tree); 115 115 let mut mapping = Vec::with_capacity(scroll_tree.nodes.len()); 116 116
+2 -2
patches/components/script/dom/document/document.rs.patch
··· 197 197 } 198 198 } 199 199 200 - @@ -4596,6 +4690,36 @@ 200 + @@ -4594,6 +4688,36 @@ 201 201 202 202 pub(crate) fn notify_embedder_favicon(&self) { 203 203 if let Some(ref image) = *self.favicon.borrow() { ··· 234 234 self.send_to_embedder(EmbedderMsg::NewFavicon(self.webview_id(), image.clone())); 235 235 } 236 236 } 237 - @@ -4666,6 +4790,30 @@ 237 + @@ -4664,6 +4788,30 @@ 238 238 pub(crate) fn set_css_styling_flag(&self, value: bool) { 239 239 self.css_styling_flag.set(value) 240 240 }
+5 -5
patches/components/script/dom/globalscope.rs.patch
··· 1 1 --- original 2 2 +++ modified 3 - @@ -370,6 +370,16 @@ 3 + @@ -371,6 +371,16 @@ 4 4 /// Is considered in a secure context 5 5 inherited_secure_context: Option<bool>, 6 6 ··· 17 17 /// Directory to store unminified scripts for this window if unminify-js 18 18 /// opt is enabled. 19 19 unminified_js_dir: Option<String>, 20 - @@ -769,6 +779,8 @@ 20 + @@ -770,6 +780,8 @@ 21 21 #[cfg(feature = "webgpu")] gpu_id_hub: Arc<IdentityHub>, 22 22 inherited_secure_context: Option<bool>, 23 23 unminify_js: bool, ··· 26 26 font_context: Option<Arc<FontContext>>, 27 27 ) -> Self { 28 28 Self { 29 - @@ -812,6 +824,8 @@ 29 + @@ -813,6 +825,8 @@ 30 30 console_group_stack: DomRefCell::new(Vec::new()), 31 31 console_count_map: Default::default(), 32 32 inherited_secure_context, ··· 35 35 unminified_js_dir: unminify_js.then(|| unminified_path("unminified-js")), 36 36 byte_length_queuing_strategy_size_function: OnceCell::new(), 37 37 count_queuing_strategy_size_function: OnceCell::new(), 38 - @@ -1137,6 +1151,25 @@ 38 + @@ -1138,6 +1152,25 @@ 39 39 .send(ScriptToConstellationMessage::EntanglePorts(port1, port2)); 40 40 } 41 41 ··· 61 61 /// Handle the transfer of a port in the current task. 62 62 pub(crate) fn mark_port_as_transferred(&self, port_id: &MessagePortId) -> MessagePortImpl { 63 63 if let MessagePortState::Managed(_id, message_ports) = 64 - @@ -3154,6 +3187,16 @@ 64 + @@ -3157,6 +3190,16 @@ 65 65 self.inherited_secure_context 66 66 } 67 67
+24 -24
patches/components/script/dom/html/htmliframeelement.rs.patch
··· 8 8 use js::context::JSContext; 9 9 use js::rust::HandleObject; 10 10 use net_traits::ReferrerPolicy; 11 - @@ -18,38 +19,44 @@ 11 + @@ -17,38 +18,44 @@ 12 + use net_traits::request::Destination; 12 13 use profile_traits::ipc as ProfiledIpc; 13 - use script_bindings::script_runtime::temp_cx; 14 14 use script_traits::{NewPipelineInfo, UpdatePipelineIdReason}; 15 15 +use servo_base::generic_channel; 16 16 use servo_base::id::{BrowsingContextId, PipelineId, WebViewId}; ··· 57 57 use crate::navigation::{ 58 58 determine_creation_sandboxing_flags, determine_iframe_element_referrer_policy, 59 59 }; 60 - @@ -78,6 +85,12 @@ 60 + @@ -77,6 +84,12 @@ 61 61 SrcDoc, 62 62 } 63 63 ··· 70 70 #[dom_struct] 71 71 pub(crate) struct HTMLIFrameElement { 72 72 htmlelement: HTMLElement, 73 - @@ -114,6 +127,30 @@ 73 + @@ -113,6 +126,30 @@ 74 74 /// an empty iframe is attached. In that case, we shouldn't fire a 75 75 /// subsequent asynchronous load event. 76 76 already_fired_synchronous_load_event: Cell<bool>, ··· 101 101 } 102 102 103 103 impl HTMLIFrameElement { 104 - @@ -310,6 +347,8 @@ 104 + @@ -309,6 +346,8 @@ 105 105 user_content_manager_id: None, 106 106 theme: window.theme(), 107 107 target_snapshot_params, ··· 110 110 }; 111 111 112 112 self.pipeline_id.set(Some(new_pipeline_id)); 113 - @@ -624,6 +663,158 @@ 113 + @@ -623,6 +662,158 @@ 114 114 ); 115 115 } 116 116 ··· 269 269 fn destroy_nested_browsing_context(&self) { 270 270 self.pipeline_id.set(None); 271 271 self.pending_pipeline_id.set(None); 272 - @@ -686,6 +877,13 @@ 272 + @@ -685,6 +876,13 @@ 273 273 lazy_load_resumption_steps: Default::default(), 274 274 pending_navigation: Default::default(), 275 275 already_fired_synchronous_load_event: Default::default(), ··· 283 283 } 284 284 } 285 285 286 - @@ -721,6 +919,157 @@ 286 + @@ -720,7 +918,158 @@ 287 287 self.webview_id.get() 288 288 } 289 289 ··· 377 377 + 378 378 + /// Get the effective webview ID, taking into account embedded webview mode. 379 379 + /// Returns the embedded webview ID if in embed mode, otherwise the parent webview ID. 380 - + #[inline] 380 + #[inline] 381 381 + pub(crate) fn embedded_webview_id(&self) -> Option<WebViewId> { 382 382 + if self.is_embedded_webview.get() { 383 383 + self.embedded_webview_id.get() ··· 438 438 + self.page_zoom.set(zoom); 439 439 + } 440 440 + 441 - #[inline] 441 + + #[inline] 442 442 pub(crate) fn sandboxing_flag_set(&self) -> SandboxingFlagSet { 443 443 self.sandboxing_flag_set 444 - @@ -1098,6 +1447,97 @@ 444 + .get() 445 + @@ -1097,6 +1446,97 @@ 445 446 446 447 // https://html.spec.whatwg.org/multipage/#dom-iframe-longdesc 447 448 make_url_setter!(SetLongDesc, "longdesc"); ··· 539 540 } 540 541 541 542 impl VirtualMethods for HTMLIFrameElement { 542 - @@ -1153,9 +1593,54 @@ 543 + @@ -1152,9 +1592,54 @@ 543 544 // may be in a different script thread. Instead, we check to see if the parent 544 545 // is in a document tree and has a browsing context, which is what causes 545 546 // the child browsing context to be created. ··· 596 597 } 597 598 }, 598 599 local_name!("loading") => { 599 - @@ -1220,6 +1705,23 @@ 600 + @@ -1219,6 +1704,23 @@ 600 601 601 602 debug!("<iframe> running post connection steps"); 602 603 ··· 620 621 // Step 1. Create a new child navigable for insertedNode. 621 622 self.create_nested_browsing_context(cx); 622 623 623 - @@ -1243,11 +1745,25 @@ 624 - fn unbind_from_tree(&self, context: &UnbindContext, can_gc: CanGc) { 625 - self.super_type().unwrap().unbind_from_tree(context, can_gc); 624 + @@ -1238,11 +1740,26 @@ 625 + } 626 + 627 + /// <https://html.spec.whatwg.org/multipage/#the-iframe-element:html-element-removing-steps> 628 + + #[expect(unsafe_code)] 629 + fn unbind_from_tree(&self, cx: &mut js::context::JSContext, context: &UnbindContext) { 630 + self.super_type().unwrap().unbind_from_tree(cx, context); 626 631 627 - - // TODO: https://github.com/servo/servo/issues/42837 628 - - let mut cx = unsafe { temp_cx() }; 632 + - // The iframe HTML element removing steps, given removedNode, are to destroy a child navigable given removedNode 633 + - self.destroy_child_navigable(cx); 629 634 + // If this is an embedded webview, notify the compositor to stop tracking its rect 630 635 + if self.is_embedded_webview.get() { 631 636 + if let Some(embedded_webview_id) = self.embedded_webview_id.get() { ··· 639 644 + .remove_embedded_webview(embedded_webview_id); 640 645 + } 641 646 + } else { 642 - + // TODO: https://github.com/servo/servo/issues/42837 643 - + let mut cx = unsafe { temp_cx() }; 644 - 645 - - // The iframe HTML element removing steps, given removedNode, are to destroy a child navigable given removedNode 646 - - self.destroy_child_navigable(&mut cx); 647 647 + // The iframe HTML element removing steps, given removedNode, are to destroy a child navigable given removedNode 648 - + self.destroy_child_navigable(&mut cx); 648 + + self.destroy_child_navigable(cx); 649 649 + } 650 650 651 651 self.owner_document().invalidate_iframes_collection();
+2 -2
patches/components/script/dom/html/htmlmetaelement.rs.patch
··· 1 1 --- original 2 2 +++ modified 3 - @@ -70,6 +70,9 @@ 3 + @@ -69,6 +69,9 @@ 4 4 if name == "viewport" { 5 5 self.parse_and_send_viewport_if_necessary(); 6 6 } ··· 10 10 // https://html.spec.whatwg.org/multipage/#attr-meta-http-equiv 11 11 } else if !self.HttpEquiv().is_empty() { 12 12 // TODO: Implement additional http-equiv candidates 13 - @@ -93,6 +96,23 @@ 13 + @@ -92,6 +95,23 @@ 14 14 } 15 15 } 16 16
+5 -5
patches/components/script/dom/window.rs.patch
··· 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 - @@ -3111,9 +3160,33 @@ 135 + @@ -3110,9 +3159,33 @@ 136 136 &self, 137 137 input_event: &ConstellationInputEvent, 138 138 ) -> Option<HitTestResult> { ··· 169 169 } 170 170 171 171 #[expect(unsafe_code)] 172 - @@ -3132,8 +3205,25 @@ 172 + @@ -3131,8 +3204,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 - @@ -3676,6 +3766,8 @@ 199 + @@ -3675,6 +3765,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 - @@ -3702,6 +3794,8 @@ 208 + @@ -3701,6 +3793,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 - @@ -3987,3 +4081,115 @@ 217 + @@ -3986,3 +4080,115 @@ 218 218 Self::create_named_properties_object(cx, proto, object) 219 219 } 220 220 }
+1 -1
patches/components/script/dom/workers/workerglobalscope.rs.patch
··· 1 1 --- original 2 2 +++ modified 3 - @@ -358,6 +358,8 @@ 3 + @@ -360,6 +360,8 @@ 4 4 gpu_id_hub, 5 5 init.inherited_secure_context, 6 6 init.unminify_js,
+1 -1
patches/components/script/dom/workletglobalscope.rs.patch
··· 1 1 --- original 2 2 +++ modified 3 - @@ -121,8 +121,10 @@ 3 + @@ -122,8 +122,10 @@ 4 4 #[cfg(feature = "webgpu")] 5 5 init.gpu_id_hub.clone(), 6 6 inherited_secure_context,
+1 -1
patches/components/script/messaging.rs.patch
··· 1 1 --- original 2 2 +++ modified 3 - @@ -109,6 +109,14 @@ 3 + @@ -110,6 +110,14 @@ 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
··· 56 56 use crate::dom::servoparser::{ParserContext, ServoParser}; 57 57 use crate::dom::types::DebuggerGlobalScope; 58 58 #[cfg(feature = "webgpu")] 59 - @@ -1942,11 +1950,50 @@ 59 + @@ -1947,11 +1955,50 @@ 60 60 self.handle_refresh_cursor(pipeline_id); 61 61 }, 62 62 ScriptThreadMessage::PreferencesUpdated(updates) => { ··· 111 111 }, 112 112 ScriptThreadMessage::ForwardKeyboardScroll(pipeline_id, scroll) => { 113 113 if let Some(document) = self.documents.borrow().find_document(pipeline_id) { 114 - @@ -1982,6 +2029,40 @@ 114 + @@ -1987,6 +2034,40 @@ 115 115 ScriptThreadMessage::TriggerGarbageCollection => unsafe { 116 116 JS_GC(*GlobalScope::get_cx(), GCReason::API); 117 117 }, ··· 152 152 } 153 153 } 154 154 155 - @@ -3019,6 +3100,9 @@ 155 + @@ -3004,6 +3085,9 @@ 156 156 .documents 157 157 .borrow() 158 158 .find_iframe(parent_pipeline_id, browsing_context_id); ··· 162 162 if let Some(frame_element) = frame_element { 163 163 frame_element.update_pipeline_id(new_pipeline_id, reason, cx); 164 164 } 165 - @@ -3038,6 +3122,7 @@ 165 + @@ -3023,6 +3107,7 @@ 166 166 // is no need to pass along existing opener information that 167 167 // will be discarded. 168 168 None, ··· 170 170 ); 171 171 } 172 172 } 173 - @@ -3322,6 +3407,155 @@ 173 + @@ -3307,6 +3392,155 @@ 174 174 } 175 175 } 176 176 ··· 326 326 fn ask_constellation_for_top_level_info( 327 327 &self, 328 328 sender_webview_id: WebViewId, 329 - @@ -3430,7 +3664,13 @@ 329 + @@ -3415,7 +3649,13 @@ 330 330 self.senders.pipeline_to_embedder_sender.clone(), 331 331 self.senders.constellation_sender.clone(), 332 332 incomplete.pipeline_id, ··· 341 341 incomplete.viewport_details, 342 342 origin.clone(), 343 343 final_url.clone(), 344 - @@ -3452,6 +3692,8 @@ 344 + @@ -3437,6 +3677,8 @@ 345 345 #[cfg(feature = "webgpu")] 346 346 self.gpu_id_hub.clone(), 347 347 incomplete.load_data.inherited_secure_context, ··· 350 350 incomplete.theme, 351 351 self.this.clone(), 352 352 ); 353 - @@ -3475,6 +3717,7 @@ 353 + @@ -3456,6 +3698,7 @@ 354 354 incomplete.webview_id, 355 355 incomplete.parent_info, 356 356 incomplete.opener, ··· 358 358 ); 359 359 if window_proxy.parent().is_some() { 360 360 // https://html.spec.whatwg.org/multipage/#navigating-across-documents:delaying-load-events-mode-2 361 - @@ -4309,10 +4552,78 @@ 361 + @@ -4293,10 +4536,78 @@ 362 362 document.event_handler().handle_refresh_cursor(); 363 363 } 364 364 ··· 437 437 fn handle_request_screenshot_readiness( 438 438 &self, 439 439 webview_id: WebViewId, 440 - @@ -4353,7 +4664,7 @@ 440 + @@ -4337,7 +4648,7 @@ 441 441 can_gc: CanGc, 442 442 ) { 443 443 let Some(window) = self.documents.borrow().find_window(pipeline_id) else {
+5 -5
patches/components/script_bindings/codegen/Bindings.conf.patch
··· 12 12 'Attr': { 13 13 'cx':['SetValue'], 14 14 }, 15 - @@ -301,6 +306,11 @@ 15 + @@ -305,6 +310,11 @@ 16 16 'cx': ['CheckValidity', 'ReportValidity'], 17 17 }, 18 18 ··· 24 24 'EventSource': { 25 25 'weakReferenceable': True, 26 26 }, 27 - @@ -707,9 +717,9 @@ 27 + @@ -715,9 +725,9 @@ 28 28 }, 29 29 30 30 'Navigator': { ··· 37 37 }, 38 38 39 39 'WakeLock': { 40 - @@ -746,6 +756,11 @@ 41 - 'cx': ['CreateLinearGradient', 'CreatePattern', 'CreateRadialGradient', 'GetTransform'], 40 + @@ -758,6 +768,11 @@ 41 + 'cx': ['RegisterPaint'], 42 42 }, 43 43 44 44 +'Pairing': { ··· 49 49 'PerformanceObserver': { 50 50 'canGc': ['SupportedEntryTypes'], 51 51 }, 52 - @@ -913,7 +928,8 @@ 52 + @@ -925,7 +940,8 @@ 53 53 }, 54 54 55 55 'Window': {
+1 -1
patches/components/servo/lib.rs.patch
··· 1 1 --- original 2 2 +++ modified 3 - @@ -52,10 +52,13 @@ 3 + @@ -56,10 +56,13 @@ 4 4 // See <https://github.com/servo/servo/issues/40950>. 5 5 pub use resources; 6 6 pub use servo_base::generic_channel::GenericSender;
+9 -9
patches/components/servo/servo.rs.patch
··· 17 17 #[cfg(all( 18 18 not(target_os = "windows"), 19 19 not(target_os = "ios"), 20 - @@ -246,9 +247,7 @@ 20 + @@ -247,9 +248,7 @@ 21 21 } 22 22 23 23 if self.constellation_proxy.disconnected() { ··· 28 28 } 29 29 30 30 self.paint.borrow_mut().perform_updates(); 31 - @@ -307,10 +306,39 @@ 31 + @@ -309,10 +308,39 @@ 32 32 33 33 fn handle_delegate_errors(&self) { 34 34 while let Some(error) = self.servo_errors.try_recv() { ··· 69 69 fn clean_up_destroyed_webview_handles(&self) { 70 70 // Remove any webview handles that have been destroyed and would not be upgradable. 71 71 // Note that `retain` is O(capacity) because it visits empty buckets, so it may be worth 72 - @@ -461,6 +489,11 @@ 72 + @@ -463,6 +491,11 @@ 73 73 ); 74 74 } 75 75 }, ··· 81 81 EmbedderMsg::AllowUnload(webview_id, response_sender) => { 82 82 if let Some(webview) = self.get_webview_handle(webview_id) { 83 83 let request = AllowOrDenyRequest::new( 84 - @@ -574,10 +607,7 @@ 84 + @@ -576,10 +609,7 @@ 85 85 .delegate 86 86 .borrow() 87 87 .notify_devtools_server_started(port, token), ··· 93 93 }, 94 94 EmbedderMsg::RequestDevtoolsConnection(response_sender) => { 95 95 self.delegate 96 - @@ -700,6 +730,50 @@ 96 + @@ -702,6 +732,50 @@ 97 97 webview.process_accessibility_tree_update(tree_update, epoch); 98 98 } 99 99 }, ··· 144 144 } 145 145 } 146 146 147 - @@ -946,6 +1020,7 @@ 147 + @@ -948,6 +1022,7 @@ 148 148 async_runtime, 149 149 public_storage_threads.clone(), 150 150 private_storage_threads.clone(), ··· 152 152 ); 153 153 154 154 net::connector::prewarm_tls(); 155 - @@ -1045,6 +1120,14 @@ 155 + @@ -1047,6 +1122,14 @@ 156 156 &self.0.site_data_manager 157 157 } 158 158 ··· 167 167 pub(crate) fn paint<'a>(&'a self) -> Ref<'a, Paint> { 168 168 self.0.paint.borrow() 169 169 } 170 - @@ -1147,6 +1230,7 @@ 170 + @@ -1149,6 +1232,7 @@ 171 171 async_runtime: Box<dyn net_traits::AsyncRuntime>, 172 172 public_storage_threads: StorageThreads, 173 173 private_storage_threads: StorageThreads, ··· 175 175 ) { 176 176 // Global configuration options, parsed from the command line. 177 177 let opts = opts::get(); 178 - @@ -1190,6 +1274,7 @@ 178 + @@ -1192,6 +1276,7 @@ 179 179 async_runtime, 180 180 privileged_urls, 181 181 wake_lock_provider: Box::new(NoOpWakeLockProvider),