Rewild Your Web
18
fork

Configure Feed

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

chore: update Servo to 6d70fcda1bd27696cec573925c4cca57e293bc77

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

+277 -288
+118 -141
Cargo.lock
··· 417 417 418 418 [[package]] 419 419 name = "async-compression" 420 - version = "0.4.41" 420 + version = "0.4.42" 421 421 source = "registry+https://github.com/rust-lang/crates.io-index" 422 - checksum = "d0f9ee0f6e02ffd7ad5816e9464499fba7b3effd01123b515c41d1697c43dad1" 422 + checksum = "e79b3f8a79cccc2898f31920fc69f304859b3bd567490f75ebf51ae1c792a9ac" 423 423 dependencies = [ 424 424 "compression-codecs", 425 425 "compression-core", ··· 451 451 452 452 [[package]] 453 453 name = "async-tungstenite" 454 - version = "0.33.0" 454 + version = "0.34.0" 455 455 source = "registry+https://github.com/rust-lang/crates.io-index" 456 - checksum = "f3b465d66478a9bb84abed46695c44a58e34f3e8d0abfb2e958218d420969049" 456 + checksum = "eb26fbd2a93308b1c1b74ac4e494a11ac10db57c476882240573bdf961463520" 457 457 dependencies = [ 458 458 "atomic-waker", 459 459 "futures-core", ··· 855 855 856 856 [[package]] 857 857 name = "blake3" 858 - version = "1.8.4" 858 + version = "1.8.5" 859 859 source = "registry+https://github.com/rust-lang/crates.io-index" 860 - checksum = "4d2d5991425dfd0785aed03aedcf0b321d61975c9b5b3689c774a2610ae0b51e" 860 + checksum = "0aa83c34e62843d924f905e0f5c866eb1dd6545fc4d719e803d9ba6030371fce" 861 861 dependencies = [ 862 862 "arrayref", 863 863 "arrayvec", ··· 888 888 source = "registry+https://github.com/rust-lang/crates.io-index" 889 889 checksum = "cdd35008169921d80bc60d3d0ab416eecb028c4cd653352907921d95084790be" 890 890 dependencies = [ 891 - "hybrid-array 0.4.10", 891 + "hybrid-array 0.4.11", 892 892 ] 893 893 894 894 [[package]] ··· 1155 1155 1156 1156 [[package]] 1157 1157 name = "cc" 1158 - version = "1.2.60" 1158 + version = "1.2.61" 1159 1159 source = "registry+https://github.com/rust-lang/crates.io-index" 1160 - checksum = "43c5703da9466b66a946814e1adf53ea2c90f10063b86290cc9eb67ce3478a20" 1160 + checksum = "d16d90359e986641506914ba71350897565610e87ce0ad9e6f28569db3dd5c6d" 1161 1161 dependencies = [ 1162 1162 "find-msvc-tools", 1163 1163 "jobserver", ··· 1459 1459 1460 1460 [[package]] 1461 1461 name = "compression-codecs" 1462 - version = "0.4.37" 1462 + version = "0.4.38" 1463 1463 source = "registry+https://github.com/rust-lang/crates.io-index" 1464 - checksum = "eb7b51a7d9c967fc26773061ba86150f19c50c0d65c887cb1fbe295fd16619b7" 1464 + checksum = "ce2548391e9c1929c21bf6aa2680af86fe4c1b33e6cea9ac1cfeec0bd11218cf" 1465 1465 dependencies = [ 1466 1466 "brotli", 1467 1467 "compression-core", ··· 1473 1473 1474 1474 [[package]] 1475 1475 name = "compression-core" 1476 - version = "0.4.31" 1476 + version = "0.4.32" 1477 1477 source = "registry+https://github.com/rust-lang/crates.io-index" 1478 - checksum = "75984efb6ed102a0d42db99afb6c1948f0380d1d91808d5529916e6c08b49d8d" 1478 + checksum = "cc14f565cf027a105f7a44ccf9e5b424348421a1d8952a8fc9d499d313107789" 1479 1479 1480 1480 [[package]] 1481 1481 name = "concurrent-queue" ··· 1785 1785 source = "registry+https://github.com/rust-lang/crates.io-index" 1786 1786 checksum = "77727bb15fa921304124b128af125e7e3b968275d1b108b379190264f4423710" 1787 1787 dependencies = [ 1788 - "hybrid-array 0.4.10", 1788 + "hybrid-array 0.4.11", 1789 1789 ] 1790 1790 1791 1791 [[package]] ··· 1932 1932 1933 1933 [[package]] 1934 1934 name = "data-encoding" 1935 - version = "2.10.0" 1935 + version = "2.11.0" 1936 1936 source = "registry+https://github.com/rust-lang/crates.io-index" 1937 - checksum = "d7a1e2f27636f116493b8b860f5546edb47c8d8f8ea73e1d2a20be88e28d1fea" 1937 + checksum = "a4ae5f15dda3c708c0ade84bfee31ccab44a3da4f88015ed22f63732abe300c8" 1938 1938 1939 1939 [[package]] 1940 1940 name = "data-encoding-macro" 1941 - version = "0.1.19" 1941 + version = "0.1.20" 1942 1942 source = "registry+https://github.com/rust-lang/crates.io-index" 1943 - checksum = "8142a83c17aa9461d637e649271eae18bf2edd00e91f2e105df36c3c16355bdb" 1943 + checksum = "3259c913752a86488b501ed8680446a5ed2d5aeac6e596cb23ba3800768ea32c" 1944 1944 dependencies = [ 1945 1945 "data-encoding", 1946 1946 "data-encoding-macro-internal", ··· 1948 1948 1949 1949 [[package]] 1950 1950 name = "data-encoding-macro-internal" 1951 - version = "0.1.17" 1951 + version = "0.1.18" 1952 1952 source = "registry+https://github.com/rust-lang/crates.io-index" 1953 - checksum = "7ab67060fc6b8ef687992d439ca0fa36e7ed17e9a0b16b25b601e8757df720de" 1953 + checksum = "ccc2776f0c61eca1ca32528f85548abd1a4be8fb53d1b21c013e4f18da1e7090" 1954 1954 dependencies = [ 1955 1955 "data-encoding", 1956 1956 "syn 2.0.117", ··· 2724 2724 source = "registry+https://github.com/rust-lang/crates.io-index" 2725 2725 checksum = "bbc773e24e02d4ddd8395fd30dc147524273a83e54e0f312d986ea30de5f5646" 2726 2726 dependencies = [ 2727 - "roxmltree", 2727 + "roxmltree 0.20.0", 2728 2728 ] 2729 2729 2730 2730 [[package]] ··· 3126 3126 3127 3127 [[package]] 3128 3128 name = "gif" 3129 - version = "0.13.3" 3130 - source = "registry+https://github.com/rust-lang/crates.io-index" 3131 - checksum = "4ae047235e33e2829703574b54fdec96bfbad892062d97fed2f76022287de61b" 3132 - dependencies = [ 3133 - "color_quant", 3134 - "weezl", 3135 - ] 3136 - 3137 - [[package]] 3138 - name = "gif" 3139 3129 version = "0.14.2" 3140 3130 source = "registry+https://github.com/rust-lang/crates.io-index" 3141 3131 checksum = "ee8cfcc411d9adbbaba82fb72661cc1bcca13e8bba98b364e62b2dba8f960159" ··· 4319 4309 4320 4310 [[package]] 4321 4311 name = "hybrid-array" 4322 - version = "0.4.10" 4312 + version = "0.4.11" 4323 4313 source = "registry+https://github.com/rust-lang/crates.io-index" 4324 - checksum = "3944cf8cf766b40e2a1a333ee5e9b563f854d5fa49d6a8ca2764e97c6eddb214" 4314 + checksum = "08d46837a0ed51fe95bd3b05de33cd64a1ee88fc797477ca48446872504507c5" 4325 4315 dependencies = [ 4326 4316 "typenum", 4327 4317 ] ··· 5026 5016 "byteorder-lite", 5027 5017 "color_quant", 5028 5018 "exr", 5029 - "gif 0.14.2", 5019 + "gif", 5030 5020 "image-webp", 5031 5021 "moxcms", 5032 5022 "num-traits", ··· 5035 5025 "rayon", 5036 5026 "rgb", 5037 5027 "tiff", 5038 - "zune-core 0.5.1", 5039 - "zune-jpeg 0.5.15", 5028 + "zune-core", 5029 + "zune-jpeg", 5040 5030 ] 5041 5031 5042 5032 [[package]] ··· 5051 5041 5052 5042 [[package]] 5053 5043 name = "imagesize" 5054 - version = "0.13.0" 5044 + version = "0.14.0" 5055 5045 source = "registry+https://github.com/rust-lang/crates.io-index" 5056 - checksum = "edcd27d72f2f071c64249075f42e205ff93c9a4c5f6c6da53e79ed9f9832c285" 5046 + checksum = "09e54e57b4c48b40f7aec75635392b12b3421fa26fe8b4332e63138ed278459c" 5057 5047 5058 5048 [[package]] 5059 5049 name = "imgref" ··· 5626 5616 5627 5617 [[package]] 5628 5618 name = "kurbo" 5629 - version = "0.11.3" 5619 + version = "0.12.0" 5630 5620 source = "registry+https://github.com/rust-lang/crates.io-index" 5631 - checksum = "c62026ae44756f8a599ba21140f350303d4f08dcdcc71b5ad9c9bb8128c13c62" 5621 + checksum = "ce9729cc38c18d86123ab736fd2e7151763ba226ac2490ec092d1dd148825e32" 5632 5622 dependencies = [ 5633 5623 "arrayvec", 5634 5624 "euclid", 5625 + "serde", 5635 5626 "smallvec", 5636 5627 ] 5637 5628 5638 5629 [[package]] 5639 5630 name = "kurbo" 5640 - version = "0.12.0" 5631 + version = "0.13.0" 5641 5632 source = "registry+https://github.com/rust-lang/crates.io-index" 5642 - checksum = "ce9729cc38c18d86123ab736fd2e7151763ba226ac2490ec092d1dd148825e32" 5633 + checksum = "7564e90fe3c0d5771e1f0bc95322b21baaeaa0d9213fa6a0b61c99f8b17b3bfb" 5643 5634 dependencies = [ 5644 5635 "arrayvec", 5645 5636 "euclid", 5646 - "serde", 5647 5637 "smallvec", 5648 5638 ] 5649 5639 ··· 5694 5684 5695 5685 [[package]] 5696 5686 name = "libc" 5697 - version = "0.2.185" 5687 + version = "0.2.186" 5698 5688 source = "registry+https://github.com/rust-lang/crates.io-index" 5699 - checksum = "52ff2c0fe9bc6cb6b14a0592c2ff4fa9ceb83eea9db979b0487cd054946a2b8f" 5689 + checksum = "68ab91017fe16c622486840e4c83c9a37afeff978bd239b5293d61ece587de66" 5700 5690 5701 5691 [[package]] 5702 5692 name = "libdbus-sys" ··· 6143 6133 6144 6134 [[package]] 6145 6135 name = "mozjs" 6146 - version = "0.15.8" 6136 + version = "0.15.11" 6147 6137 source = "registry+https://github.com/rust-lang/crates.io-index" 6148 - checksum = "d4e51874bd557fcc5809a3e133714998d2b856ab29aa59fba79f3398f0537e48" 6138 + checksum = "2231fbdbc1ee3eaae2d2859792f5f1a6ca065fdebecccfe9447e531292883126" 6149 6139 dependencies = [ 6150 6140 "bindgen", 6151 6141 "cc", ··· 6158 6148 6159 6149 [[package]] 6160 6150 name = "mozjs_sys" 6161 - version = "0.140.8-3" 6151 + version = "0.140.10-1" 6162 6152 source = "registry+https://github.com/rust-lang/crates.io-index" 6163 - checksum = "f70e26e45204d1cbd73d2508007ab5cbb3411bddb057c47977bae6844861a8fa" 6153 + checksum = "4d2a078fe5215b5afe55502b2a5c40b2119d81492eafc246373dc9cfda332129" 6164 6154 dependencies = [ 6165 6155 "bindgen", 6166 6156 "cc", ··· 7458 7448 7459 7449 [[package]] 7460 7450 name = "petname" 7461 - version = "2.0.2" 7451 + version = "3.0.0" 7462 7452 source = "registry+https://github.com/rust-lang/crates.io-index" 7463 - checksum = "9cd31dcfdbbd7431a807ef4df6edd6473228e94d5c805e8cf671227a21bad068" 7453 + checksum = "2ce610bff48dd7b6a127e45631795fbb0b302b99a39bef7e6da3d297e8eb2b6b" 7464 7454 dependencies = [ 7465 - "anyhow", 7466 7455 "clap", 7467 - "itertools 0.14.0", 7456 + "petname-macros", 7457 + "rand 0.10.1", 7458 + ] 7459 + 7460 + [[package]] 7461 + name = "petname-macros" 7462 + version = "3.0.0" 7463 + source = "registry+https://github.com/rust-lang/crates.io-index" 7464 + checksum = "324239bd00dcf61f1a0e301d4d8f6f8c080a755248fc3fdc817ee1fdbbc27b8b" 7465 + dependencies = [ 7468 7466 "proc-macro2", 7469 7467 "quote", 7470 - "rand 0.8.6", 7468 + "syn 2.0.117", 7471 7469 ] 7472 7470 7473 7471 [[package]] ··· 7947 7945 7948 7946 [[package]] 7949 7947 name = "psl" 7950 - version = "2.1.204" 7948 + version = "2.1.205" 7951 7949 source = "registry+https://github.com/rust-lang/crates.io-index" 7952 - checksum = "868e3200a2474f99d0ea576a7c76aabda7cdcc795cc27f2d93f30ab79867820d" 7950 + checksum = "194b4aac978e4e46f782a95ecdb06bc69919c935e783984e5f5b817545881beb" 7953 7951 dependencies = [ 7954 7952 "psl-types", 7955 7953 ] ··· 8471 8469 8472 8470 [[package]] 8473 8471 name = "resvg" 8474 - version = "0.45.1" 8472 + version = "0.47.0" 8475 8473 source = "registry+https://github.com/rust-lang/crates.io-index" 8476 - checksum = "a8928798c0a55e03c9ca6c4c6846f76377427d2c1e1f7e6de3c06ae57942df43" 8474 + checksum = "9be183ad6a216aa96f33e4c8033b0988b8b3ea6fd2359d19af5bac4643fd8e81" 8477 8475 dependencies = [ 8478 - "gif 0.13.3", 8476 + "gif", 8479 8477 "image-webp", 8480 8478 "log", 8481 8479 "pico-args", 8482 8480 "rgb", 8483 8481 "svgtypes", 8484 - "tiny-skia", 8482 + "tiny-skia 0.12.0", 8485 8483 "usvg", 8486 - "zune-jpeg 0.4.21", 8484 + "zune-jpeg", 8487 8485 ] 8488 8486 8489 8487 [[package]] ··· 8537 8535 version = "0.20.0" 8538 8536 source = "registry+https://github.com/rust-lang/crates.io-index" 8539 8537 checksum = "6c20b6793b5c2fa6553b250154b78d6d0db37e72700ae35fad9387a46f487c97" 8538 + 8539 + [[package]] 8540 + name = "roxmltree" 8541 + version = "0.21.1" 8542 + source = "registry+https://github.com/rust-lang/crates.io-index" 8543 + checksum = "f1964b10c76125c36f8afe190065a4bf9a87bf324842c05701330bba9f1cacbb" 8544 + dependencies = [ 8545 + "memchr", 8546 + ] 8540 8547 8541 8548 [[package]] 8542 8549 name = "rsa" ··· 8668 8675 8669 8676 [[package]] 8670 8677 name = "rustls-pki-types" 8671 - version = "1.14.0" 8678 + version = "1.14.1" 8672 8679 source = "registry+https://github.com/rust-lang/crates.io-index" 8673 - checksum = "be040f8b0a225e40375822a563fa9524378b9d63112f53e19ffff34df5d33fdd" 8680 + checksum = "30a7197ae7eb376e574fe940d068c30fe0462554a3ddbe4eca7838e049c937a9" 8674 8681 dependencies = [ 8675 8682 "web-time", 8676 8683 "zeroize", ··· 8785 8792 "log", 8786 8793 "memmap2", 8787 8794 "smithay-client-toolkit", 8788 - "tiny-skia", 8795 + "tiny-skia 0.11.4", 8789 8796 ] 8790 8797 8791 8798 [[package]] ··· 10454 10461 version = "0.1.0" 10455 10462 dependencies = [ 10456 10463 "serde", 10464 + "servo-embedder-traits", 10457 10465 ] 10458 10466 10459 10467 [[package]] ··· 11214 11222 11215 11223 [[package]] 11216 11224 name = "svgtypes" 11217 - version = "0.15.3" 11225 + version = "0.16.1" 11218 11226 source = "registry+https://github.com/rust-lang/crates.io-index" 11219 - checksum = "68c7541fff44b35860c1a7a47a7cadf3e4a304c457b58f9870d9706ece028afc" 11227 + checksum = "695b5790b3131dafa99b3bbfd25a216edb3d216dad9ca208d4657bfb8f2abc3d" 11220 11228 dependencies = [ 11221 - "kurbo 0.11.3", 11229 + "kurbo 0.13.0", 11222 11230 "siphasher", 11223 11231 ] 11224 11232 ··· 11532 11540 "half", 11533 11541 "quick-error", 11534 11542 "weezl", 11535 - "zune-jpeg 0.5.15", 11543 + "zune-jpeg", 11536 11544 ] 11537 11545 11538 11546 [[package]] ··· 11600 11608 "bytemuck", 11601 11609 "cfg-if", 11602 11610 "log", 11603 - "png 0.17.16", 11604 - "tiny-skia-path", 11611 + "tiny-skia-path 0.11.4", 11612 + ] 11613 + 11614 + [[package]] 11615 + name = "tiny-skia" 11616 + version = "0.12.0" 11617 + source = "registry+https://github.com/rust-lang/crates.io-index" 11618 + checksum = "47ffee5eaaf5527f630fb0e356b90ebdec84d5d18d937c5e440350f88c5a91ea" 11619 + dependencies = [ 11620 + "arrayref", 11621 + "arrayvec", 11622 + "bytemuck", 11623 + "cfg-if", 11624 + "log", 11625 + "png 0.18.1", 11626 + "tiny-skia-path 0.12.0", 11605 11627 ] 11606 11628 11607 11629 [[package]] ··· 11616 11638 ] 11617 11639 11618 11640 [[package]] 11641 + name = "tiny-skia-path" 11642 + version = "0.12.0" 11643 + source = "registry+https://github.com/rust-lang/crates.io-index" 11644 + checksum = "edca365c3faccca67d06593c5980fa6c57687de727a03131735bb85f01fdeeb9" 11645 + dependencies = [ 11646 + "arrayref", 11647 + "bytemuck", 11648 + "strict-num", 11649 + ] 11650 + 11651 + [[package]] 11619 11652 name = "tinystr" 11620 11653 version = "0.7.6" 11621 11654 source = "registry+https://github.com/rust-lang/crates.io-index" ··· 12005 12038 12006 12039 [[package]] 12007 12040 name = "tray-icon" 12008 - version = "0.21.3" 12041 + version = "0.22.1" 12009 12042 source = "registry+https://github.com/rust-lang/crates.io-index" 12010 - checksum = "a5e85aa143ceb072062fc4d6356c1b520a51d636e7bc8e77ec94be3608e5e80c" 12043 + checksum = "7f9eb1da86bd0ab8931fad00650d2ba7473260c5bab06d6f24d04339edb88faa" 12011 12044 dependencies = [ 12012 12045 "crossbeam-channel", 12013 12046 "dirs", ··· 12019 12052 "objc2-core-graphics", 12020 12053 "objc2-foundation 0.3.2", 12021 12054 "once_cell", 12022 - "png 0.17.16", 12055 + "png 0.18.1", 12023 12056 "thiserror 2.0.18", 12024 12057 "windows-sys 0.60.2", 12025 12058 ] ··· 12041 12074 12042 12075 [[package]] 12043 12076 name = "tungstenite" 12044 - version = "0.28.0" 12077 + version = "0.29.0" 12045 12078 source = "registry+https://github.com/rust-lang/crates.io-index" 12046 - checksum = "8628dcc84e5a09eb3d8423d6cb682965dea9133204e8fb3efee74c2a0c259442" 12079 + checksum = "6c01152af293afb9c7c2a57e4b559c5620b421f6d133261c60dd2d0cdb38e6b8" 12047 12080 dependencies = [ 12048 12081 "bytes", 12049 12082 "data-encoding", ··· 12055 12088 "rustls-pki-types", 12056 12089 "sha1", 12057 12090 "thiserror 2.0.18", 12058 - "utf-8", 12059 12091 ] 12060 12092 12061 12093 [[package]] ··· 12074 12106 ] 12075 12107 12076 12108 [[package]] 12077 - name = "unic-char-property" 12078 - version = "0.9.0" 12079 - source = "registry+https://github.com/rust-lang/crates.io-index" 12080 - checksum = "a8c57a407d9b6fa02b4795eb81c5b6652060a15a7903ea981f3d723e6c0be221" 12081 - dependencies = [ 12082 - "unic-char-range", 12083 - ] 12084 - 12085 - [[package]] 12086 - name = "unic-char-range" 12087 - version = "0.9.0" 12088 - source = "registry+https://github.com/rust-lang/crates.io-index" 12089 - checksum = "0398022d5f700414f6b899e10b8348231abf9173fa93144cbc1a43b9793c1fbc" 12090 - 12091 - [[package]] 12092 - name = "unic-common" 12093 - version = "0.9.0" 12094 - source = "registry+https://github.com/rust-lang/crates.io-index" 12095 - checksum = "80d7ff825a6a654ee85a63e80f92f054f904f21e7d12da4e22f9834a4aaa35bc" 12096 - 12097 - [[package]] 12098 - name = "unic-ucd-ident" 12099 - version = "0.9.0" 12100 - source = "registry+https://github.com/rust-lang/crates.io-index" 12101 - checksum = "e230a37c0381caa9219d67cf063aa3a375ffed5bf541a452db16e744bdab6987" 12102 - dependencies = [ 12103 - "unic-char-property", 12104 - "unic-char-range", 12105 - "unic-ucd-version", 12106 - ] 12107 - 12108 - [[package]] 12109 - name = "unic-ucd-version" 12110 - version = "0.9.0" 12111 - source = "registry+https://github.com/rust-lang/crates.io-index" 12112 - checksum = "96bd2f2237fe450fcd0a1d2f5f4e91711124f7857ba2e964247776ebeeb7b0c4" 12113 - dependencies = [ 12114 - "unic-common", 12115 - ] 12116 - 12117 - [[package]] 12118 12109 name = "unicase" 12119 12110 version = "2.9.0" 12120 12111 source = "registry+https://github.com/rust-lang/crates.io-index" ··· 12221 12212 12222 12213 [[package]] 12223 12214 name = "urlpattern" 12224 - version = "0.3.0" 12215 + version = "0.5.2" 12225 12216 source = "registry+https://github.com/rust-lang/crates.io-index" 12226 - checksum = "70acd30e3aa1450bc2eece896ce2ad0d178e9c079493819301573dae3c37ba6d" 12217 + checksum = "37ffe0983283c841b6c6e9f116833a0061cc690c0eb67994d65bbdfa5cd3f24e" 12227 12218 dependencies = [ 12219 + "icu_properties 2.2.0", 12228 12220 "regex", 12229 12221 "serde", 12230 - "unic-ucd-ident", 12231 12222 "url", 12232 12223 ] 12233 12224 12234 12225 [[package]] 12235 12226 name = "usvg" 12236 - version = "0.45.1" 12227 + version = "0.47.0" 12237 12228 source = "registry+https://github.com/rust-lang/crates.io-index" 12238 - checksum = "80be9b06fbae3b8b303400ab20778c80bbaf338f563afe567cf3c9eea17b47ef" 12229 + checksum = "d46cf96c5f498d36b7a9693bc6a7075c0bb9303189d61b2249b0dc3d309c07de" 12239 12230 dependencies = [ 12240 12231 "base64 0.22.1", 12241 12232 "data-url", 12242 12233 "flate2", 12243 12234 "fontdb", 12244 12235 "imagesize", 12245 - "kurbo 0.11.3", 12236 + "kurbo 0.13.0", 12246 12237 "log", 12247 12238 "pico-args", 12248 - "roxmltree", 12239 + "roxmltree 0.21.1", 12249 12240 "rustybuzz", 12250 12241 "simplecss", 12251 12242 "siphasher", 12252 12243 "strict-num", 12253 12244 "svgtypes", 12254 - "tiny-skia-path", 12245 + "tiny-skia-path 0.12.0", 12246 + "ttf-parser", 12255 12247 "unicode-bidi", 12256 12248 "unicode-script", 12257 12249 "unicode-vo", ··· 14213 14205 14214 14206 [[package]] 14215 14207 name = "zune-core" 14216 - version = "0.4.12" 14217 - source = "registry+https://github.com/rust-lang/crates.io-index" 14218 - checksum = "3f423a2c17029964870cfaabb1f13dfab7d092a62a29a89264f4d36990ca414a" 14219 - 14220 - [[package]] 14221 - name = "zune-core" 14222 14208 version = "0.5.1" 14223 14209 source = "registry+https://github.com/rust-lang/crates.io-index" 14224 14210 checksum = "cb8a0807f7c01457d0379ba880ba6322660448ddebc890ce29bb64da71fb40f9" ··· 14234 14220 14235 14221 [[package]] 14236 14222 name = "zune-jpeg" 14237 - version = "0.4.21" 14238 - source = "registry+https://github.com/rust-lang/crates.io-index" 14239 - checksum = "29ce2c8a9384ad323cf564b67da86e21d3cfdff87908bc1223ed5c99bc792713" 14240 - dependencies = [ 14241 - "zune-core 0.4.12", 14242 - ] 14243 - 14244 - [[package]] 14245 - name = "zune-jpeg" 14246 14223 version = "0.5.15" 14247 14224 source = "registry+https://github.com/rust-lang/crates.io-index" 14248 14225 checksum = "27bc9d5b815bc103f142aa054f561d9187d191692ec7c2d1e2b4737f8dbd7296" 14249 14226 dependencies = [ 14250 - "zune-core 0.5.1", 14227 + "zune-core", 14251 14228 ]
+6 -5
Cargo.toml
··· 24 24 arboard = "3" 25 25 argon2 = { version = "0.5", features = ["alloc"] } 26 26 arrayvec = "0.7" 27 - async-tungstenite = { version = "0.33", features = ["tokio-rustls-webpki-roots"] } 27 + async-tungstenite = { version = "0.34", features = ["tokio-rustls-webpki-roots"] } 28 28 atomic_refcell = "0.1.13" 29 29 aws-lc-rs = { version = "1.15", default-features = false, features = ["aws-lc-sys"] } 30 30 backtrace = "0.3" ··· 115 115 iroh = { version = "0.98", default-features = false, features = ["address-lookup-mdns", "tls-aws-lc-rs"] } 116 116 iroh-persist = { git = "https://github.com/webbeef/iroh-persist.git", branch = "iroh-0.98" } 117 117 itertools = "0.14" 118 - js = { package = "mozjs", version = "=0.15.8", default-features = false, features = ["libz-sys", "intl"] } 118 + js = { package = "mozjs", version = "=0.15.11", default-features = false, features = ["libz-sys", "intl"] } 119 119 jstraceable_derive = { package = "servo-jstraceable-derive", version = "0.1.0", path = "source/components/jstraceable_derive" } 120 120 keyboard-types = { version = "0.8.3", features = ["serde", "webdriver"] } 121 121 kurbo = { version = "0.12", features = ["euclid"] } ··· 155 155 openxr = "0.20" 156 156 paint = { package = "servo-paint", version = "0.1.0", path = "source/components/paint" } 157 157 paint_api = { package = "servo-paint-api", path = "source/components/shared/paint" } 158 + petname = "3.0" 158 159 p256 = { version = "0.13", features = ["ecdh"] } 159 160 p384 = { version = "0.13", features = ["ecdh"] } 160 161 p521 = { version = "0.13", features = ["ecdh"] } ··· 174 175 rayon = "1" 175 176 read-fonts = "0.35.0" 176 177 regex = "1.12" 177 - resvg = "0.45.0" 178 + resvg = "0.47.0" 178 179 rsa = { version = "0.9.10", features = ["sha1", "sha2"] } 179 180 rustc-hash = "2.1.1" 180 181 rustls = { version = "0.23", default-features = false, features = ["logging", "std", "tls12"] } ··· 258 259 tracing = "0.1.44" 259 260 tracing-perfetto = "0.1.5" 260 261 tracing-subscriber = "0.3.22" 261 - tungstenite = "0.28" 262 + tungstenite = "0.29" 262 263 unicode-bidi = "0.3.18" 263 264 unicode_categories = "0.1.1" 264 265 unicode-properties = { version = "0.1.4", features = ["emoji"] } 265 266 unicode-script = "0.5" 266 267 unicode-segmentation = "1.12.0" 267 268 url = "2.5" 268 - urlpattern = "0.3" 269 + urlpattern = "0.5" 269 270 utf-8 = "0.7" 270 271 uuid = { version = "1.20.0", features = ["v4", "v5"] } 271 272 vello = "0.6"
+1 -1
crates/beaver_p2p/Cargo.toml
··· 11 11 n0-error = "0.1" 12 12 n0-future = "0.3" 13 13 parking_lot = "0.12" 14 - petname = "2.0" 14 + petname = { workspace = true } 15 15 postcard = "1.1" 16 16 rand = "0.9" 17 17 serde = "1.0"
+1 -1
crates/beaver_shell/Cargo.toml
··· 50 50 tracing = { workspace = true, optional = true } 51 51 tracing-perfetto = { workspace = true, optional = true } 52 52 tracing-subscriber = { workspace = true, optional = true, features = ["env-filter"] } 53 - tray-icon = { version = "0.21", optional = true } 53 + tray-icon = { version = "0.22", optional = true } 54 54 url = { workspace = true } 55 55 winit = { workspace = true } 56 56
+1 -1
forkme.lock
··· 1 - 71a5dfabdd7afd876123bddda4521696c8291e6f 1 + 6d70fcda1bd27696cec573925c4cca57e293bc77
+14 -14
patches/Cargo.lock.patch
··· 864 864 "url", 865 865 "uuid", 866 866 "webrender_api", 867 - @@ -9038,6 +9541,7 @@ 867 + @@ -9039,6 +9542,7 @@ 868 868 "bpaf", 869 869 "cc", 870 870 "cfg-if", ··· 872 872 "crossbeam-channel", 873 873 "dirs", 874 874 "dpi", 875 - @@ -9052,6 +9556,7 @@ 875 + @@ -9053,6 +9557,7 @@ 876 876 "headers", 877 877 "hilog", 878 878 "hitrace", ··· 880 880 "image", 881 881 "ipc-channel", 882 882 "jni 0.22.4", 883 - @@ -9072,6 +9577,7 @@ 883 + @@ -9073,6 +9578,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 - @@ -9078,6 +9584,7 @@ 891 + @@ -9079,6 +9585,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 - @@ -9649,6 +10156,9 @@ 899 + @@ -9650,6 +10157,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 - @@ -9683,6 +10193,27 @@ 909 + @@ -9684,6 +10194,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 - @@ -9721,6 +10252,12 @@ 937 + @@ -9722,6 +10253,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 - @@ -10028,6 +10565,16 @@ 950 + @@ -10029,6 +10566,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 - @@ -10149,11 +10696,30 @@ 967 + @@ -10150,11 +10697,30 @@ 968 968 "futures-util", 969 969 "pin-project-lite", 970 970 "sync_wrapper", ··· 995 995 name = "tower-layer" 996 996 version = "0.3.3" 997 997 source = "registry+https://github.com/rust-lang/crates.io-index" 998 - @@ -10432,6 +10998,12 @@ 998 + @@ -10433,6 +10999,12 @@ 999 999 ] 1000 1000 1001 1001 [[package]] ··· 1008 1008 name = "untrusted" 1009 1009 version = "0.9.0" 1010 1010 source = "registry+https://github.com/rust-lang/crates.io-index" 1011 - @@ -10451,6 +11023,12 @@ 1011 + @@ -10452,6 +11024,12 @@ 1012 1012 ] 1013 1013 1014 1014 [[package]] ··· 1021 1021 name = "urlpattern" 1022 1022 version = "0.3.0" 1023 1023 source = "registry+https://github.com/rust-lang/crates.io-index" 1024 - @@ -11241,6 +11819,12 @@ 1024 + @@ -11242,6 +11820,12 @@ 1025 1025 ] 1026 1026 1027 1027 [[package]] ··· 1034 1034 name = "winapi" 1035 1035 version = "0.3.9" 1036 1036 source = "registry+https://github.com/rust-lang/crates.io-index" 1037 - @@ -11462,6 +12046,17 @@ 1037 + @@ -11463,6 +12047,17 @@ 1038 1038 ] 1039 1039 1040 1040 [[package]] ··· 1052 1052 name = "windows-result" 1053 1053 version = "0.2.0" 1054 1054 source = "registry+https://github.com/rust-lang/crates.io-index" 1055 - @@ -11678,6 +12273,16 @@ 1055 + @@ -11679,6 +12274,16 @@ 1056 1056 ] 1057 1057 1058 1058 [[package]]
+1 -1
patches/components/constellation/Cargo.toml.patch
··· 24 24 +regex = { workspace = true } 25 25 paint_api = { workspace = true } 26 26 parking_lot = { workspace = true } 27 - +petname = "2.0" 27 + +petname = { workspace = true } 28 28 +postcard = "1.1" 29 29 profile_traits = { workspace = true } 30 30 rand = { workspace = true }
+54 -54
patches/components/constellation/constellation.rs.patch
··· 16 16 use crossbeam_channel::{Receiver, Select, Sender, unbounded}; 17 17 use devtools_traits::{ 18 18 ChromeToDevtoolsControlMsg, DevtoolsControlMsg, DevtoolsPageInfo, NavigationState, 19 - @@ -107,12 +109,12 @@ 19 + @@ -107,12 +109,13 @@ 20 20 use embedder_traits::resources::{self, Resource}; 21 21 use embedder_traits::user_contents::{UserContentManagerId, UserContents}; 22 22 use embedder_traits::{ ··· 24 24 - GenericEmbedderProxy, InputEvent, InputEventAndId, InputEventOutcome, JSValue, 25 25 - JavaScriptEvaluationError, JavaScriptEvaluationId, KeyboardEvent, MediaSessionActionType, 26 26 - MediaSessionEvent, MediaSessionPlaybackState, MouseButton, MouseButtonAction, MouseButtonEvent, 27 - - NewWebViewDetails, PaintHitTestResult, Theme, ViewportDetails, WebDriverCommandMsg, 28 - - WebDriverLoadStatus, WebDriverScriptCommand, 27 + - NewWebViewDetails, PaintHitTestResult, Theme, ViewportDetails, WakeLockDelegate, WakeLockType, 28 + - WebDriverCommandMsg, WebDriverLoadStatus, WebDriverScriptCommand, 29 29 + AnimationState, EmbedderControlId, EmbedderControlRequest, EmbedderControlResponse, 30 30 + EmbedderMsg, EmbedderProxy, FocusSequenceNumber, GenericEmbedderProxy, InputEvent, 31 31 + InputEventAndId, InputEventOutcome, JSValue, JavaScriptEvaluationError, JavaScriptEvaluationId, 32 32 + KeyboardEvent, MediaSessionActionType, MediaSessionEvent, MediaSessionPlaybackState, 33 33 + MouseButton, MouseButtonAction, MouseButtonEvent, NewWebViewDetails, PaintHitTestResult, Theme, 34 - + ViewportDetails, WebDriverCommandMsg, WebDriverLoadStatus, WebDriverScriptCommand, 34 + + ViewportDetails, WakeLockDelegate, WakeLockType, WebDriverCommandMsg, WebDriverLoadStatus, 35 + + WebDriverScriptCommand, 35 36 }; 36 37 use euclid::Size2D; 37 38 use euclid::default::Size2D as UntypedSize2D; 38 - @@ -159,13 +161,14 @@ 39 + @@ -159,13 +162,14 @@ 39 40 use servo_canvas_traits::webgl::WebGLThreads; 40 41 use servo_config::{opts, pref}; 41 42 use servo_constellation_traits::{ ··· 56 57 + TargetSnapshotParams, TraversalDirection, UserContentManagerAction, WindowSizeType, 57 58 }; 58 59 use servo_url::{Host, ImmutableOrigin, ServoUrl}; 59 - use servo_wakelock::{WakeLockProvider, WakeLockType}; 60 - @@ -180,6 +183,7 @@ 60 + use storage_traits::StorageThreads; 61 + @@ -179,6 +183,7 @@ 61 62 use webgpu_traits::{WebGPU, WebGPURequest}; 62 63 63 64 use super::embedder::ConstellationToEmbedderMsg; ··· 65 66 use crate::broadcastchannel::BroadcastChannels; 66 67 use crate::browsingcontext::{ 67 68 AllBrowsingContextsIterator, BrowsingContext, FullyActiveBrowsingContextsIterator, 68 - @@ -187,10 +191,12 @@ 69 + @@ -186,10 +191,12 @@ 69 70 }; 70 71 use crate::constellation_webview::ConstellationWebView; 71 72 use crate::event_loop::EventLoop; ··· 78 79 79 80 struct PendingApprovalNavigation { 80 81 load_data: LoadData, 81 - @@ -221,6 +227,12 @@ 82 + @@ -220,6 +227,12 @@ 82 83 /// While a completion failed, another global requested to complete the transfer. 83 84 /// We are still buffering messages, and awaiting the return of the buffer from the global who failed. 84 85 CompletionRequested(MessagePortRouterId, VecDeque<PortMessageTask>), ··· 91 92 } 92 93 93 94 #[derive(Debug)] 94 - @@ -532,6 +544,31 @@ 95 + @@ -531,6 +544,31 @@ 95 96 /// to the `UserContents` need to be forwared to all the `ScriptThread`s that host 96 97 /// the relevant `WebView`. 97 98 pub(crate) user_contents_for_manager_id: FxHashMap<UserContentManagerId, UserContents>, ··· 123 124 } 124 125 125 126 /// State needed to construct a constellation. 126 - @@ -595,6 +632,9 @@ 127 + @@ -594,6 +632,9 @@ 127 128 128 129 /// The wake lock provider for acquiring and releasing OS-level screen wake locks. 129 - pub wake_lock_provider: Box<dyn WakeLockProvider>, 130 + pub wake_lock_provider: Box<dyn WakeLockDelegate>, 130 131 + 131 132 + /// The configuration directory used for storage. 132 133 + pub config_dir: Option<PathBuf>, 133 134 } 134 135 135 136 /// When we are exiting a pipeline, we can either force exiting or not. A normal exit 136 - @@ -704,7 +744,7 @@ 137 + @@ -703,7 +744,7 @@ 137 138 script_to_devtools_callback: Default::default(), 138 139 #[cfg(feature = "bluetooth")] 139 140 bluetooth_ipc_sender: state.bluetooth_thread, ··· 142 143 private_resource_threads: state.private_resource_threads, 143 144 public_storage_threads: state.public_storage_threads, 144 145 private_storage_threads: state.private_storage_threads, 145 - @@ -759,6 +799,15 @@ 146 + @@ -758,6 +799,15 @@ 146 147 pending_viewport_changes: Default::default(), 147 148 screenshot_readiness_requests: Vec::new(), 148 149 user_contents_for_manager_id: Default::default(), ··· 158 159 }; 159 160 160 161 constellation.run(); 161 - @@ -784,6 +833,18 @@ 162 + @@ -783,6 +833,18 @@ 162 163 fn clean_up_finished_script_event_loops(&mut self) { 163 164 self.event_loop_join_handles 164 165 .retain(|join_handle| !join_handle.is_finished()); ··· 177 178 self.event_loops 178 179 .retain(|event_loop| event_loop.upgrade().is_some()); 179 180 } 180 - @@ -1072,6 +1133,11 @@ 181 + @@ -1071,6 +1133,11 @@ 181 182 .get(&webview_id) 182 183 .and_then(|webview| webview.user_content_manager_id); 183 184 ··· 189 190 let new_pipeline_info = NewPipelineInfo { 190 191 parent_info: parent_pipeline_id, 191 192 new_pipeline_id, 192 - @@ -1083,6 +1149,13 @@ 193 + @@ -1082,6 +1149,13 @@ 193 194 user_content_manager_id, 194 195 theme, 195 196 target_snapshot_params, ··· 203 204 }; 204 205 let pipeline = match Pipeline::spawn(new_pipeline_info, event_loop, self, throttled) { 205 206 Ok(pipeline) => pipeline, 206 - @@ -1249,6 +1322,7 @@ 207 + @@ -1248,6 +1322,7 @@ 207 208 BackgroundHangMonitor(HangMonitorAlert), 208 209 Embedder(EmbedderToConstellationMessage), 209 210 FromSWManager(SWManagerMsg), ··· 211 212 RemoveProcess(usize), 212 213 } 213 214 // Get one incoming request. 214 - @@ -1269,6 +1343,15 @@ 215 + @@ -1268,6 +1343,15 @@ 215 216 sel.recv(&self.embedder_to_constellation_receiver); 216 217 sel.recv(&self.swmanager_receiver); 217 218 ··· 227 228 self.process_manager.register(&mut sel); 228 229 229 230 let request = { 230 - @@ -1299,9 +1382,13 @@ 231 + @@ -1298,9 +1382,13 @@ 231 232 .recv(&self.swmanager_receiver) 232 233 .expect("Unexpected SW channel panic in constellation") 233 234 .map(Request::FromSWManager), ··· 242 243 let _ = oper.recv(self.process_manager.receiver_at(process_index)); 243 244 Ok(Request::RemoveProcess(process_index)) 244 245 }, 245 - @@ -1327,6 +1414,9 @@ 246 + @@ -1326,6 +1414,9 @@ 246 247 Request::FromSWManager(message) => { 247 248 self.handle_request_from_swmanager(message); 248 249 }, ··· 252 253 Request::RemoveProcess(index) => self.process_manager.remove(index), 253 254 } 254 255 } 255 - @@ -1568,11 +1658,7 @@ 256 + @@ -1567,11 +1658,7 @@ 256 257 } 257 258 }, 258 259 EmbedderToConstellationMessage::PreferencesUpdated(updates) => { ··· 265 266 let _ = event_loop.send(ScriptThreadMessage::PreferencesUpdated( 266 267 updates 267 268 .iter() 268 - @@ -1599,6 +1685,18 @@ 269 + @@ -1598,6 +1685,18 @@ 269 270 EmbedderToConstellationMessage::SetAccessibilityActive(webview_id, active) => { 270 271 self.set_accessibility_active(webview_id, active); 271 272 }, ··· 284 285 } 285 286 } 286 287 287 - @@ -1796,7 +1894,13 @@ 288 + @@ -1795,7 +1894,13 @@ 288 289 return warn!("Attempt to add channel name from an unexpected origin."); 289 290 } 290 291 self.broadcast_channels ··· 299 300 }, 300 301 ScriptToConstellationMessage::RemoveBroadcastChannelNameInRouter( 301 302 router_id, 302 - @@ -1810,7 +1914,13 @@ 303 + @@ -1809,7 +1914,13 @@ 303 304 return warn!("Attempt to remove channel name from an unexpected origin."); 304 305 } 305 306 self.broadcast_channels ··· 314 315 }, 315 316 ScriptToConstellationMessage::RemoveBroadcastChannelRouter(router_id, origin) => { 316 317 if self 317 - @@ -1822,6 +1932,12 @@ 318 + @@ -1821,6 +1932,12 @@ 318 319 self.broadcast_channels 319 320 .remove_broadcast_channel_router(router_id); 320 321 }, ··· 327 328 ScriptToConstellationMessage::ScheduleBroadcast(router_id, message) => { 328 329 if self 329 330 .check_origin_against_pipeline(&source_pipeline_id, &message.origin) 330 - @@ -1831,8 +1947,15 @@ 331 + @@ -1830,8 +1947,15 @@ 331 332 "Attempt to schedule broadcast from an origin not matching the origin of the msg." 332 333 ); 333 334 } ··· 344 345 }, 345 346 ScriptToConstellationMessage::PipelineExited => { 346 347 self.handle_pipeline_exited(source_pipeline_id); 347 - @@ -1852,6 +1975,12 @@ 348 + @@ -1851,6 +1975,12 @@ 348 349 ScriptToConstellationMessage::CreateAuxiliaryWebView(load_info) => { 349 350 self.handle_script_new_auxiliary(load_info); 350 351 }, ··· 357 358 ScriptToConstellationMessage::ChangeRunningAnimationsState(animation_state) => { 358 359 self.handle_change_running_animations_state(source_pipeline_id, animation_state) 359 360 }, 360 - @@ -1903,7 +2032,7 @@ 361 + @@ -1902,7 +2032,7 @@ 361 362 ScriptToConstellationMessage::SetFinalUrl(final_url) => { 362 363 // The script may have finished loading after we already started shutting down. 363 364 if let Some(ref mut pipeline) = self.pipelines.get_mut(&source_pipeline_id) { ··· 366 367 } else { 367 368 warn!("constellation got set final url message for dead pipeline"); 368 369 } 369 - @@ -2049,6 +2178,29 @@ 370 + @@ -2048,6 +2178,29 @@ 370 371 new_value, 371 372 ); 372 373 }, ··· 396 397 ScriptToConstellationMessage::MediaSessionEvent(pipeline_id, event) => { 397 398 // Unlikely at this point, but we may receive events coming from 398 399 // different media sessions, so we set the active media session based 399 - @@ -2068,7 +2220,12 @@ 400 + @@ -2067,8 +2220,13 @@ 400 401 } 401 402 self.active_media_session = Some(pipeline_id); 402 403 self.constellation_to_embedder_proxy.send( 403 404 - ConstellationToEmbedderMsg::MediaSessionEvent(webview_id, event), 404 405 + ConstellationToEmbedderMsg::MediaSessionEvent(webview_id, event.clone()), 405 - + ); 406 + ); 406 407 + // Also route to embedded webview parent iframe. 407 408 + self.handle_embedded_webview_notification( 408 409 + webview_id, 409 410 + EmbeddedWebViewEventType::MediaSessionEvent(event), 410 - ); 411 + + ); 411 412 }, 412 413 #[cfg(feature = "webgpu")] 413 - @@ -2143,9 +2300,873 @@ 414 + ScriptToConstellationMessage::RequestAdapter(response_sender, options, ids) => self 415 + @@ -2142,7 +2300,871 @@ 414 416 } 415 417 }, 416 418 }, ··· 959 961 + let _ = callback.send(None); 960 962 + } 961 963 + }, 962 - } 963 - } 964 - 964 + + } 965 + + } 966 + + 965 967 + fn handle_pairing_event(&mut self, event: PairingEvent) { 966 968 + if let PairingEvent::MessageReceived { ref from, ref data } = event { 967 969 + debug!("P2P message received from {from}, {} bytes", data.len()); ··· 1248 1250 + } 1249 1251 + } 1250 1252 + return; 1251 - + } 1253 + } 1252 1254 + 1253 1255 + // Handle peer disconnect: clean up remote channel state. 1254 1256 + if let PairingEvent::PeerExpired { ref id } = event { ··· 1279 1281 + let _ = event_loop.send(ScriptThreadMessage::DispatchPairingEvent(event.clone())); 1280 1282 + } 1281 1283 + } 1282 - + } 1283 - + 1284 + } 1285 + 1284 1286 /// Check the origin of a message against that of the pipeline it came from. 1285 - /// Note: this is still limited as a security check, 1286 - /// see <https://github.com/servo/servo/issues/11722> 1287 - @@ -2462,6 +3483,55 @@ 1287 + @@ -2461,6 +3483,55 @@ 1288 1288 TransferState::TransferInProgress(queue) => queue.push_back(task), 1289 1289 TransferState::CompletionFailed(queue) => queue.push_back(task), 1290 1290 TransferState::CompletionRequested(_, queue) => queue.push_back(task), ··· 1340 1340 } 1341 1341 } 1342 1342 1343 - @@ -3361,6 +4431,40 @@ 1343 + @@ -3360,6 +4431,40 @@ 1344 1344 /// <https://html.spec.whatwg.org/multipage/#destroy-a-top-level-traversable> 1345 1345 fn handle_close_top_level_browsing_context(&mut self, webview_id: WebViewId) { 1346 1346 debug!("{webview_id}: Closing"); ··· 1381 1381 let browsing_context_id = BrowsingContextId::from(webview_id); 1382 1382 // Step 5. Remove traversable from the user agent's top-level traversable set. 1383 1383 let browsing_context = 1384 - @@ -3637,8 +4741,27 @@ 1384 + @@ -3636,8 +4741,27 @@ 1385 1385 opener_webview_id, 1386 1386 opener_pipeline_id, 1387 1387 response_sender, ··· 1409 1409 let Some((webview_id_sender, webview_id_receiver)) = generic_channel::channel() else { 1410 1410 warn!("Failed to create channel"); 1411 1411 let _ = response_sender.send(None); 1412 - @@ -3737,6 +4860,395 @@ 1412 + @@ -3736,6 +4860,395 @@ 1413 1413 }); 1414 1414 } 1415 1415 ··· 1805 1805 #[servo_tracing::instrument(skip_all)] 1806 1806 fn handle_refresh_cursor(&self, pipeline_id: PipelineId) { 1807 1807 let Some(pipeline) = self.pipelines.get(&pipeline_id) else { 1808 - @@ -4286,7 +5798,7 @@ 1808 + @@ -4285,7 +5798,7 @@ 1809 1809 }, 1810 1810 }; 1811 1811 ··· 1814 1814 match self.browsing_contexts.get_mut(&browsing_context_id) { 1815 1815 Some(browsing_context) => { 1816 1816 let old_pipeline_id = browsing_context.pipeline_id; 1817 - @@ -4295,6 +5807,7 @@ 1817 + @@ -4294,6 +5807,7 @@ 1818 1818 old_pipeline_id, 1819 1819 browsing_context.parent_pipeline_id, 1820 1820 browsing_context.webview_id, ··· 1822 1822 ) 1823 1823 }, 1824 1824 None => { 1825 - @@ -4304,6 +5817,15 @@ 1825 + @@ -4303,6 +5817,15 @@ 1826 1826 1827 1827 self.unload_document(old_pipeline_id); 1828 1828 ··· 1838 1838 if let Some(new_pipeline) = self.pipelines.get(&new_pipeline_id) { 1839 1839 if let Some(ref chan) = self.devtools_sender { 1840 1840 let state = NavigationState::Start(new_pipeline.url.clone()); 1841 - @@ -4862,7 +6384,7 @@ 1841 + @@ -4861,7 +6384,7 @@ 1842 1842 } 1843 1843 1844 1844 #[servo_tracing::instrument(skip_all)] ··· 1847 1847 // Send a flat projection of the history to embedder. 1848 1848 // The final vector is a concatenation of the URLs of the past 1849 1849 // entries, the current entry and the future entries. 1850 - @@ -4966,9 +6488,22 @@ 1850 + @@ -4965,9 +6488,22 @@ 1851 1851 self.constellation_to_embedder_proxy 1852 1852 .send(ConstellationToEmbedderMsg::HistoryChanged( 1853 1853 webview_id, ··· 1871 1871 } 1872 1872 1873 1873 #[servo_tracing::instrument(skip_all)] 1874 - @@ -4987,7 +6522,7 @@ 1874 + @@ -4986,7 +6522,7 @@ 1875 1875 } 1876 1876 } 1877 1877 ··· 1880 1880 match self.browsing_contexts.get_mut(&change.browsing_context_id) { 1881 1881 Some(browsing_context) => { 1882 1882 debug!("Adding pipeline to existing browsing context."); 1883 - @@ -4994,11 +6529,15 @@ 1883 + @@ -4993,11 +6529,15 @@ 1884 1884 let old_pipeline_id = browsing_context.pipeline_id; 1885 1885 browsing_context.pipelines.insert(change.new_pipeline_id); 1886 1886 browsing_context.update_current_entry(change.new_pipeline_id); ··· 1898 1898 }, 1899 1899 }; 1900 1900 1901 - @@ -5006,6 +6545,18 @@ 1901 + @@ -5005,6 +6545,18 @@ 1902 1902 self.unload_document(old_pipeline_id); 1903 1903 } 1904 1904
+2 -2
patches/components/script/dom/debugger/debuggerglobalscope.rs.patch
··· 1 1 --- original 2 2 +++ modified 3 - @@ -114,9 +114,11 @@ 3 + @@ -115,9 +115,11 @@ 4 4 None, 5 5 #[cfg(feature = "webgpu")] 6 6 gpu_id_hub, ··· 12 12 + false, // is_embedded_webview 13 13 + false, // hide_focus - debugger has no focus 14 14 + None, // font_context 15 + HttpsState::None, 15 16 ), 16 17 devtools_to_script_sender, 17 - get_possible_breakpoints_result_sender: RefCell::new(None),
+2 -2
patches/components/script/dom/dissimilaroriginwindow.rs.patch
··· 1 1 --- original 2 2 +++ modified 3 - @@ -67,7 +67,9 @@ 3 + @@ -68,7 +68,9 @@ 4 4 #[cfg(feature = "webgpu")] 5 5 global_to_clone_from.wgpu_id_hub(), 6 6 Some(global_to_clone_from.is_secure_context()), ··· 9 9 + false, // is_embedded_webview - dissimilar origin windows are never embedded webviews 10 10 + false, // hide_focus - dissimilar origin windows don't have focus 11 11 global_to_clone_from.font_context().cloned(), 12 + HttpsState::None, 12 13 ), 13 - window_proxy: Dom::from_ref(window_proxy),
+14 -14
patches/components/script/dom/document/document.rs.patch
··· 8 8 use fonts::WebFontDocumentContext; 9 9 use html5ever::{LocalName, Namespace, QualName, local_name, ns}; 10 10 use hyper_serde::Serde; 11 - @@ -53,11 +54,13 @@ 11 + @@ -52,11 +53,13 @@ 12 12 use script_traits::{DocumentActivity, ProgressiveWebMetricType}; 13 13 use servo_arc::Arc; 14 14 use servo_base::cross_process_instant::CrossProcessInstant; ··· 24 24 use servo_media::{ClientContextId, ServoMedia}; 25 25 use servo_url::{ImmutableOrigin, MutableOrigin, ServoUrl}; 26 26 use style::attr::AttrValue; 27 - @@ -614,6 +617,9 @@ 27 + @@ -611,6 +614,9 @@ 28 28 #[no_trace] 29 29 favicon: RefCell<Option<Image>>, 30 30 ··· 34 34 /// All websockets created that are associated with this document. 35 35 websockets: DOMTracker<WebSocket>, 36 36 37 - @@ -641,6 +647,11 @@ 37 + @@ -638,6 +644,11 @@ 38 38 39 39 /// <https://w3c.github.io/editing/docs/execCommand/#css-styling-flag> 40 40 css_styling_flag: Cell<bool>, ··· 46 46 } 47 47 48 48 impl Document { 49 - @@ -868,6 +879,12 @@ 49 + @@ -861,6 +872,12 @@ 50 50 51 51 // Set the document's activity level, reflow if necessary, and suspend or resume timers. 52 52 self.activity.set(activity); ··· 59 59 let media = ServoMedia::get(); 60 60 let pipeline_id = self.window().pipeline_id(); 61 61 let client_context_id = 62 - @@ -881,6 +898,7 @@ 62 + @@ -874,6 +891,7 @@ 63 63 64 64 self.title_changed(); 65 65 self.notify_embedder_favicon(); ··· 67 67 self.dirty_all_nodes(); 68 68 self.window().resume(CanGc::from_cx(cx)); 69 69 media.resume(&client_context_id); 70 - @@ -1279,6 +1297,9 @@ 70 + @@ -1272,6 +1290,9 @@ 71 71 LoadStatus::Started, 72 72 )); 73 73 self.send_to_embedder(EmbedderMsg::Status(self.webview_id(), None)); ··· 77 77 } 78 78 }, 79 79 DocumentReadyState::Complete => { 80 - @@ -1287,6 +1308,9 @@ 80 + @@ -1280,6 +1301,9 @@ 81 81 self.webview_id(), 82 82 LoadStatus::Complete, 83 83 )); ··· 87 87 } 88 88 update_with_current_instant(&self.dom_complete); 89 89 }, 90 - @@ -1365,7 +1389,13 @@ 90 + @@ -1358,7 +1382,13 @@ 91 91 let window = self.window(); 92 92 if window.is_top_level() { 93 93 let title = self.title().map(String::from); ··· 102 102 } 103 103 } 104 104 105 - @@ -1374,6 +1404,18 @@ 105 + @@ -1367,6 +1397,18 @@ 106 106 window.send_to_embedder(msg); 107 107 } 108 108 ··· 121 121 pub(crate) fn dirty_all_nodes(&self) { 122 122 let root = match self.GetDocumentElement() { 123 123 Some(root) => root, 124 - @@ -2929,9 +2971,59 @@ 124 + @@ -2922,9 +2964,59 @@ 125 125 current_rendering_epoch, 126 126 ); 127 127 ··· 181 181 pub(crate) fn handle_no_longer_waiting_on_asynchronous_image_updates(&self) { 182 182 self.waiting_on_canvas_image_updates.set(false); 183 183 } 184 - @@ -3647,6 +3739,7 @@ 184 + @@ -3639,6 +3731,7 @@ 185 185 active_sandboxing_flag_set: Cell::new(creation_sandboxing_flag_set), 186 186 creation_sandboxing_flag_set: Cell::new(creation_sandboxing_flag_set), 187 187 favicon: RefCell::new(None), ··· 189 189 websockets: DOMTracker::new(), 190 190 details_name_groups: Default::default(), 191 191 protocol_handler_automation_mode: Default::default(), 192 - @@ -3655,6 +3748,7 @@ 192 + @@ -3647,6 +3740,7 @@ 193 193 value_override: Default::default(), 194 194 default_single_line_container_name: Default::default(), 195 195 css_styling_flag: Default::default(), ··· 197 197 } 198 198 } 199 199 200 - @@ -4594,6 +4688,36 @@ 200 + @@ -4586,6 +4680,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 - @@ -4664,6 +4788,30 @@ 237 + @@ -4656,6 +4780,30 @@ 238 238 pub(crate) fn set_css_styling_flag(&self, value: bool) { 239 239 self.css_styling_flag.set(value) 240 240 }
+4 -4
patches/components/script/dom/globalscope.rs.patch
··· 24 24 + is_embedded_webview: bool, 25 25 + hide_focus: bool, 26 26 font_context: Option<Arc<FontContext>>, 27 + initial_https_state: HttpsState, 27 28 ) -> Self { 28 - Self { 29 - @@ -813,6 +825,8 @@ 29 + @@ -814,6 +826,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 - @@ -1138,6 +1152,25 @@ 38 + @@ -1139,6 +1153,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 - @@ -3157,6 +3190,16 @@ 64 + @@ -3158,6 +3191,16 @@ 65 65 self.inherited_secure_context 66 66 } 67 67
+1 -1
patches/components/script/dom/html/htmlbodyelement.rs.patch
··· 8 8 use style::attr::AttrValue; 9 9 use style::color::AbsoluteColor; 10 10 11 - @@ -131,6 +132,12 @@ 11 + @@ -134,6 +135,12 @@ 12 12 window.webview_id(), 13 13 LoadStatus::HeadParsed, 14 14 ));
+1 -1
patches/components/script/dom/html/input_element/mod.rs.patch
··· 11 11 use encoding_rs::Encoding; 12 12 use fonts::{ByteIndex, TextByteRange}; 13 13 use html5ever::{LocalName, Prefix, local_name}; 14 - @@ -1899,10 +1901,25 @@ 14 + @@ -1949,10 +1951,25 @@ 15 15 .hide_embedder_control(self.upcast()); 16 16 } else if *event_type == *"focus" { 17 17 let input_type = &*self.input_type();
+10
patches/components/script/dom/url/urlpattern.rs.patch
··· 1 + --- original 2 + +++ modified 3 + @@ -50,6 +50,7 @@ 4 + let input = bindings_to_third_party::map_urlpattern_input(input); 5 + let options = urlpattern::UrlPatternOptions { 6 + ignore_case: options.ignoreCase, 7 + + regex_syntax: urlpattern::parser::RegexSyntax::EcmaScript, 8 + }; 9 + 10 + // Parse and initialize the URL pattern.
+13 -13
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 - @@ -1150,12 +1151,22 @@ 34 + @@ -1151,12 +1152,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 - @@ -1183,13 +1194,22 @@ 58 + @@ -1184,13 +1195,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 - @@ -1234,6 +1254,7 @@ 82 + @@ -1235,6 +1255,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 - @@ -1240,8 +1261,16 @@ 90 + @@ -1241,8 +1262,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 - @@ -1728,6 +1757,26 @@ 108 + @@ -1729,6 +1758,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 - @@ -3110,9 +3159,33 @@ 135 + @@ -3111,9 +3160,33 @@ 136 136 &self, 137 137 input_event: &ConstellationInputEvent, 138 138 ) -> Option<HitTestResult> { ··· 169 169 } 170 170 171 171 #[expect(unsafe_code)] 172 - @@ -3131,8 +3204,25 @@ 172 + @@ -3132,8 +3205,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 - @@ -3675,6 +3765,8 @@ 199 + @@ -3676,6 +3766,8 @@ 200 200 player_context: WindowGLContext, 201 201 #[cfg(feature = "webgpu")] gpu_id_hub: Arc<IdentityHub>, 202 202 inherited_secure_context: Option<bool>, ··· 204 204 + hide_focus: bool, 205 205 theme: Theme, 206 206 weak_script_thread: Weak<ScriptThread>, 207 - ) -> DomRoot<Self> { 208 - @@ -3701,6 +3793,8 @@ 207 + initial_https_state: HttpsState, 208 + @@ -3703,6 +3795,8 @@ 209 209 gpu_id_hub, 210 210 inherited_secure_context, 211 211 unminify_js, 212 212 + is_embedded_webview, 213 213 + hide_focus, 214 214 Some(font_context), 215 + initial_https_state, 215 216 ), 216 - ongoing_navigation: Default::default(), 217 - @@ -3986,3 +4080,115 @@ 217 + @@ -3989,3 +4083,115 @@ 218 218 Self::create_named_properties_object(cx, proto, object) 219 219 } 220 220 }
+2 -2
patches/components/script/dom/workers/workerglobalscope.rs.patch
··· 1 1 --- original 2 2 +++ modified 3 - @@ -360,6 +360,8 @@ 3 + @@ -372,6 +372,8 @@ 4 4 gpu_id_hub, 5 5 init.inherited_secure_context, 6 6 init.unminify_js, 7 7 + false, // is_embedded_webview - workers are never embedded webviews 8 8 + false, // hide_focus - workers don't have focus 9 9 font_context, 10 + HttpsState::None, 10 11 ), 11 - microtask_queue: runtime.microtask_queue.clone(),
+2 -2
patches/components/script/dom/workletglobalscope.rs.patch
··· 1 1 --- original 2 2 +++ modified 3 - @@ -122,8 +122,10 @@ 3 + @@ -123,8 +123,10 @@ 4 4 #[cfg(feature = "webgpu")] 5 5 init.gpu_id_hub.clone(), 6 6 inherited_secure_context, ··· 10 10 + false, // is_embedded_webview - worklets are never embedded webviews 11 11 + false, // hide_focus - worklets don't have focus 12 12 + None, // font_context 13 + HttpsState::None, 13 14 ), 14 15 base_url, 15 - to_script_thread_sender: init.to_script_thread_sender.clone(),
+2 -2
patches/components/script/script_thread.rs.patch
··· 349 349 + incomplete.hide_focus, 350 350 incomplete.theme, 351 351 self.this.clone(), 352 - ); 353 - @@ -3456,6 +3698,7 @@ 352 + metadata.https_state, 353 + @@ -3457,6 +3699,7 @@ 354 354 incomplete.webview_id, 355 355 incomplete.parent_info, 356 356 incomplete.opener,
+4 -4
patches/components/script_bindings/codegen/Bindings.conf.patch
··· 12 12 'Attr': { 13 13 'cx':['SetValue'], 14 14 }, 15 - @@ -305,6 +310,11 @@ 15 + @@ -313,6 +318,11 @@ 16 16 'cx': ['CheckValidity', 'ReportValidity'], 17 17 }, 18 18 ··· 24 24 'EventSource': { 25 25 'weakReferenceable': True, 26 26 }, 27 - @@ -715,9 +725,9 @@ 27 + @@ -737,9 +747,9 @@ 28 28 }, 29 29 30 30 'Navigator': { ··· 37 37 }, 38 38 39 39 'WakeLock': { 40 - @@ -758,6 +768,11 @@ 40 + @@ -780,6 +790,11 @@ 41 41 'cx': ['RegisterPaint'], 42 42 }, 43 43 ··· 49 49 'PerformanceObserver': { 50 50 'canGc': ['SupportedEntryTypes'], 51 51 }, 52 - @@ -925,7 +940,8 @@ 52 + @@ -959,7 +974,8 @@ 53 53 }, 54 54 55 55 'Window': {
+7 -7
patches/components/servo/servo.rs.patch
··· 153 153 } 154 154 } 155 155 156 - @@ -948,6 +1024,7 @@ 156 + @@ -951,6 +1027,7 @@ 157 157 async_runtime, 158 158 public_storage_threads.clone(), 159 159 private_storage_threads.clone(), ··· 161 161 ); 162 162 163 163 net::connector::prewarm_tls(); 164 - @@ -959,6 +1036,7 @@ 164 + @@ -962,6 +1039,7 @@ 165 165 Servo(Rc::new(ServoInner { 166 166 delegate: RefCell::new(Rc::new(DefaultServoDelegate)), 167 167 paint, ··· 169 169 network_manager: Rc::new(RefCell::new(NetworkManager::new( 170 170 public_resource_threads.clone(), 171 171 private_resource_threads.clone(), 172 - @@ -993,6 +1071,10 @@ 172 + @@ -996,6 +1074,10 @@ 173 173 *self.0.delegate.borrow_mut() = delegate; 174 174 } 175 175 ··· 180 180 /// **EXPERIMENTAL:** Intialize GL accelerated media playback. This currently only works on a limited number 181 181 /// of platforms. This should be run *before* creating [`Servo`] and its first [`WebView`]. 182 182 pub fn initialize_gl_accelerated_media(display: NativeDisplay, api: GlApi, context: GlContext) { 183 - @@ -1047,6 +1129,14 @@ 183 + @@ -1050,6 +1132,14 @@ 184 184 &self.0.site_data_manager 185 185 } 186 186 ··· 195 195 pub(crate) fn paint<'a>(&'a self) -> Ref<'a, Paint> { 196 196 self.0.paint.borrow() 197 197 } 198 - @@ -1149,6 +1239,7 @@ 198 + @@ -1152,6 +1242,7 @@ 199 199 async_runtime: Box<dyn net_traits::AsyncRuntime>, 200 200 public_storage_threads: StorageThreads, 201 201 private_storage_threads: StorageThreads, ··· 203 203 ) { 204 204 // Global configuration options, parsed from the command line. 205 205 let opts = opts::get(); 206 - @@ -1192,6 +1283,7 @@ 206 + @@ -1195,6 +1286,7 @@ 207 207 async_runtime, 208 208 privileged_urls, 209 - wake_lock_provider: Box::new(NoOpWakeLockProvider), 209 + wake_lock_provider: Box::new(DefaultWakeLockDelegate), 210 210 + config_dir, 211 211 }; 212 212
+13 -12
patches/components/shared/constellation/from_script_message.rs.patch
··· 1 1 --- original 2 2 +++ modified 3 - @@ -10,8 +10,9 @@ 3 + @@ -10,9 +10,9 @@ 4 4 use devtools_traits::{DevtoolScriptControlMsg, ScriptToDevtoolsControlMsg, WorkerId}; 5 5 use embedder_traits::user_contents::UserContentManagerId; 6 6 use embedder_traits::{ 7 7 - AnimationState, FocusSequenceNumber, JSValue, JavaScriptEvaluationError, 8 8 - JavaScriptEvaluationId, MediaSessionEvent, ScriptToEmbedderChan, Theme, ViewportDetails, 9 + - WakeLockType, 9 10 + AnimationState, EmbedderControlId, EmbedderControlResponse, FocusSequenceNumber, 10 11 + InputEventAndId, JSValue, JavaScriptEvaluationError, JavaScriptEvaluationId, MediaSessionEvent, 11 - + ScriptToEmbedderChan, Theme, ViewportDetails, 12 + + ScriptToEmbedderChan, Theme, ViewportDetails, WakeLockType, 12 13 }; 13 14 use encoding_rs::Encoding; 14 15 use euclid::default::Size2D as UntypedSize2D; 15 - @@ -36,6 +37,7 @@ 16 + @@ -37,6 +37,7 @@ 16 17 }; 17 18 use servo_canvas_traits::canvas::{CanvasId, CanvasMsg}; 18 19 use servo_canvas_traits::webgl::WebGLChan; 19 20 +use servo_config::pref_util::PrefValue; 20 21 use servo_url::{ImmutableOrigin, OriginSnapshot, ServoUrl}; 21 - use servo_wakelock::WakeLockType; 22 22 use storage_traits::StorageThreads; 23 - @@ -46,7 +48,8 @@ 23 + use storage_traits::webstorage_thread::WebStorageType; 24 + @@ -46,7 +47,8 @@ 24 25 25 26 use crate::structured_data::{BroadcastChannelMsg, StructuredSerializedData}; 26 27 use crate::{ ··· 30 31 }; 31 32 32 33 pub type ScriptToConstellationSender = 33 - @@ -403,11 +406,14 @@ 34 + @@ -403,11 +405,14 @@ 34 35 pub opener_webview_id: WebViewId, 35 36 /// The pipeline opener browsing context. 36 37 pub opener_pipeline_id: PipelineId, ··· 47 48 #[derive(Debug, Deserialize, Serialize)] 48 49 pub struct AuxiliaryWebViewCreationResponse { 49 50 /// The new webview ID. 50 - @@ -418,6 +424,38 @@ 51 + @@ -418,6 +423,38 @@ 51 52 pub user_content_manager_id: Option<UserContentManagerId>, 52 53 } 53 54 ··· 86 87 /// Specifies the information required to load an iframe. 87 88 #[derive(Debug, Deserialize, Serialize)] 88 89 pub struct IFrameLoadInfo { 89 - @@ -552,6 +590,90 @@ 90 + @@ -552,6 +589,90 @@ 90 91 StorageEvent, 91 92 } 92 93 ··· 177 178 /// Messages from the script to the constellation. 178 179 #[derive(Deserialize, IntoStaticStr, Serialize)] 179 180 pub enum ScriptToConstellationMessage { 180 - @@ -596,6 +718,10 @@ 181 + @@ -596,6 +717,10 @@ 181 182 NewBroadcastChannelNameInRouter(BroadcastChannelRouterId, String, ImmutableOrigin), 182 183 /// A global stopped managing broadcast channels for a given channel-name. 183 184 RemoveBroadcastChannelNameInRouter(BroadcastChannelRouterId, String, ImmutableOrigin), ··· 188 189 /// Broadcast a message to all same-origin broadcast channels, 189 190 /// excluding the source of the broadcast. 190 191 ScheduleBroadcast(BroadcastChannelRouterId, BroadcastChannelMsg), 191 - @@ -614,6 +740,9 @@ 192 + @@ -614,6 +739,9 @@ 192 193 Option<String>, 193 194 Option<String>, 194 195 ), ··· 198 199 /// Indicates whether this pipeline is currently running animations. 199 200 ChangeRunningAnimationsState(AnimationState), 200 201 /// Requests that a new 2D canvas thread be created. (This is done in the constellation because 201 - @@ -697,6 +826,10 @@ 202 + @@ -697,6 +825,10 @@ 202 203 ScriptNewIFrame(IFrameLoadInfoWithData), 203 204 /// Script has opened a new auxiliary browsing context. 204 205 CreateAuxiliaryWebView(AuxiliaryWebViewCreationRequest), ··· 209 210 /// Mark a new document as active 210 211 ActivateDocument, 211 212 /// Set the document state for a pipeline (used by screenshot / reftests) 212 - @@ -754,6 +887,122 @@ 213 + @@ -754,6 +886,122 @@ 213 214 /// aggregate lock count and notify the provider only when the count transitions from N to 0. 214 215 /// <https://w3c.github.io/screen-wake-lock/#dfn-release-wake-lock> 215 216 ReleaseWakeLock(WakeLockType),
+3 -3
patches/components/shared/embedder/lib.rs.patch
··· 218 218 #[derive(Clone, Copy, Debug, Deserialize, Serialize)] 219 219 pub struct RgbColor { 220 220 pub red: u8, 221 - @@ -1148,3 +1280,26 @@ 222 - self 223 - } 221 + @@ -1170,3 +1302,26 @@ 222 + /// from N to 0. 223 + fn release(&self, type_: WakeLockType) -> Result<(), Box<dyn std::error::Error>>; 224 224 } 225 225 + 226 226 +/// Types of errors that can be reported via `navigator.embedder.onservoerror`.
+1 -1
patches/components/shared/layout/lib.rs.patch
··· 1 1 --- original 2 2 +++ modified 3 - @@ -63,6 +63,7 @@ 3 + @@ -68,6 +68,7 @@ 4 4 use style::str::char_is_whitespace; 5 5 use style::stylesheets::{DocumentStyleSheet, Stylesheet}; 6 6 use style::stylist::Stylist;