Rewild Your Web
18
fork

Configure Feed

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

chore: update to Servo 316e6215a4a15723a05ec9d01017193800140e58

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

webbeef adc6f416 d5a5d7f2

+398 -351
+142 -129
Cargo.lock
··· 193 193 checksum = "0f2a1bb052857d5dd49572219344a7332b31b76405648eabac5bc68978251bcd" 194 194 dependencies = [ 195 195 "android-properties", 196 - "bitflags 2.11.0", 196 + "bitflags 2.11.1", 197 197 "cc", 198 198 "jni 0.22.4", 199 199 "libc", ··· 755 755 source = "registry+https://github.com/rust-lang/crates.io-index" 756 756 checksum = "993776b509cfb49c750f11b8f07a46fa23e0a1386ffc01fb1e7d343efc387895" 757 757 dependencies = [ 758 - "bitflags 2.11.0", 758 + "bitflags 2.11.1", 759 759 "cexpr", 760 760 "clang-sys", 761 761 "itertools 0.13.0", ··· 796 796 797 797 [[package]] 798 798 name = "bitflags" 799 - version = "2.11.0" 799 + version = "2.11.1" 800 800 source = "registry+https://github.com/rust-lang/crates.io-index" 801 - checksum = "843867be96c8daad0d758b57df9392b6d8d271134fce549de6ce169ff98a92af" 801 + checksum = "c4512299f36f043ab09a583e57bceb5a5aab7a73db1805848e8fef3c9e8c78b3" 802 802 dependencies = [ 803 803 "serde_core", 804 804 ] ··· 892 892 source = "registry+https://github.com/rust-lang/crates.io-index" 893 893 checksum = "84ae4213cc2a8dc663acecac67bbdad05142be4d8ef372b6903abf878b0c690a" 894 894 dependencies = [ 895 - "bitflags 2.11.0", 895 + "bitflags 2.11.1", 896 896 "bluez-generated", 897 897 "dbus", 898 898 "dbus-tokio", ··· 952 952 checksum = "52c3264dbe2c8e29381e4e95aa2d2783ad0b9192b511240f3755b7e5e3cee87e" 953 953 dependencies = [ 954 954 "async-trait", 955 - "bitflags 2.11.0", 955 + "bitflags 2.11.1", 956 956 "bluez-async", 957 957 "dashmap", 958 958 "dbus", ··· 1051 1051 source = "registry+https://github.com/rust-lang/crates.io-index" 1052 1052 checksum = "8ca26ef0159422fb77631dc9d17b102f253b876fe1586b03b803e63a309b4ee2" 1053 1053 dependencies = [ 1054 - "bitflags 2.11.0", 1054 + "bitflags 2.11.1", 1055 1055 "cairo-sys-rs", 1056 1056 "glib 0.18.5", 1057 1057 "libc", ··· 1086 1086 source = "registry+https://github.com/rust-lang/crates.io-index" 1087 1087 checksum = "b99da2f8558ca23c71f4fd15dc57c906239752dd27ff3c00a1d56b685b7cbfec" 1088 1088 dependencies = [ 1089 - "bitflags 2.11.0", 1089 + "bitflags 2.11.1", 1090 1090 "log", 1091 1091 "polling", 1092 1092 "rustix 0.38.44", ··· 1468 1468 checksum = "d348c3856ad6a6b957d69dc8cf93e66fe9be5a7657fdd7028b1a56d2775e3fce" 1469 1469 dependencies = [ 1470 1470 "base64 0.22.1", 1471 - "bitflags 2.11.0", 1471 + "bitflags 2.11.1", 1472 1472 "once_cell", 1473 1473 "percent-encoding", 1474 1474 "regex", ··· 1572 1572 source = "registry+https://github.com/rust-lang/crates.io-index" 1573 1573 checksum = "3d44a101f213f6c4cdc1853d4b78aef6db6bdfa3468798cc1d9912f4735013eb" 1574 1574 dependencies = [ 1575 - "bitflags 2.11.0", 1575 + "bitflags 2.11.1", 1576 1576 "core-foundation 0.10.1", 1577 1577 "libc", 1578 1578 ] ··· 2130 2130 source = "registry+https://github.com/rust-lang/crates.io-index" 2131 2131 checksum = "1e0e367e4e7da84520dedcac1901e4da967309406d1e51017ae1abfb97adbd38" 2132 2132 dependencies = [ 2133 - "bitflags 2.11.0", 2133 + "bitflags 2.11.1", 2134 2134 "block2 0.6.2", 2135 2135 "libc", 2136 2136 "objc2 0.6.4", ··· 2514 2514 dependencies = [ 2515 2515 "getrandom 0.3.4", 2516 2516 "libm", 2517 - "rand 0.9.3", 2517 + "rand 0.9.4", 2518 2518 "siphasher", 2519 2519 ] 2520 2520 ··· 3061 3061 "js-sys", 3062 3062 "libc", 3063 3063 "r-efi 6.0.0", 3064 - "rand_core 0.10.0", 3064 + "rand_core 0.10.1", 3065 3065 "wasip2", 3066 3066 "wasip3", 3067 3067 "wasm-bindgen", ··· 3174 3174 source = "registry+https://github.com/rust-lang/crates.io-index" 3175 3175 checksum = "233daaf6e83ae6a12a52055f568f9d7cf4671dabb78ff9560ab6da230ce00ee5" 3176 3176 dependencies = [ 3177 - "bitflags 2.11.0", 3177 + "bitflags 2.11.1", 3178 3178 "futures-channel", 3179 3179 "futures-core", 3180 3180 "futures-executor", ··· 3197 3197 source = "registry+https://github.com/rust-lang/crates.io-index" 3198 3198 checksum = "a1b7df55594e0e787d1560e23f7e12d7360d0b22e7b7c228ec2488b9e59b1b6b" 3199 3199 dependencies = [ 3200 - "bitflags 2.11.0", 3200 + "bitflags 2.11.1", 3201 3201 "futures-channel", 3202 3202 "futures-core", 3203 3203 "futures-executor", ··· 3363 3363 source = "registry+https://github.com/rust-lang/crates.io-index" 3364 3364 checksum = "fbcd2dba93594b227a1f57ee09b8b9da8892c34d55aa332e034a228d0fe6a171" 3365 3365 dependencies = [ 3366 - "bitflags 2.11.0", 3366 + "bitflags 2.11.1", 3367 3367 "gpu-alloc-types", 3368 3368 ] 3369 3369 ··· 3373 3373 source = "registry+https://github.com/rust-lang/crates.io-index" 3374 3374 checksum = "98ff03b468aa837d70984d55f5d3f846f6ec31fe34bbb97c4f85219caeee1ca4" 3375 3375 dependencies = [ 3376 - "bitflags 2.11.0", 3376 + "bitflags 2.11.1", 3377 3377 ] 3378 3378 3379 3379 [[package]] ··· 3394 3394 source = "registry+https://github.com/rust-lang/crates.io-index" 3395 3395 checksum = "b89c83349105e3732062a895becfc71a8f921bb71ecbbdd8ff99263e3b53a0ca" 3396 3396 dependencies = [ 3397 - "bitflags 2.11.0", 3397 + "bitflags 2.11.1", 3398 3398 "gpu-descriptor-types", 3399 3399 "hashbrown 0.15.5", 3400 3400 ] ··· 3405 3405 source = "registry+https://github.com/rust-lang/crates.io-index" 3406 3406 checksum = "fdf242682df893b86f33a73828fb09ca4b2d3bb6cc95249707fc684d27484b91" 3407 3407 dependencies = [ 3408 - "bitflags 2.11.0", 3408 + "bitflags 2.11.1", 3409 3409 ] 3410 3410 3411 3411 [[package]] ··· 4048 4048 "idna", 4049 4049 "ipnet", 4050 4050 "once_cell", 4051 - "rand 0.9.3", 4051 + "rand 0.9.4", 4052 4052 "ring", 4053 4053 "rustls", 4054 4054 "thiserror 2.0.18", ··· 4072 4072 "moka", 4073 4073 "once_cell", 4074 4074 "parking_lot", 4075 - "rand 0.9.3", 4075 + "rand 0.9.4", 4076 4076 "resolv-conf", 4077 4077 "rustls", 4078 4078 "smallvec", ··· 5008 5008 "libc", 5009 5009 "mio", 5010 5010 "postcard", 5011 - "rand 0.9.3", 5011 + "rand 0.9.4", 5012 5012 "rustc-hash 2.1.2", 5013 5013 "serde_core", 5014 5014 "tempfile", ··· 5078 5078 "pkarr", 5079 5079 "pkcs8 0.11.0-rc.11", 5080 5080 "portable-atomic", 5081 - "rand 0.9.3", 5081 + "rand 0.9.4", 5082 5082 "reqwest", 5083 5083 "rustc-hash 2.1.2", 5084 5084 "rustls", ··· 5157 5157 "ed25519-dalek 2.2.0", 5158 5158 "iroh", 5159 5159 "n0-error", 5160 - "rand 0.9.3", 5160 + "rand 0.9.4", 5161 5161 "ssh-key", 5162 5162 "test-log", 5163 5163 "tokio", ··· 5183 5183 "hyper-util", 5184 5184 "iroh-base", 5185 5185 "iroh-metrics", 5186 - "lru 0.16.3", 5186 + "lru 0.16.4", 5187 5187 "n0-error", 5188 5188 "n0-future", 5189 5189 "noq", ··· 5192 5192 "pin-project", 5193 5193 "pkarr", 5194 5194 "postcard", 5195 - "rand 0.9.3", 5195 + "rand 0.9.4", 5196 5196 "reqwest", 5197 5197 "rustls", 5198 5198 "rustls-pki-types", ··· 5443 5443 source = "registry+https://github.com/rust-lang/crates.io-index" 5444 5444 checksum = "b750dcadc39a09dbadd74e118f6dd6598df77fa01df0cfcdc52c28dece74528a" 5445 5445 dependencies = [ 5446 - "bitflags 2.11.0", 5446 + "bitflags 2.11.1", 5447 5447 "serde", 5448 5448 "unicode-segmentation", 5449 5449 ] ··· 5454 5454 source = "registry+https://github.com/rust-lang/crates.io-index" 5455 5455 checksum = "0fbe853b403ae61a04233030ae8a79d94975281ed9770a1f9e246732b534b28d" 5456 5456 dependencies = [ 5457 - "bitflags 2.11.0", 5457 + "bitflags 2.11.1", 5458 5458 "serde", 5459 5459 "unicode-segmentation", 5460 5460 ] ··· 5555 5555 5556 5556 [[package]] 5557 5557 name = "libc" 5558 - version = "0.2.184" 5558 + version = "0.2.185" 5559 5559 source = "registry+https://github.com/rust-lang/crates.io-index" 5560 - checksum = "48f5d2a454e16a5ea0f4ced81bd44e4cfc7bd3a507b61887c99fd3538b28e4af" 5560 + checksum = "52ff2c0fe9bc6cb6b14a0592c2ff4fa9ceb83eea9db979b0487cd054946a2b8f" 5561 5561 5562 5562 [[package]] 5563 5563 name = "libdbus-sys" ··· 5610 5610 source = "registry+https://github.com/rust-lang/crates.io-index" 5611 5611 checksum = "e02f3bb43d335493c96bf3fd3a321600bf6bd07ed34bc64118e9293bdffea46c" 5612 5612 dependencies = [ 5613 - "bitflags 2.11.0", 5613 + "bitflags 2.11.1", 5614 5614 "libc", 5615 5615 "plain", 5616 5616 "redox_syscall 0.7.4", ··· 5743 5743 5744 5744 [[package]] 5745 5745 name = "lru" 5746 - version = "0.16.3" 5746 + version = "0.16.4" 5747 5747 source = "registry+https://github.com/rust-lang/crates.io-index" 5748 - checksum = "a1dc47f592c06f33f8e3aea9591776ec7c9f9e4124778ff8a3c3b87159f7e593" 5748 + checksum = "7f66e8d5d03f609abc3a39e6f08e4164ebf1447a732906d39eb9b99b7919ef39" 5749 5749 dependencies = [ 5750 5750 "hashbrown 0.16.1", 5751 5751 ] ··· 5859 5859 source = "registry+https://github.com/rust-lang/crates.io-index" 5860 5860 checksum = "00c15a6f673ff72ddcc22394663290f870fb224c1bfce55734a75c414150e605" 5861 5861 dependencies = [ 5862 - "bitflags 2.11.0", 5862 + "bitflags 2.11.1", 5863 5863 "block", 5864 5864 "core-graphics-types 0.2.0", 5865 5865 "foreign-types", ··· 6136 6136 dependencies = [ 6137 6137 "arrayvec", 6138 6138 "bit-set", 6139 - "bitflags 2.11.0", 6139 + "bitflags 2.11.1", 6140 6140 "cfg-if", 6141 6141 "cfg_aliases", 6142 6142 "codespan-reporting", ··· 6160 6160 source = "registry+https://github.com/rust-lang/crates.io-index" 6161 6161 checksum = "c3f42e7bbe13d351b6bead8286a43aac9534b82bd3cc43e47037f012ebfd62d4" 6162 6162 dependencies = [ 6163 - "bitflags 2.11.0", 6163 + "bitflags 2.11.1", 6164 6164 "jni-sys 0.3.1", 6165 6165 "log", 6166 6166 "ndk-sys", ··· 6221 6221 source = "registry+https://github.com/rust-lang/crates.io-index" 6222 6222 checksum = "df9854ea6ad14e3f4698a7f03b65bce0833dd2d81d594a0e4a984170537146b6" 6223 6223 dependencies = [ 6224 - "bitflags 2.11.0", 6224 + "bitflags 2.11.1", 6225 6225 "libc", 6226 6226 "log", 6227 6227 "netlink-packet-core", ··· 6302 6302 source = "registry+https://github.com/rust-lang/crates.io-index" 6303 6303 checksum = "74523f3a35e05aba87a1d978330aef40f67b0304ac79c1c00b294c9830543db6" 6304 6304 dependencies = [ 6305 - "bitflags 2.11.0", 6305 + "bitflags 2.11.1", 6306 6306 "cfg-if", 6307 6307 "cfg_aliases", 6308 6308 "libc", ··· 6389 6389 "getrandom 0.3.4", 6390 6390 "identity-hash", 6391 6391 "lru-slab", 6392 - "rand 0.9.3", 6392 + "rand 0.9.4", 6393 6393 "ring", 6394 6394 "rustc-hash 2.1.2", 6395 6395 "rustls", ··· 6615 6615 source = "registry+https://github.com/rust-lang/crates.io-index" 6616 6616 checksum = "e4e89ad9e3d7d297152b17d39ed92cd50ca8063a89a9fa569046d41568891eff" 6617 6617 dependencies = [ 6618 - "bitflags 2.11.0", 6618 + "bitflags 2.11.1", 6619 6619 "block2 0.5.1", 6620 6620 "libc", 6621 6621 "objc2 0.5.2", ··· 6631 6631 source = "registry+https://github.com/rust-lang/crates.io-index" 6632 6632 checksum = "d49e936b501e5c5bf01fda3a9452ff86dc3ea98ad5f283e1455153142d97518c" 6633 6633 dependencies = [ 6634 - "bitflags 2.11.0", 6634 + "bitflags 2.11.1", 6635 6635 "objc2 0.6.4", 6636 6636 "objc2-core-foundation", 6637 6637 "objc2-core-graphics", ··· 6645 6645 source = "registry+https://github.com/rust-lang/crates.io-index" 6646 6646 checksum = "74dd3b56391c7a0596a295029734d3c1c5e7e510a4cb30245f8221ccea96b009" 6647 6647 dependencies = [ 6648 - "bitflags 2.11.0", 6648 + "bitflags 2.11.1", 6649 6649 "block2 0.5.1", 6650 6650 "objc2 0.5.2", 6651 6651 "objc2-core-location", ··· 6669 6669 source = "registry+https://github.com/rust-lang/crates.io-index" 6670 6670 checksum = "5a644b62ffb826a5277f536cf0f701493de420b13d40e700c452c36567771111" 6671 6671 dependencies = [ 6672 - "bitflags 2.11.0", 6672 + "bitflags 2.11.1", 6673 6673 "objc2 0.5.2", 6674 6674 "objc2-foundation 0.2.2", 6675 6675 ] ··· 6680 6680 source = "registry+https://github.com/rust-lang/crates.io-index" 6681 6681 checksum = "617fbf49e071c178c0b24c080767db52958f716d9eabdf0890523aeae54773ef" 6682 6682 dependencies = [ 6683 - "bitflags 2.11.0", 6683 + "bitflags 2.11.1", 6684 6684 "block2 0.5.1", 6685 6685 "objc2 0.5.2", 6686 6686 "objc2-foundation 0.2.2", ··· 6692 6692 source = "registry+https://github.com/rust-lang/crates.io-index" 6693 6693 checksum = "2a180dd8642fa45cdb7dd721cd4c11b1cadd4929ce112ebd8b9f5803cc79d536" 6694 6694 dependencies = [ 6695 - "bitflags 2.11.0", 6695 + "bitflags 2.11.1", 6696 6696 "block2 0.6.2", 6697 6697 "dispatch2", 6698 6698 "libc", ··· 6705 6705 source = "registry+https://github.com/rust-lang/crates.io-index" 6706 6706 checksum = "e022c9d066895efa1345f8e33e584b9f958da2fd4cd116792e15e07e4720a807" 6707 6707 dependencies = [ 6708 - "bitflags 2.11.0", 6708 + "bitflags 2.11.1", 6709 6709 "block2 0.6.2", 6710 6710 "dispatch2", 6711 6711 "libc", ··· 6745 6745 source = "registry+https://github.com/rust-lang/crates.io-index" 6746 6746 checksum = "0cde0dfb48d25d2b4862161a4d5fcc0e3c24367869ad306b0c9ec0073bfed92d" 6747 6747 dependencies = [ 6748 - "bitflags 2.11.0", 6748 + "bitflags 2.11.1", 6749 6749 "block2 0.6.2", 6750 6750 "libc", 6751 6751 "objc2 0.6.4", ··· 6759 6759 source = "registry+https://github.com/rust-lang/crates.io-index" 6760 6760 checksum = "d425caf1df73233f29fd8a5c3e5edbc30d2d4307870f802d18f00d83dc5141a6" 6761 6761 dependencies = [ 6762 - "bitflags 2.11.0", 6762 + "bitflags 2.11.1", 6763 6763 "objc2-core-foundation", 6764 6764 "objc2-core-graphics", 6765 6765 ] ··· 6776 6776 source = "registry+https://github.com/rust-lang/crates.io-index" 6777 6777 checksum = "0ee638a5da3799329310ad4cfa62fbf045d5f56e3ef5ba4149e7452dcf89d5a8" 6778 6778 dependencies = [ 6779 - "bitflags 2.11.0", 6779 + "bitflags 2.11.1", 6780 6780 "block2 0.5.1", 6781 6781 "dispatch", 6782 6782 "libc", ··· 6789 6789 source = "registry+https://github.com/rust-lang/crates.io-index" 6790 6790 checksum = "e3e0adef53c21f888deb4fa59fc59f7eb17404926ee8a6f59f5df0fd7f9f3272" 6791 6791 dependencies = [ 6792 - "bitflags 2.11.0", 6792 + "bitflags 2.11.1", 6793 6793 "block2 0.6.2", 6794 6794 "objc2 0.6.4", 6795 6795 "objc2-core-foundation", ··· 6801 6801 source = "registry+https://github.com/rust-lang/crates.io-index" 6802 6802 checksum = "180788110936d59bab6bd83b6060ffdfffb3b922ba1396b312ae795e1de9d81d" 6803 6803 dependencies = [ 6804 - "bitflags 2.11.0", 6804 + "bitflags 2.11.1", 6805 6805 "libc", 6806 6806 "objc2 0.6.4", 6807 6807 "objc2-core-foundation", ··· 6825 6825 source = "registry+https://github.com/rust-lang/crates.io-index" 6826 6826 checksum = "dd0cba1276f6023976a406a14ffa85e1fdd19df6b0f737b063b95f6c8c7aadd6" 6827 6827 dependencies = [ 6828 - "bitflags 2.11.0", 6828 + "bitflags 2.11.1", 6829 6829 "block2 0.5.1", 6830 6830 "objc2 0.5.2", 6831 6831 "objc2-foundation 0.2.2", ··· 6837 6837 source = "registry+https://github.com/rust-lang/crates.io-index" 6838 6838 checksum = "a0125f776a10d00af4152d74616409f0d4a2053a6f57fa5b7d6aa2854ac04794" 6839 6839 dependencies = [ 6840 - "bitflags 2.11.0", 6840 + "bitflags 2.11.1", 6841 6841 "objc2 0.6.4", 6842 6842 "objc2-foundation 0.3.2", 6843 6843 ] ··· 6848 6848 source = "registry+https://github.com/rust-lang/crates.io-index" 6849 6849 checksum = "e42bee7bff906b14b167da2bac5efe6b6a07e6f7c0a21a7308d40c960242dc7a" 6850 6850 dependencies = [ 6851 - "bitflags 2.11.0", 6851 + "bitflags 2.11.1", 6852 6852 "block2 0.5.1", 6853 6853 "objc2 0.5.2", 6854 6854 "objc2-foundation 0.2.2", ··· 6861 6861 source = "registry+https://github.com/rust-lang/crates.io-index" 6862 6862 checksum = "96c1358452b371bf9f104e21ec536d37a650eb10f7ee379fff67d2e08d537f1f" 6863 6863 dependencies = [ 6864 - "bitflags 2.11.0", 6864 + "bitflags 2.11.1", 6865 6865 "objc2 0.6.4", 6866 6866 "objc2-core-foundation", 6867 6867 "objc2-foundation 0.3.2", ··· 6873 6873 source = "registry+https://github.com/rust-lang/crates.io-index" 6874 6874 checksum = "709fe137109bd1e8b5a99390f77a7d8b2961dafc1a1c5db8f2e60329ad6d895a" 6875 6875 dependencies = [ 6876 - "bitflags 2.11.0", 6876 + "bitflags 2.11.1", 6877 6877 "objc2 0.6.4", 6878 6878 "objc2-core-foundation", 6879 6879 ] ··· 6894 6894 source = "registry+https://github.com/rust-lang/crates.io-index" 6895 6895 checksum = "7216bd11cbda54ccabcab84d523dc93b858ec75ecfb3a7d89513fa22464da396" 6896 6896 dependencies = [ 6897 - "bitflags 2.11.0", 6897 + "bitflags 2.11.1", 6898 6898 "dispatch2", 6899 6899 "libc", 6900 6900 "objc2 0.6.4", ··· 6908 6908 source = "registry+https://github.com/rust-lang/crates.io-index" 6909 6909 checksum = "b8bb46798b20cd6b91cbd113524c490f1686f4c4e8f49502431415f3512e2b6f" 6910 6910 dependencies = [ 6911 - "bitflags 2.11.0", 6911 + "bitflags 2.11.1", 6912 6912 "block2 0.5.1", 6913 6913 "objc2 0.5.2", 6914 6914 "objc2-cloud-kit", ··· 6940 6940 source = "registry+https://github.com/rust-lang/crates.io-index" 6941 6941 checksum = "76cfcbf642358e8689af64cee815d139339f3ed8ad05103ed5eaf73db8d84cb3" 6942 6942 dependencies = [ 6943 - "bitflags 2.11.0", 6943 + "bitflags 2.11.1", 6944 6944 "block2 0.5.1", 6945 6945 "objc2 0.5.2", 6946 6946 "objc2-core-location", ··· 7537 7537 source = "registry+https://github.com/rust-lang/crates.io-index" 7538 7538 checksum = "60769b8b31b2a9f263dae2776c37b1b28ae246943cf719eb6946a1db05128a61" 7539 7539 dependencies = [ 7540 - "bitflags 2.11.0", 7540 + "bitflags 2.11.1", 7541 7541 "crc32fast", 7542 7542 "fdeflate", 7543 7543 "flate2", ··· 7872 7872 "bytes", 7873 7873 "getrandom 0.3.4", 7874 7874 "lru-slab", 7875 - "rand 0.9.3", 7875 + "rand 0.9.4", 7876 7876 "ring", 7877 7877 "rustc-hash 2.1.2", 7878 7878 "rustls", ··· 7945 7945 7946 7946 [[package]] 7947 7947 name = "rand" 7948 - version = "0.9.3" 7948 + version = "0.9.4" 7949 7949 source = "registry+https://github.com/rust-lang/crates.io-index" 7950 - checksum = "7ec095654a25171c2124e9e3393a930bddbffdc939556c914957a4c3e0a87166" 7950 + checksum = "44c5af06bb1b7d3216d91932aed5265164bf384dc89cd6ba05cf59a35f5f76ea" 7951 7951 dependencies = [ 7952 7952 "rand_chacha 0.9.0", 7953 7953 "rand_core 0.9.5", ··· 7960 7960 checksum = "d2e8e8bcc7961af1fdac401278c6a831614941f6164ee3bf4ce61b7edb162207" 7961 7961 dependencies = [ 7962 7962 "getrandom 0.4.2", 7963 - "rand_core 0.10.0", 7963 + "rand_core 0.10.1", 7964 7964 ] 7965 7965 7966 7966 [[package]] ··· 8022 8022 8023 8023 [[package]] 8024 8024 name = "rand_core" 8025 - version = "0.10.0" 8025 + version = "0.10.1" 8026 8026 source = "registry+https://github.com/rust-lang/crates.io-index" 8027 - checksum = "0c8d0fd677905edcbeedbf2edb6494d676f0e98d54d5cf9bda0b061cb8fb8aba" 8027 + checksum = "63b8176103e19a2643978565ca18b50549f6101881c443590420e4dc998a3c69" 8028 8028 8029 8029 [[package]] 8030 8030 name = "rand_hc" ··· 8074 8074 "num-traits", 8075 8075 "paste", 8076 8076 "profiling", 8077 - "rand 0.9.3", 8077 + "rand 0.9.4", 8078 8078 "rand_chacha 0.9.0", 8079 8079 "simd_helpers", 8080 8080 "thiserror 2.0.18", ··· 8105 8105 8106 8106 [[package]] 8107 8107 name = "rayon" 8108 - version = "1.11.0" 8108 + version = "1.12.0" 8109 8109 source = "registry+https://github.com/rust-lang/crates.io-index" 8110 - checksum = "368f01d005bf8fd9b1206fb6fa653e6c4a81ceb1466406b81792d87c5677a58f" 8110 + checksum = "fb39b166781f92d482534ef4b4b1b2568f42613b53e5b6c160e24cfbfa30926d" 8111 8111 dependencies = [ 8112 8112 "either", 8113 8113 "rayon-core", ··· 8148 8148 source = "registry+https://github.com/rust-lang/crates.io-index" 8149 8149 checksum = "ed2bf2547551a7053d6fdfafda3f938979645c44812fbfcda098faae3f1a362d" 8150 8150 dependencies = [ 8151 - "bitflags 2.11.0", 8151 + "bitflags 2.11.1", 8152 8152 ] 8153 8153 8154 8154 [[package]] ··· 8157 8157 source = "registry+https://github.com/rust-lang/crates.io-index" 8158 8158 checksum = "f450ad9c3b1da563fb6948a8e0fb0fb9269711c9c73d9ea1de5058c79c8d643a" 8159 8159 dependencies = [ 8160 - "bitflags 2.11.0", 8160 + "bitflags 2.11.1", 8161 8161 ] 8162 8162 8163 8163 [[package]] ··· 8322 8322 checksum = "beceb6f7bf81c73e73aeef6dd1356d9a1b2b4909e1f0fc3e59b034f9572d7b7f" 8323 8323 dependencies = [ 8324 8324 "base64 0.22.1", 8325 - "bitflags 2.11.0", 8325 + "bitflags 2.11.1", 8326 8326 "serde", 8327 8327 "serde_derive", 8328 8328 "unicode-ident", ··· 8372 8372 source = "registry+https://github.com/rust-lang/crates.io-index" 8373 8373 checksum = "f1c93dd1c9683b438c392c492109cb702b8090b2bfc8fed6f6e4eb4523f17af3" 8374 8374 dependencies = [ 8375 - "bitflags 2.11.0", 8375 + "bitflags 2.11.1", 8376 8376 "fallible-iterator", 8377 8377 "fallible-streaming-iterator", 8378 8378 "hashlink", ··· 8414 8414 source = "registry+https://github.com/rust-lang/crates.io-index" 8415 8415 checksum = "fdb5bc1ae2baa591800df16c9ca78619bf65c0488b41b96ccec5d11220d8c154" 8416 8416 dependencies = [ 8417 - "bitflags 2.11.0", 8417 + "bitflags 2.11.1", 8418 8418 "errno", 8419 8419 "libc", 8420 8420 "linux-raw-sys 0.4.15", ··· 8427 8427 source = "registry+https://github.com/rust-lang/crates.io-index" 8428 8428 checksum = "b6fe4565b9518b83ef4f91bb47ce29620ca828bd32cb7e408f0062e9930ba190" 8429 8429 dependencies = [ 8430 - "bitflags 2.11.0", 8430 + "bitflags 2.11.1", 8431 8431 "errno", 8432 8432 "libc", 8433 8433 "linux-raw-sys 0.12.1", ··· 8501 8501 8502 8502 [[package]] 8503 8503 name = "rustls-webpki" 8504 - version = "0.103.11" 8504 + version = "0.103.12" 8505 8505 source = "registry+https://github.com/rust-lang/crates.io-index" 8506 - checksum = "20a6af516fea4b20eccceaf166e8aa666ac996208e8a644ce3ef5aa783bc7cd4" 8506 + checksum = "8279bb85272c9f10811ae6a6c547ff594d6a7f3c6c6b02ee9726d1d0dcfcdd06" 8507 8507 dependencies = [ 8508 8508 "aws-lc-rs", 8509 8509 "ring", ··· 8523 8523 source = "registry+https://github.com/rust-lang/crates.io-index" 8524 8524 checksum = "fd3c7c96f8a08ee34eff8857b11b49b07d71d1c3f4e88f8a88d4c9e9f90b1702" 8525 8525 dependencies = [ 8526 - "bitflags 2.11.0", 8526 + "bitflags 2.11.1", 8527 8527 "bytemuck", 8528 8528 "core_maths", 8529 8529 "log", ··· 8639 8639 source = "registry+https://github.com/rust-lang/crates.io-index" 8640 8640 checksum = "b7f4bc775c73d9a02cde8bf7b2ec4c9d12743edf609006c7facc23998404cd1d" 8641 8641 dependencies = [ 8642 - "bitflags 2.11.0", 8642 + "bitflags 2.11.1", 8643 8643 "core-foundation 0.10.1", 8644 8644 "core-foundation-sys", 8645 8645 "libc", ··· 8671 8671 version = "0.37.0" 8672 8672 source = "git+https://github.com/servo/stylo?rev=96ceb5405bd7ce10c4141c62e860d50745a75547#96ceb5405bd7ce10c4141c62e860d50745a75547" 8673 8673 dependencies = [ 8674 - "bitflags 2.11.0", 8674 + "bitflags 2.11.1", 8675 8675 "cssparser", 8676 8676 "derive_more", 8677 8677 "log", ··· 8826 8826 "accesskit", 8827 8827 "accesskit_consumer", 8828 8828 "arboard", 8829 - "bitflags 2.11.0", 8829 + "bitflags 2.11.1", 8830 8830 "cookie 0.18.1", 8831 8831 "crossbeam-channel", 8832 8832 "dpi", ··· 8881 8881 "servo-storage-traits", 8882 8882 "servo-tracing", 8883 8883 "servo-url", 8884 + "servo-wakelock", 8884 8885 "servo-webgl", 8885 8886 "servo-webgpu", 8886 8887 "servo-webxr", ··· 8962 8963 name = "servo-bluetooth" 8963 8964 version = "0.1.0" 8964 8965 dependencies = [ 8965 - "bitflags 2.11.0", 8966 + "bitflags 2.11.1", 8966 8967 "blurmock", 8967 8968 "btleplug", 8968 8969 "futures", 8969 8970 "log", 8970 - "rand 0.9.3", 8971 + "rand 0.9.4", 8971 8972 "servo-base", 8972 8973 "servo-bluetooth-traits", 8973 8974 "servo-config", ··· 9074 9075 "parking_lot", 9075 9076 "petname", 9076 9077 "postcard", 9077 - "rand 0.9.3", 9078 + "rand 0.9.4", 9078 9079 "regex", 9079 9080 "rustc-hash 2.1.2", 9080 9081 "serde", ··· 9100 9101 "servo-storage-traits", 9101 9102 "servo-tracing", 9102 9103 "servo-url", 9104 + "servo-wakelock", 9103 9105 "servo-webgpu", 9104 9106 "servo-webgpu-traits", 9105 9107 "servo-webxr-api", ··· 9139 9141 "servo-profile-traits", 9140 9142 "servo-storage-traits", 9141 9143 "servo-url", 9144 + "servo-wakelock", 9142 9145 "servo-webgpu-traits", 9143 9146 "strum 0.27.2", 9144 9147 "uuid", ··· 9173 9176 "http 1.4.0", 9174 9177 "log", 9175 9178 "malloc_size_of_derive", 9176 - "rand 0.9.3", 9179 + "rand 0.9.4", 9177 9180 "rustc-hash 2.1.2", 9178 9181 "serde", 9179 9182 "serde_json", ··· 9219 9222 version = "0.1.0" 9220 9223 dependencies = [ 9221 9224 "accesskit", 9222 - "bitflags 2.11.0", 9225 + "bitflags 2.11.1", 9223 9226 "cookie 0.18.1", 9224 9227 "crossbeam-channel", 9225 9228 "euclid", ··· 9252 9255 version = "0.1.0" 9253 9256 dependencies = [ 9254 9257 "app_units", 9255 - "bitflags 2.11.0", 9258 + "bitflags 2.11.1", 9256 9259 "byteorder", 9257 9260 "content-security-policy", 9258 9261 "dwrote", ··· 9365 9368 name = "servo-layout" 9366 9369 version = "0.1.0" 9367 9370 dependencies = [ 9371 + "accesskit", 9368 9372 "app_units", 9369 9373 "atomic_refcell", 9370 - "bitflags 2.11.0", 9374 + "bitflags 2.11.1", 9371 9375 "data-url", 9372 9376 "euclid", 9373 9377 "html5ever", ··· 9383 9387 "rayon", 9384 9388 "rustc-hash 2.1.2", 9385 9389 "selectors", 9390 + "serde", 9386 9391 "servo-base", 9387 9392 "servo-config", 9388 9393 "servo-embedder-traits", ··· 9421 9426 dependencies = [ 9422 9427 "app_units", 9423 9428 "atomic_refcell", 9424 - "bitflags 2.11.0", 9429 + "bitflags 2.11.1", 9425 9430 "euclid", 9426 9431 "html5ever", 9427 9432 "libc", ··· 9622 9627 "ipc-channel", 9623 9628 "libc", 9624 9629 "log", 9625 - "lru 0.16.3", 9630 + "lru 0.16.4", 9626 9631 "mime", 9627 9632 "ohos-media-sys", 9628 9633 "ohos-sys-opaque-types", ··· 9804 9809 "num-traits", 9805 9810 "parking_lot", 9806 9811 "percent-encoding", 9807 - "rand 0.9.3", 9812 + "rand 0.9.4", 9808 9813 "rustc-hash 2.1.2", 9809 9814 "rustls-pki-types", 9810 9815 "serde", ··· 9833 9838 name = "servo-paint" 9834 9839 version = "0.1.0" 9835 9840 dependencies = [ 9836 - "bitflags 2.11.0", 9841 + "bitflags 2.11.1", 9837 9842 "crossbeam-channel", 9838 9843 "dpi", 9839 9844 "euclid", ··· 9874 9879 name = "servo-paint-api" 9875 9880 version = "0.1.0" 9876 9881 dependencies = [ 9877 - "bitflags 2.11.0", 9882 + "bitflags 2.11.1", 9878 9883 "crossbeam-channel", 9879 9884 "dpi", 9880 9885 "euclid", ··· 9970 9975 "backtrace", 9971 9976 "base64 0.22.1", 9972 9977 "base64ct", 9973 - "bitflags 2.11.0", 9978 + "bitflags 2.11.1", 9974 9979 "brotli", 9975 9980 "cbc", 9976 9981 "chacha20poly1305", ··· 10024 10029 "phf", 10025 10030 "pkcs8 0.10.2", 10026 10031 "postcard", 10027 - "rand 0.9.3", 10032 + "rand 0.9.4", 10028 10033 "regex", 10029 10034 "rsa", 10030 10035 "rustc-hash 2.1.2", ··· 10061 10066 "servo-storage-traits", 10062 10067 "servo-timers", 10063 10068 "servo-url", 10069 + "servo-wakelock", 10064 10070 "servo-webgpu-traits", 10065 10071 "servo-webxr-api", 10066 10072 "servo-xpath", ··· 10097 10103 name = "servo-script-bindings" 10098 10104 version = "0.1.0" 10099 10105 dependencies = [ 10100 - "bitflags 2.11.0", 10106 + "bitflags 2.11.1", 10101 10107 "crossbeam-channel", 10102 10108 "encoding_rs", 10103 10109 "html5ever", ··· 10240 10246 ] 10241 10247 10242 10248 [[package]] 10249 + name = "servo-wakelock" 10250 + version = "0.1.0" 10251 + dependencies = [ 10252 + "serde", 10253 + ] 10254 + 10255 + [[package]] 10243 10256 name = "servo-webgl" 10244 10257 version = "0.1.0" 10245 10258 dependencies = [ 10246 - "bitflags 2.11.0", 10259 + "bitflags 2.11.1", 10247 10260 "byteorder", 10248 10261 "crossbeam-channel", 10249 10262 "euclid", ··· 10475 10488 source = "registry+https://github.com/rust-lang/crates.io-index" 10476 10489 checksum = "df350943049174c4ae8ced56c604e28270258faec12a6a48637a7655287c9ce0" 10477 10490 dependencies = [ 10478 - "bitflags 2.11.0", 10491 + "bitflags 2.11.1", 10479 10492 ] 10480 10493 10481 10494 [[package]] ··· 10539 10552 source = "registry+https://github.com/rust-lang/crates.io-index" 10540 10553 checksum = "3457dea1f0eb631b4034d61d4d8c32074caa6cd1ab2d59f2327bd8461e2c0016" 10541 10554 dependencies = [ 10542 - "bitflags 2.11.0", 10555 + "bitflags 2.11.1", 10543 10556 "calloop", 10544 10557 "calloop-wayland-source", 10545 10558 "cursor-icon", ··· 10637 10650 source = "registry+https://github.com/rust-lang/crates.io-index" 10638 10651 checksum = "eda41003dc44290527a59b13432d4a0379379fa074b70174882adfbdfd917844" 10639 10652 dependencies = [ 10640 - "bitflags 2.11.0", 10653 + "bitflags 2.11.1", 10641 10654 ] 10642 10655 10643 10656 [[package]] ··· 10832 10845 "app_units", 10833 10846 "arrayvec", 10834 10847 "atomic_refcell", 10835 - "bitflags 2.11.0", 10848 + "bitflags 2.11.1", 10836 10849 "byteorder", 10837 10850 "cssparser", 10838 10851 "derive_more", ··· 10906 10919 version = "0.16.0" 10907 10920 source = "git+https://github.com/servo/stylo?rev=96ceb5405bd7ce10c4141c62e860d50745a75547#96ceb5405bd7ce10c4141c62e860d50745a75547" 10908 10921 dependencies = [ 10909 - "bitflags 2.11.0", 10922 + "bitflags 2.11.1", 10910 10923 "stylo_malloc_size_of", 10911 10924 ] 10912 10925 ··· 10938 10951 source = "git+https://github.com/servo/stylo?rev=96ceb5405bd7ce10c4141c62e860d50745a75547#96ceb5405bd7ce10c4141c62e860d50745a75547" 10939 10952 dependencies = [ 10940 10953 "app_units", 10941 - "bitflags 2.11.0", 10954 + "bitflags 2.11.1", 10942 10955 "cssparser", 10943 10956 "euclid", 10944 10957 "malloc_size_of_derive", ··· 10965 10978 source = "registry+https://github.com/rust-lang/crates.io-index" 10966 10979 checksum = "8fd46f11e3e56616d97db5ab0ba5ed53b215851afeef341657f0f6087d6c946e" 10967 10980 dependencies = [ 10968 - "bitflags 2.11.0", 10981 + "bitflags 2.11.1", 10969 10982 "cfg_aliases", 10970 10983 "cgl", 10971 10984 "euclid", ··· 11019 11032 dependencies = [ 11020 11033 "acto", 11021 11034 "hickory-proto", 11022 - "rand 0.9.3", 11035 + "rand 0.9.4", 11023 11036 "socket2 0.6.3", 11024 11037 "thiserror 2.0.18", 11025 11038 "tokio", ··· 11082 11095 source = "registry+https://github.com/rust-lang/crates.io-index" 11083 11096 checksum = "a13f3d0daba03132c0aa9767f98351b3488edc2c100cda2d2ec2b04f3d8d3c8b" 11084 11097 dependencies = [ 11085 - "bitflags 2.11.0", 11098 + "bitflags 2.11.1", 11086 11099 "core-foundation 0.9.4", 11087 11100 "system-configuration-sys", 11088 11101 ] ··· 11125 11138 11126 11139 [[package]] 11127 11140 name = "taffy" 11128 - version = "0.10.0" 11141 + version = "0.10.1" 11129 11142 source = "registry+https://github.com/rust-lang/crates.io-index" 11130 - checksum = "96fb9d22ffe63c7aa8996275aa0017404b513619bb6cf6309d9f822095afb414" 11143 + checksum = "aea22054047c16c3f34d3ac473a2170be1424b1115b2a3adcf28cfb067c88859" 11131 11144 dependencies = [ 11132 11145 "arrayvec", 11133 11146 "grid", ··· 11231 11244 11232 11245 [[package]] 11233 11246 name = "thin-vec" 11234 - version = "0.2.15" 11247 + version = "0.2.16" 11235 11248 source = "registry+https://github.com/rust-lang/crates.io-index" 11236 - checksum = "da322882471314edc77fa5232c587bcb87c9df52bfd0d7d4826f8868ead61899" 11249 + checksum = "259cdf8ed4e4aca6f1e9d011e10bd53f524a2d0637d7b28450f6c64ac298c4c6" 11237 11250 11238 11251 [[package]] 11239 11252 name = "thiserror" ··· 11535 11548 "getrandom 0.3.4", 11536 11549 "http 1.4.0", 11537 11550 "httparse", 11538 - "rand 0.9.3", 11551 + "rand 0.9.4", 11539 11552 "ring", 11540 11553 "rustls-pki-types", 11541 11554 "simdutf8", ··· 11667 11680 source = "registry+https://github.com/rust-lang/crates.io-index" 11668 11681 checksum = "d4e6559d53cc268e5031cd8429d05415bc4cb4aefc4aa5d6cc35fbf5b924a1f8" 11669 11682 dependencies = [ 11670 - "bitflags 2.11.0", 11683 + "bitflags 2.11.1", 11671 11684 "bytes", 11672 11685 "futures-util", 11673 11686 "http 1.4.0", ··· 11822 11835 "http 1.4.0", 11823 11836 "httparse", 11824 11837 "log", 11825 - "rand 0.9.3", 11838 + "rand 0.9.4", 11826 11839 "rustls", 11827 11840 "rustls-pki-types", 11828 11841 "sha1", ··· 12399 12412 source = "registry+https://github.com/rust-lang/crates.io-index" 12400 12413 checksum = "47b807c72e1bac69382b3a6fb3dbe8ea4c0ed87ff5629b8685ae6b9a611028fe" 12401 12414 dependencies = [ 12402 - "bitflags 2.11.0", 12415 + "bitflags 2.11.1", 12403 12416 "hashbrown 0.15.5", 12404 12417 "indexmap", 12405 12418 "semver", ··· 12425 12438 source = "registry+https://github.com/rust-lang/crates.io-index" 12426 12439 checksum = "645c7c96bb74690c3189b5c9cb4ca1627062bb23693a4fad9d8c3de958260144" 12427 12440 dependencies = [ 12428 - "bitflags 2.11.0", 12441 + "bitflags 2.11.1", 12429 12442 "rustix 1.1.4", 12430 12443 "wayland-backend", 12431 12444 "wayland-scanner", ··· 12437 12450 source = "registry+https://github.com/rust-lang/crates.io-index" 12438 12451 checksum = "625c5029dbd43d25e6aa9615e88b829a5cad13b2819c4ae129fdbb7c31ab4c7e" 12439 12452 dependencies = [ 12440 - "bitflags 2.11.0", 12453 + "bitflags 2.11.1", 12441 12454 "cursor-icon", 12442 12455 "wayland-backend", 12443 12456 ] ··· 12459 12472 source = "registry+https://github.com/rust-lang/crates.io-index" 12460 12473 checksum = "563a85523cade2429938e790815fd7319062103b9f4a2dc806e9b53b95982d8f" 12461 12474 dependencies = [ 12462 - "bitflags 2.11.0", 12475 + "bitflags 2.11.1", 12463 12476 "wayland-backend", 12464 12477 "wayland-client", 12465 12478 "wayland-scanner", ··· 12471 12484 source = "registry+https://github.com/rust-lang/crates.io-index" 12472 12485 checksum = "2b6d8cf1eb2c1c31ed1f5643c88a6e53538129d4af80030c8cabd1f9fa884d91" 12473 12486 dependencies = [ 12474 - "bitflags 2.11.0", 12487 + "bitflags 2.11.1", 12475 12488 "wayland-backend", 12476 12489 "wayland-client", 12477 12490 "wayland-protocols", ··· 12484 12497 source = "registry+https://github.com/rust-lang/crates.io-index" 12485 12498 checksum = "eb04e52f7836d7c7976c78ca0250d61e33873c34156a2a1fc9474828ec268234" 12486 12499 dependencies = [ 12487 - "bitflags 2.11.0", 12500 + "bitflags 2.11.1", 12488 12501 "wayland-backend", 12489 12502 "wayland-client", 12490 12503 "wayland-protocols", ··· 12595 12608 dependencies = [ 12596 12609 "allocator-api2", 12597 12610 "bincode", 12598 - "bitflags 2.11.0", 12611 + "bitflags 2.11.1", 12599 12612 "build-parallel", 12600 12613 "byteorder", 12601 12614 "derive_more", ··· 12631 12644 checksum = "bb206f613b4635881065a2ff4670e656edc904af0b8729c51ce1196679fd1b6d" 12632 12645 dependencies = [ 12633 12646 "app_units", 12634 - "bitflags 2.11.0", 12647 + "bitflags 2.11.1", 12635 12648 "byteorder", 12636 12649 "crossbeam-channel", 12637 12650 "euclid", ··· 12650 12663 source = "registry+https://github.com/rust-lang/crates.io-index" 12651 12664 checksum = "9e6165a81201892371061250bd6f08ede9ed7279842fedc4033f48582a789068" 12652 12665 dependencies = [ 12653 - "bitflags 2.11.0", 12666 + "bitflags 2.11.1", 12654 12667 "lazy_static", 12655 12668 ] 12656 12669 ··· 12667 12680 checksum = "70b6ff82bbf6e9206828e1a3178e851f8c20f1c9028e74dd3a8090741ccd5798" 12668 12681 dependencies = [ 12669 12682 "arrayvec", 12670 - "bitflags 2.11.0", 12683 + "bitflags 2.11.1", 12671 12684 "cfg-if", 12672 12685 "cfg_aliases", 12673 12686 "document-features", ··· 12698 12711 "arrayvec", 12699 12712 "bit-set", 12700 12713 "bit-vec", 12701 - "bitflags 2.11.0", 12714 + "bitflags 2.11.1", 12702 12715 "cfg_aliases", 12703 12716 "document-features", 12704 12717 "hashbrown 0.15.5", ··· 12758 12771 "arrayvec", 12759 12772 "ash", 12760 12773 "bit-set", 12761 - "bitflags 2.11.0", 12774 + "bitflags 2.11.1", 12762 12775 "block", 12763 12776 "bytemuck", 12764 12777 "cfg-if", ··· 12802 12815 source = "registry+https://github.com/rust-lang/crates.io-index" 12803 12816 checksum = "eca7a8d8af57c18f57d393601a1fb159ace8b2328f1b6b5f80893f7d672c9ae2" 12804 12817 dependencies = [ 12805 - "bitflags 2.11.0", 12818 + "bitflags 2.11.1", 12806 12819 "bytemuck", 12807 12820 "js-sys", 12808 12821 "log", ··· 13362 13375 "ahash", 13363 13376 "android-activity", 13364 13377 "atomic-waker", 13365 - "bitflags 2.11.0", 13378 + "bitflags 2.11.1", 13366 13379 "block2 0.5.1", 13367 13380 "bytemuck", 13368 13381 "calloop", ··· 13490 13503 checksum = "9d66ea20e9553b30172b5e831994e35fbde2d165325bec84fc43dbf6f4eb9cb2" 13491 13504 dependencies = [ 13492 13505 "anyhow", 13493 - "bitflags 2.11.0", 13506 + "bitflags 2.11.1", 13494 13507 "indexmap", 13495 13508 "log", 13496 13509 "serde", ··· 13693 13706 source = "registry+https://github.com/rust-lang/crates.io-index" 13694 13707 checksum = "d039de8032a9a8856a6be89cea3e5d12fdd82306ab7c94d74e6deab2460651c5" 13695 13708 dependencies = [ 13696 - "bitflags 2.11.0", 13709 + "bitflags 2.11.1", 13697 13710 "dlib", 13698 13711 "log", 13699 13712 "once_cell",
+2 -1
Cargo.toml
··· 215 215 servo-media-streams = { version = "0.1.0", path = "source/components/media/streams" } 216 216 servo-media-traits = { version = "0.1.0", path = "source/components/media/traits" } 217 217 servo-media-webrtc = { version = "0.1.0", path = "source/components/media/webrtc" } 218 + servo-wakelock = { version = "0.1.0", path = "source/components/wakelock" } 218 219 servo_allocator = { package = "servo-allocator", version = "0.1.0", path = "source/components/allocator" } 219 220 servo-tracing = { path = "source/components/servo_tracing" } 220 221 servo_arc = { git = "https://github.com/servo/stylo", rev = "96ceb5405bd7ce10c4141c62e860d50745a75547" } ··· 238 239 surfman = { version = "0.12.0", features = ["chains"] } 239 240 syn = { version = "2", default-features = false, features = ["clone-impls", "derive", "parsing"] } 240 241 synstructure = "0.13" 241 - taffy = { version = "0.10", default-features = false, features = ["calc", "detailed_layout_info", "grid", "std"] } 242 + taffy = { version = "0.10.1", default-features = false, features = ["calc", "detailed_layout_info", "grid", "std"] } 242 243 tendril = { version = "0.5", features = ["encoding_rs"] } 243 244 tikv-jemalloc-sys = "0.6.1" 244 245 tikv-jemallocator = "0.6.1"
+1 -1
forkme.lock
··· 1 - 25d3f4b7a91b1b76fc2e02ac8846fc50abd18a81 1 + 316e6215a4a15723a05ec9d01017193800140e58
+53 -53
patches/Cargo.lock.patch
··· 78 78 + 79 79 +[[package]] 80 80 name = "cc" 81 - version = "1.2.59" 81 + version = "1.2.60" 82 82 source = "registry+https://github.com/rust-lang/crates.io-index" 83 83 @@ -1269,6 +1321,20 @@ 84 84 ] ··· 289 289 "freetype-sys", 290 290 "pkg-config", 291 291 "winapi", 292 - @@ -3651,6 +3792,52 @@ 292 + @@ -3657,6 +3798,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 - @@ -3865,6 +4052,22 @@ 345 + @@ -3870,6 +4057,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 - @@ -3885,6 +4088,7 @@ 368 + @@ -3890,6 +4093,7 @@ 369 369 "tokio", 370 370 "tower-service", 371 371 "tracing", ··· 373 373 ] 374 374 375 375 [[package]] 376 - @@ -4499,6 +4703,29 @@ 376 + @@ -4504,6 +4708,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 - @@ -4505,6 +4732,16 @@ 406 + @@ -4510,6 +4737,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 - @@ -4665,6 +4902,20 @@ 423 + @@ -4670,6 +4907,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 - @@ -4975,6 +5226,17 @@ 444 + @@ -4980,6 +5231,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 - @@ -5026,7 +5288,7 @@ 462 + @@ -5031,7 +5293,7 @@ 463 463 "bitflags 2.11.0", 464 464 "block", 465 465 "core-graphics-types 0.2.0", ··· 468 468 "log", 469 469 "objc", 470 470 "paste", 471 - @@ -5118,6 +5380,23 @@ 471 + @@ -5123,6 +5385,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 - @@ -5170,6 +5449,29 @@ 495 + @@ -5175,6 +5454,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 - @@ -5253,6 +5555,23 @@ 525 + @@ -5258,6 +5560,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 - @@ -5989,6 +6308,10 @@ 549 + @@ -5994,6 +6313,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 - @@ -6009,6 +6332,32 @@ 560 + @@ -6014,6 +6337,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 - @@ -6015,6 +6364,18 @@ 593 + @@ -6020,6 +6369,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 - @@ -6674,6 +7035,61 @@ 612 + @@ -6679,6 +7040,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 - @@ -6995,6 +7411,56 @@ 674 + @@ -7000,6 +7416,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 - @@ -7161,6 +7627,7 @@ 731 + @@ -7166,6 +7632,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 - @@ -7185,6 +7652,7 @@ 739 + @@ -7190,6 +7657,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 - @@ -7356,6 +7824,7 @@ 747 + @@ -7361,6 +7829,7 @@ 748 748 "der", 749 749 "generic-array", 750 750 "pkcs8", ··· 752 752 "subtle", 753 753 "zeroize", 754 754 ] 755 - @@ -7468,6 +7937,18 @@ 755 + @@ -7473,6 +7942,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 - @@ -7523,6 +8004,16 @@ 774 + @@ -7528,6 +8009,16 @@ 775 775 ] 776 776 777 777 [[package]] ··· 788 788 name = "servo" 789 789 version = "0.1.0" 790 790 dependencies = [ 791 - @@ -7775,6 +8266,7 @@ 791 + @@ -7781,6 +8272,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 - @@ -7801,6 +8293,8 @@ 799 + @@ -7808,6 +8300,8 @@ 800 800 "servo-webxr-api", 801 801 "stylo", 802 802 "stylo_traits", ··· 805 805 "tracing", 806 806 ] 807 807 808 - @@ -8425,9 +8919,11 @@ 808 + @@ -8435,9 +8929,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 - @@ -8458,6 +8954,7 @@ 820 + @@ -8468,6 +8964,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 - @@ -8464,9 +8961,11 @@ 828 + @@ -8474,9 +8971,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 - @@ -8479,6 +8978,7 @@ 840 + @@ -8489,6 +8988,7 @@ 841 841 "servo-url", 842 842 "servo_arc", 843 843 "sha2", ··· 845 845 "time", 846 846 "tokio", 847 847 "tokio-rustls", 848 - @@ -8514,6 +9014,7 @@ 848 + @@ -8524,6 +9024,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 - @@ -8525,8 +9026,10 @@ 856 + @@ -8535,8 +9036,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 - @@ -9086,6 +9589,7 @@ 867 + @@ -9104,6 +9607,7 @@ 868 868 "bpaf", 869 869 "cc", 870 870 "cfg-if", ··· 872 872 "crossbeam-channel", 873 873 "dirs", 874 874 "dpi", 875 - @@ -9100,6 +9604,7 @@ 875 + @@ -9118,6 +9622,7 @@ 876 876 "headers 0.4.1", 877 877 "hilog", 878 878 "hitrace", ··· 880 880 "image", 881 881 "ipc-channel", 882 882 "jni 0.21.1", 883 - @@ -9120,6 +9625,7 @@ 883 + @@ -9138,6 +9643,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 - @@ -9126,6 +9632,7 @@ 891 + @@ -9144,6 +9650,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 - @@ -9691,6 +10198,9 @@ 899 + @@ -9709,6 +10216,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 - @@ -9725,6 +10235,27 @@ 909 + @@ -9743,6 +10253,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 - @@ -9763,6 +10294,12 @@ 937 + @@ -9781,6 +10312,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 - @@ -10070,6 +10607,16 @@ 950 + @@ -10088,6 +10625,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 - @@ -10191,6 +10738,25 @@ 967 + @@ -10209,6 +10756,25 @@ 968 968 "futures-util", 969 969 "pin-project-lite", 970 970 "sync_wrapper", ··· 990 990 "tower-layer", 991 991 "tower-service", 992 992 ] 993 - @@ -10474,6 +11040,12 @@ 993 + @@ -10492,6 +11058,12 @@ 994 994 ] 995 995 996 996 [[package]] ··· 1003 1003 name = "untrusted" 1004 1004 version = "0.9.0" 1005 1005 source = "registry+https://github.com/rust-lang/crates.io-index" 1006 - @@ -10493,6 +11065,12 @@ 1006 + @@ -10511,6 +11083,12 @@ 1007 1007 ] 1008 1008 1009 1009 [[package]] ··· 1016 1016 name = "urlpattern" 1017 1017 version = "0.3.0" 1018 1018 source = "registry+https://github.com/rust-lang/crates.io-index" 1019 - @@ -11284,6 +11862,12 @@ 1019 + @@ -11302,6 +11880,12 @@ 1020 1020 ] 1021 1021 1022 1022 [[package]] ··· 1029 1029 name = "winapi" 1030 1030 version = "0.3.9" 1031 1031 source = "registry+https://github.com/rust-lang/crates.io-index" 1032 - @@ -11505,6 +12089,17 @@ 1032 + @@ -11523,6 +12107,17 @@ 1033 1033 ] 1034 1034 1035 1035 [[package]] ··· 1047 1047 name = "windows-result" 1048 1048 version = "0.2.0" 1049 1049 source = "registry+https://github.com/rust-lang/crates.io-index" 1050 - @@ -11570,6 +12165,15 @@ 1050 + @@ -11588,6 +12183,15 @@ 1051 1051 1052 1052 [[package]] 1053 1053 name = "windows-sys" ··· 1063 1063 version = "0.52.0" 1064 1064 source = "registry+https://github.com/rust-lang/crates.io-index" 1065 1065 checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" 1066 - @@ -11612,6 +12216,21 @@ 1066 + @@ -11630,6 +12234,21 @@ 1067 1067 1068 1068 [[package]] 1069 1069 name = "windows-targets" ··· 1085 1085 version = "0.52.6" 1086 1086 source = "registry+https://github.com/rust-lang/crates.io-index" 1087 1087 checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973" 1088 - @@ -11652,6 +12271,12 @@ 1088 + @@ -11670,6 +12289,12 @@ 1089 1089 1090 1090 [[package]] 1091 1091 name = "windows_aarch64_gnullvm" ··· 1098 1098 version = "0.52.6" 1099 1099 source = "registry+https://github.com/rust-lang/crates.io-index" 1100 1100 checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" 1101 - @@ -11664,6 +12289,12 @@ 1101 + @@ -11682,6 +12307,12 @@ 1102 1102 1103 1103 [[package]] 1104 1104 name = "windows_aarch64_msvc" ··· 1111 1111 version = "0.52.6" 1112 1112 source = "registry+https://github.com/rust-lang/crates.io-index" 1113 1113 checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" 1114 - @@ -11676,6 +12307,12 @@ 1114 + @@ -11694,6 +12325,12 @@ 1115 1115 1116 1116 [[package]] 1117 1117 name = "windows_i686_gnu" ··· 1124 1124 version = "0.52.6" 1125 1125 source = "registry+https://github.com/rust-lang/crates.io-index" 1126 1126 checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b" 1127 - @@ -11694,6 +12331,12 @@ 1127 + @@ -11712,6 +12349,12 @@ 1128 1128 1129 1129 [[package]] 1130 1130 name = "windows_i686_msvc" ··· 1137 1137 version = "0.52.6" 1138 1138 source = "registry+https://github.com/rust-lang/crates.io-index" 1139 1139 checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" 1140 - @@ -11706,6 +12349,12 @@ 1140 + @@ -11724,6 +12367,12 @@ 1141 1141 1142 1142 [[package]] 1143 1143 name = "windows_x86_64_gnu" ··· 1150 1150 version = "0.52.6" 1151 1151 source = "registry+https://github.com/rust-lang/crates.io-index" 1152 1152 checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78" 1153 - @@ -11718,6 +12367,12 @@ 1153 + @@ -11736,6 +12385,12 @@ 1154 1154 1155 1155 [[package]] 1156 1156 name = "windows_x86_64_gnullvm" ··· 1163 1163 version = "0.52.6" 1164 1164 source = "registry+https://github.com/rust-lang/crates.io-index" 1165 1165 checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d" 1166 - @@ -11730,6 +12385,12 @@ 1166 + @@ -11748,6 +12403,12 @@ 1167 1167 1168 1168 [[package]] 1169 1169 name = "windows_x86_64_msvc" ··· 1176 1176 version = "0.52.6" 1177 1177 source = "registry+https://github.com/rust-lang/crates.io-index" 1178 1178 checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" 1179 - @@ -11796,6 +12457,16 @@ 1179 + @@ -11814,6 +12475,16 @@ 1180 1180 ] 1181 1181 1182 1182 [[package]]
+1 -1
patches/components/constellation/Cargo.toml.patch
··· 35 35 servo-background-hang-monitor = { workspace = true } 36 36 servo-background-hang-monitor-api = { workspace = true } 37 37 servo-base = { workspace = true } 38 - @@ -62,6 +69,8 @@ 38 + @@ -63,6 +70,8 @@ 39 39 storage_traits = { workspace = true } 40 40 stylo = { workspace = true } 41 41 stylo_traits = { workspace = true }
+41 -41
patches/components/constellation/constellation.rs.patch
··· 56 56 + TargetSnapshotParams, TraversalDirection, UserContentManagerAction, WindowSizeType, 57 57 }; 58 58 use servo_url::{Host, ImmutableOrigin, ServoUrl}; 59 - use storage_traits::StorageThreads; 60 - @@ -179,6 +182,7 @@ 59 + use servo_wakelock::{WakeLockProvider, WakeLockType}; 60 + @@ -180,6 +183,7 @@ 61 61 use webgpu_traits::{WebGPU, WebGPURequest}; 62 62 63 63 use super::embedder::ConstellationToEmbedderMsg; ··· 65 65 use crate::broadcastchannel::BroadcastChannels; 66 66 use crate::browsingcontext::{ 67 67 AllBrowsingContextsIterator, BrowsingContext, FullyActiveBrowsingContextsIterator, 68 - @@ -186,10 +190,12 @@ 68 + @@ -187,10 +191,12 @@ 69 69 }; 70 70 use crate::constellation_webview::ConstellationWebView; 71 71 use crate::event_loop::EventLoop; ··· 78 78 79 79 struct PendingApprovalNavigation { 80 80 load_data: LoadData, 81 - @@ -220,6 +226,12 @@ 81 + @@ -221,6 +227,12 @@ 82 82 /// While a completion failed, another global requested to complete the transfer. 83 83 /// We are still buffering messages, and awaiting the return of the buffer from the global who failed. 84 84 CompletionRequested(MessagePortRouterId, VecDeque<PortMessageTask>), ··· 91 91 } 92 92 93 93 #[derive(Debug)] 94 - @@ -521,6 +533,31 @@ 94 + @@ -529,6 +541,31 @@ 95 95 /// to the `UserContents` need to be forwared to all the `ScriptThread`s that host 96 96 /// the relevant `WebView`. 97 97 pub(crate) user_contents_for_manager_id: FxHashMap<UserContentManagerId, UserContents>, ··· 123 123 } 124 124 125 125 /// State needed to construct a constellation. 126 - @@ -581,6 +618,9 @@ 126 + @@ -592,6 +629,9 @@ 127 127 128 - /// The async runtime. 129 - pub async_runtime: Box<dyn AsyncRuntime>, 128 + /// The wake lock provider for acquiring and releasing OS-level screen wake locks. 129 + pub wake_lock_provider: Box<dyn WakeLockProvider>, 130 130 + 131 131 + /// The configuration directory used for storage. 132 132 + pub config_dir: Option<PathBuf>, 133 133 } 134 134 135 135 /// When we are exiting a pipeline, we can either force exiting or not. A normal exit 136 - @@ -690,7 +730,7 @@ 136 + @@ -701,7 +741,7 @@ 137 137 script_to_devtools_callback: Default::default(), 138 138 #[cfg(feature = "bluetooth")] 139 139 bluetooth_ipc_sender: state.bluetooth_thread, ··· 142 142 private_resource_threads: state.private_resource_threads, 143 143 public_storage_threads: state.public_storage_threads, 144 144 private_storage_threads: state.private_storage_threads, 145 - @@ -742,6 +782,15 @@ 145 + @@ -755,6 +795,15 @@ 146 146 pending_viewport_changes: Default::default(), 147 147 screenshot_readiness_requests: Vec::new(), 148 148 user_contents_for_manager_id: Default::default(), ··· 158 158 }; 159 159 160 160 constellation.run(); 161 - @@ -767,6 +816,18 @@ 161 + @@ -780,6 +829,18 @@ 162 162 fn clean_up_finished_script_event_loops(&mut self) { 163 163 self.event_loop_join_handles 164 164 .retain(|join_handle| !join_handle.is_finished()); ··· 177 177 self.event_loops 178 178 .retain(|event_loop| event_loop.upgrade().is_some()); 179 179 } 180 - @@ -1060,6 +1121,11 @@ 180 + @@ -1073,6 +1134,11 @@ 181 181 .get(&webview_id) 182 182 .and_then(|webview| webview.user_content_manager_id); 183 183 ··· 189 189 let new_pipeline_info = NewPipelineInfo { 190 190 parent_info: parent_pipeline_id, 191 191 new_pipeline_id, 192 - @@ -1071,6 +1137,13 @@ 192 + @@ -1084,6 +1150,13 @@ 193 193 user_content_manager_id, 194 194 theme, 195 195 target_snapshot_params, ··· 203 203 }; 204 204 let pipeline = match Pipeline::spawn(new_pipeline_info, event_loop, self, throttled) { 205 205 Ok(pipeline) => pipeline, 206 - @@ -1237,6 +1310,7 @@ 206 + @@ -1250,6 +1323,7 @@ 207 207 BackgroundHangMonitor(HangMonitorAlert), 208 208 Embedder(EmbedderToConstellationMessage), 209 209 FromSWManager(SWManagerMsg), ··· 211 211 RemoveProcess(usize), 212 212 } 213 213 // Get one incoming request. 214 - @@ -1257,6 +1331,15 @@ 214 + @@ -1270,6 +1344,15 @@ 215 215 sel.recv(&self.embedder_to_constellation_receiver); 216 216 sel.recv(&self.swmanager_receiver); 217 217 ··· 227 227 self.process_manager.register(&mut sel); 228 228 229 229 let request = { 230 - @@ -1285,9 +1368,13 @@ 230 + @@ -1298,9 +1381,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 - @@ -1313,6 +1400,9 @@ 245 + @@ -1326,6 +1413,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 - @@ -1553,11 +1643,7 @@ 255 + @@ -1566,11 +1656,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 - @@ -1584,6 +1670,18 @@ 268 + @@ -1597,6 +1683,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 - @@ -1781,7 +1879,13 @@ 287 + @@ -1794,7 +1892,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 - @@ -1795,7 +1899,13 @@ 302 + @@ -1808,7 +1912,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 - @@ -1807,6 +1917,12 @@ 317 + @@ -1820,6 +1930,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 - @@ -1816,8 +1932,15 @@ 330 + @@ -1829,8 +1945,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 - @@ -1837,6 +1960,12 @@ 347 + @@ -1850,6 +1973,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 - @@ -1888,7 +2017,7 @@ 360 + @@ -1901,7 +2030,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 - @@ -2020,6 +2149,29 @@ 369 + @@ -2033,6 +2162,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 - @@ -2039,7 +2191,12 @@ 399 + @@ -2052,7 +2204,12 @@ 400 400 } 401 401 self.active_media_session = Some(pipeline_id); 402 402 self.constellation_to_embedder_proxy.send( ··· 410 410 ); 411 411 }, 412 412 #[cfg(feature = "webgpu")] 413 - @@ -2094,7 +2251,839 @@ 414 - let _ = event_loop.send(ScriptThreadMessage::TriggerGarbageCollection); 415 - } 413 + @@ -2127,7 +2284,842 @@ 414 + } 415 + }, 416 416 }, 417 417 + ScriptToConstellationMessage::EmbeddedWebViewNotification(event) => { 418 418 + self.handle_embedded_webview_notification(webview_id, event); ··· 488 488 + ScriptToConstellationMessage::EmbeddedWebViewMediaSessionAction(action) => { 489 489 + self.handle_media_session_action_msg(action); 490 490 + }, 491 + + ScriptToConstellationMessage::EmbeddedWebViewFocus(embedded_webview_id) => { 492 + + self.handle_focus_web_view(embedded_webview_id); 493 + + }, 491 494 + ScriptToConstellationMessage::ForwardEventToEmbeddedWebView( 492 495 + embedded_webview_id, 493 496 + event, ··· 1216 1219 + } 1217 1220 + } 1218 1221 + return; 1219 - + } 1222 + } 1220 1223 + 1221 1224 + // Handle peer disconnect: clean up remote channel state. 1222 1225 + if let PairingEvent::PeerExpired { ref id } = event { 1223 1226 + self.pairing.clear_remote_peer(id); 1224 - } 1227 + + } 1225 1228 + 1226 1229 + // When a peer connects or reconnects, sync our open broadcast channels to it. 1227 1230 + if let PairingEvent::PeerDiscovered { ref id, .. } | ··· 1250 1253 } 1251 1254 1252 1255 /// Check the origin of a message against that of the pipeline it came from. 1253 - @@ -2413,6 +3402,55 @@ 1256 + @@ -2446,6 +3438,55 @@ 1254 1257 TransferState::TransferInProgress(queue) => queue.push_back(task), 1255 1258 TransferState::CompletionFailed(queue) => queue.push_back(task), 1256 1259 TransferState::CompletionRequested(_, queue) => queue.push_back(task), ··· 1306 1309 } 1307 1310 } 1308 1311 1309 - @@ -3306,6 +4344,40 @@ 1312 + @@ -3329,6 +4370,40 @@ 1310 1313 /// <https://html.spec.whatwg.org/multipage/#destroy-a-top-level-traversable> 1311 1314 fn handle_close_top_level_browsing_context(&mut self, webview_id: WebViewId) { 1312 1315 debug!("{webview_id}: Closing"); ··· 1347 1350 let browsing_context_id = BrowsingContextId::from(webview_id); 1348 1351 // Step 5. Remove traversable from the user agent's top-level traversable set. 1349 1352 let browsing_context = 1350 - @@ -3582,8 +4654,27 @@ 1353 + @@ -3605,8 +4680,27 @@ 1351 1354 opener_webview_id, 1352 1355 opener_pipeline_id, 1353 1356 response_sender, ··· 1375 1378 let Some((webview_id_sender, webview_id_receiver)) = generic_channel::channel() else { 1376 1379 warn!("Failed to create channel"); 1377 1380 let _ = response_sender.send(None); 1378 - @@ -3684,6 +4775,398 @@ 1381 + @@ -3705,6 +4799,395 @@ 1379 1382 }); 1380 1383 } 1381 1384 ··· 1484 1487 + new_webview_id, 1485 1488 + ConstellationWebView::new_with_hide_focus( 1486 1489 + new_webview_id, 1487 - + new_pipeline_id, 1488 1490 + new_browsing_context_id, 1489 1491 + user_content_manager_id, 1490 1492 + hide_focus, ··· 1673 1675 + self.webviews.insert( 1674 1676 + new_webview_id, 1675 1677 + ConstellationWebView::new( 1676 - + &self.constellation_to_embedder_proxy, 1677 1678 + new_webview_id, 1678 - + new_pipeline_id, 1679 1679 + new_browsing_context_id, 1680 1680 + user_content_manager_id, 1681 1681 + ), ··· 1774 1774 #[servo_tracing::instrument(skip_all)] 1775 1775 fn handle_refresh_cursor(&self, pipeline_id: PipelineId) { 1776 1776 let Some(pipeline) = self.pipelines.get(&pipeline_id) else { 1777 - @@ -4809,7 +6292,7 @@ 1777 + @@ -4830,7 +6313,7 @@ 1778 1778 } 1779 1779 1780 1780 #[servo_tracing::instrument(skip_all)] ··· 1783 1783 // Send a flat projection of the history to embedder. 1784 1784 // The final vector is a concatenation of the URLs of the past 1785 1785 // entries, the current entry and the future entries. 1786 - @@ -4913,9 +6396,22 @@ 1786 + @@ -4934,9 +6417,22 @@ 1787 1787 self.constellation_to_embedder_proxy 1788 1788 .send(ConstellationToEmbedderMsg::HistoryChanged( 1789 1789 webview_id,
+8 -10
patches/components/constellation/constellation_webview.rs.patch
··· 1 1 --- original 2 2 +++ modified 3 - @@ -57,6 +57,11 @@ 3 + @@ -59,6 +59,11 @@ 4 4 /// via [`ScriptThreadMessage::SetAccessibilityActive`] in `set_accessibility_active()` 5 5 /// and [`crate::Constellation::set_frame_tree_for_webview()`]. 6 6 pub accessibility_active: bool, ··· 12 12 } 13 13 14 14 impl ConstellationWebView { 15 - @@ -74,6 +79,22 @@ 16 - ), 17 - ); 18 - 15 + @@ -67,6 +72,20 @@ 16 + focused_browsing_context_id: BrowsingContextId, 17 + user_content_manager_id: Option<UserContentManagerId>, 18 + ) -> Self { 19 19 + Self::new_with_hide_focus( 20 20 + webview_id, 21 - + active_top_level_pipeline_id, 22 21 + focused_browsing_context_id, 23 22 + user_content_manager_id, 24 23 + false, ··· 27 26 + 28 27 + pub(crate) fn new_with_hide_focus( 29 28 + webview_id: WebViewId, 30 - + active_top_level_pipeline_id: PipelineId, 31 29 + focused_browsing_context_id: BrowsingContextId, 32 30 + user_content_manager_id: Option<UserContentManagerId>, 33 31 + hide_focus: bool, ··· 35 33 Self { 36 34 webview_id, 37 35 user_content_manager_id, 38 - @@ -84,6 +105,7 @@ 36 + @@ -78,6 +97,7 @@ 39 37 session_history: JointSessionHistory::new(), 40 38 theme: Theme::Light, 41 39 accessibility_active: false, ··· 43 41 } 44 42 } 45 43 46 - @@ -103,12 +125,41 @@ 44 + @@ -97,12 +117,41 @@ 47 45 event: &ConstellationInputEvent, 48 46 browsing_contexts: &FxHashMap<BrowsingContextId, BrowsingContext>, 49 47 ) -> Option<PipelineId> { ··· 87 85 let browsing_context_id = if matches!(event.event.event, InputEvent::MouseLeftViewport(_)) { 88 86 self.hovered_browsing_context_id 89 87 .unwrap_or(self.focused_browsing_context_id) 90 - @@ -178,11 +229,9 @@ 88 + @@ -172,11 +221,9 @@ 91 89 92 90 if let InputEvent::MouseMove(_) = &event.event.event { 93 91 update_hovered_browsing_context(Some(pipeline.browsing_context_id), true);
+6 -3
patches/components/constellation/tracing.rs.patch
··· 36 36 Self::ActivateDocument => target!("ActivateDocument"), 37 37 Self::SetDocumentState(..) => target!("SetDocumentState"), 38 38 Self::SetFinalUrl(..) => target!("SetFinalUrl"), 39 - @@ -189,6 +197,55 @@ 40 - target!("RespondToScreenshotReadinessRequest") 41 - }, 39 + @@ -191,6 +199,58 @@ 42 40 Self::TriggerGarbageCollection => target!("TriggerGarbageCollection"), 41 + Self::AcquireWakeLock(..) => target!("AcquireWakeLock"), 42 + Self::ReleaseWakeLock(..) => target!("ReleaseWakeLock"), 43 43 + Self::EmbeddedWebViewNotification(..) => { 44 44 + target!("EmbeddedWebViewNotification") 45 45 + }, ··· 53 53 + }, 54 54 + Self::EmbeddedWebViewMediaSessionAction(..) => { 55 55 + target!("EmbeddedWebViewMediaSessionAction") 56 + + }, 57 + + Self::EmbeddedWebViewFocus(..) => { 58 + + target!("EmbeddedWebViewFocus") 56 59 + }, 57 60 + Self::ForwardEventToEmbeddedWebView(..) => { 58 61 + target!("ForwardEventToEmbeddedWebView")
+1 -1
patches/components/devtools/lib.rs.patch
··· 1 1 --- original 2 2 +++ modified 3 - @@ -238,11 +238,11 @@ 3 + @@ -240,11 +240,11 @@ 4 4 continue; 5 5 }; 6 6 // connection succeeded and accepted
+8 -8
patches/components/layout/layout_impl.rs.patch
··· 1 1 --- original 2 2 +++ modified 3 - @@ -208,6 +208,10 @@ 4 - /// Whether accessibility is active in this layout. 5 - /// (Note: this is a temporary field which will be replaced with an optional accessibility tree member.) 6 - accessibility_active: Cell<bool>, 3 + @@ -213,6 +213,10 @@ 4 + 5 + /// See [Layout::needs_accessibility_update()]. 6 + needs_accessibility_update: Cell<bool>, 7 7 + 8 8 + /// The current page zoom for rendering (used by embedded webviews). 9 9 + /// When this changes, we need to trigger a new stacking context tree build. ··· 11 11 } 12 12 13 13 pub struct LayoutFactoryImpl(); 14 - @@ -248,12 +252,25 @@ 14 + @@ -253,12 +257,25 @@ 15 15 fn set_viewport_details(&mut self, viewport_details: ViewportDetails) -> bool { 16 16 let device = self.stylist.device_mut(); 17 17 let device_pixel_ratio = Scale::new(viewport_details.hidpi_scale_factor.get()); ··· 41 41 device.set_viewport_size(viewport_details.size); 42 42 device.set_device_pixel_ratio(device_pixel_ratio); 43 43 self.device_has_changed = true; 44 - @@ -732,6 +749,7 @@ 45 - paint_timing_handler: Default::default(), 44 + @@ -751,6 +768,7 @@ 46 45 user_stylesheets: config.user_stylesheets, 47 - accessibility_active: Cell::new(false), 46 + accessibility_tree: Default::default(), 47 + needs_accessibility_update: Cell::new(false), 48 48 + page_zoom_for_rendering: Cell::new(config.viewport_details.page_zoom_for_rendering), 49 49 } 50 50 }
+1 -1
patches/components/net/resource_thread.rs.patch
··· 66 66 }; 67 67 68 68 (Arc::new(http_state), Arc::new(private_http_state)) 69 - @@ -646,20 +657,21 @@ 69 + @@ -637,20 +648,21 @@ 70 70 return false; 71 71 }, 72 72 // Ignore these messages as they are only sent on very specific channels.
+11 -11
patches/components/script/dom/document/document.rs.patch
··· 24 24 use servo_media::{ClientContextId, ServoMedia}; 25 25 use servo_url::{ImmutableOrigin, MutableOrigin, ServoUrl}; 26 26 use style::attr::AttrValue; 27 - @@ -611,6 +614,9 @@ 27 + @@ -612,6 +615,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 - @@ -857,6 +863,12 @@ 37 + @@ -858,6 +864,12 @@ 38 38 39 39 // Set the document's activity level, reflow if necessary, and suspend or resume timers. 40 40 self.activity.set(activity); ··· 47 47 let media = ServoMedia::get(); 48 48 let pipeline_id = self.window().pipeline_id(); 49 49 let client_context_id = 50 - @@ -870,6 +882,7 @@ 50 + @@ -871,6 +883,7 @@ 51 51 52 52 self.title_changed(); 53 53 self.notify_embedder_favicon(); ··· 55 55 self.dirty_all_nodes(); 56 56 self.window().resume(CanGc::from_cx(cx)); 57 57 media.resume(&client_context_id); 58 - @@ -1268,6 +1281,9 @@ 58 + @@ -1269,6 +1282,9 @@ 59 59 LoadStatus::Started, 60 60 )); 61 61 self.send_to_embedder(EmbedderMsg::Status(self.webview_id(), None)); ··· 65 65 } 66 66 }, 67 67 DocumentReadyState::Complete => { 68 - @@ -1276,6 +1292,9 @@ 68 + @@ -1277,6 +1293,9 @@ 69 69 self.webview_id(), 70 70 LoadStatus::Complete, 71 71 )); ··· 75 75 } 76 76 update_with_current_instant(&self.dom_complete); 77 77 }, 78 - @@ -1354,7 +1373,13 @@ 78 + @@ -1355,7 +1374,13 @@ 79 79 let window = self.window(); 80 80 if window.is_top_level() { 81 81 let title = self.title().map(String::from); ··· 90 90 } 91 91 } 92 92 93 - @@ -1363,6 +1388,18 @@ 93 + @@ -1364,6 +1389,18 @@ 94 94 window.send_to_embedder(msg); 95 95 } 96 96 ··· 109 109 pub(crate) fn dirty_all_nodes(&self) { 110 110 let root = match self.GetDocumentElement() { 111 111 Some(root) => root, 112 - @@ -2917,9 +2954,59 @@ 112 + @@ -2919,9 +2956,59 @@ 113 113 current_rendering_epoch, 114 114 ); 115 115 ··· 169 169 pub(crate) fn handle_no_longer_waiting_on_asynchronous_image_updates(&self) { 170 170 self.waiting_on_canvas_image_updates.set(false); 171 171 } 172 - @@ -3646,6 +3733,7 @@ 172 + @@ -3636,6 +3723,7 @@ 173 173 active_sandboxing_flag_set: Cell::new(creation_sandboxing_flag_set), 174 174 creation_sandboxing_flag_set: Cell::new(creation_sandboxing_flag_set), 175 175 favicon: RefCell::new(None), ··· 177 177 websockets: DOMTracker::new(), 178 178 details_name_groups: Default::default(), 179 179 protocol_handler_automation_mode: Default::default(), 180 - @@ -4585,6 +4673,36 @@ 180 + @@ -4587,6 +4675,36 @@ 181 181 182 182 pub(crate) fn notify_embedder_favicon(&self) { 183 183 if let Some(ref image) = *self.favicon.borrow() { ··· 214 214 self.send_to_embedder(EmbedderMsg::NewFavicon(self.webview_id(), image.clone())); 215 215 } 216 216 } 217 - @@ -4655,6 +4773,20 @@ 217 + @@ -4657,6 +4775,20 @@ 218 218 pub(crate) fn set_css_styling_flag(&self, value: bool) { 219 219 self.css_styling_flag.set(value) 220 220 }
+22 -1
patches/components/script/dom/html/htmlembeddedwebview.rs.patch
··· 1 1 --- original 2 2 +++ modified 3 - @@ -0,0 +1,1088 @@ 3 + @@ -0,0 +1,1109 @@ 4 4 +/* This Source Code Form is subject to the terms of the Mozilla Public 5 5 + * License, v. 2.0. If a copy of the MPL was not distributed with this 6 6 + * file, You can obtain one at https://mozilla.org/MPL/2.0/. */ ··· 341 341 + PermissionFeature::BackgroundSync => "background-sync", 342 342 + PermissionFeature::Bluetooth => "bluetooth", 343 343 + PermissionFeature::PersistentStorage => "persistent-storage", 344 + + PermissionFeature::ScreenWakeLock => "screen-wake-lock", 344 345 + }; 345 346 + 346 347 + let feature_name = match permission_request.feature { ··· 355 356 + PermissionFeature::BackgroundSync => "Background Sync", 356 357 + PermissionFeature::Bluetooth => "Bluetooth", 357 358 + PermissionFeature::PersistentStorage => "Persistent Storage", 359 + + PermissionFeature::ScreenWakeLock => "Screen Wake Lock", 358 360 + }; 359 361 + 360 362 + // Store the response sender for later use by respondToPermissionPrompt ··· 1029 1031 + .as_global_scope() 1030 1032 + .script_to_constellation_chan() 1031 1033 + .send(ScriptToConstellationMessage::EmbeddedWebViewMediaSessionAction(action_type)) 1034 + + .unwrap(); 1035 + + Ok(()) 1036 + + } 1037 + + 1038 + + /// Transfer input focus to this embedded webview. 1039 + + pub(crate) fn embedded_force_focus(&self) -> Fallible<()> { 1040 + + let Some(webview_id) = self.embedded_webview_id() else { 1041 + + return Err(Error::InvalidState(Some( 1042 + + "This iframe is not an embedded webview".to_string(), 1043 + + ))); 1044 + + }; 1045 + + 1046 + + let window = self.owner_window(); 1047 + + window 1048 + + .as_global_scope() 1049 + + .script_to_constellation_chan() 1050 + + .send(ScriptToConstellationMessage::EmbeddedWebViewFocus( 1051 + + webview_id, 1052 + + )) 1032 1053 + .unwrap(); 1033 1054 + Ok(()) 1034 1055 + }
+12 -7
patches/components/script/dom/html/htmliframeelement.rs.patch
··· 283 283 } 284 284 } 285 285 286 - @@ -721,6 +919,157 @@ 286 + @@ -721,7 +919,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,89 @@ 444 + .get() 445 + @@ -1098,6 +1447,93 @@ 445 446 446 447 // https://html.spec.whatwg.org/multipage/#dom-iframe-longdesc 447 448 make_url_setter!(SetLongDesc, "longdesc"); ··· 528 529 + fn MediaSessionAction(&self, action: DOMString) -> Fallible<()> { 529 530 + self.embedded_media_session_action(action) 530 531 + } 532 + + 533 + + fn ForceFocus(&self) -> Fallible<()> { 534 + + self.embedded_force_focus() 535 + + } 531 536 } 532 537 533 538 impl VirtualMethods for HTMLIFrameElement { 534 - @@ -1153,9 +1585,54 @@ 539 + @@ -1153,9 +1589,54 @@ 535 540 // may be in a different script thread. Instead, we check to see if the parent 536 541 // is in a document tree and has a browsing context, which is what causes 537 542 // the child browsing context to be created. ··· 588 593 } 589 594 }, 590 595 local_name!("loading") => { 591 - @@ -1220,6 +1697,23 @@ 596 + @@ -1220,6 +1701,23 @@ 592 597 593 598 debug!("<iframe> running post connection steps"); 594 599 ··· 612 617 // Step 1. Create a new child navigable for insertedNode. 613 618 self.create_nested_browsing_context(cx); 614 619 615 - @@ -1243,11 +1737,25 @@ 620 + @@ -1243,11 +1741,25 @@ 616 621 fn unbind_from_tree(&self, context: &UnbindContext, can_gc: CanGc) { 617 622 self.super_type().unwrap().unbind_from_tree(context, can_gc); 618 623
+11 -11
patches/components/script/dom/navigator.rs.patch
··· 64 64 use crate::dom::serviceworkercontainer::ServiceWorkerContainer; 65 65 use crate::dom::servointernals::ServoInternals; 66 66 use crate::dom::types::UserActivation; 67 - @@ -64,6 +73,8 @@ 67 + @@ -65,6 +74,8 @@ 68 68 use crate::dom::xrsystem::XRSystem; 69 69 use crate::fetch::RequestWithGlobalScope; 70 70 use crate::network_listener::{FetchResponseListener, ResourceTimingListener, submit_timing}; ··· 73 73 use crate::script_runtime::{CanGc, JSContext}; 74 74 75 75 pub(super) fn hardware_concurrency() -> u64 { 76 - @@ -133,6 +144,9 @@ 77 - has_gamepad_gesture: Cell<bool>, 76 + @@ -135,6 +146,9 @@ 78 77 servo_internals: MutNullableDom<ServoInternals>, 79 78 user_activation: MutNullableDom<UserActivation>, 79 + wake_lock: MutNullableDom<WakeLock>, 80 80 + embedder: MutNullableDom<Embedder>, 81 81 + keyboard: MutNullableDom<Keyboard>, 82 82 + at_proto: MutNullableDom<AtProto>, 83 83 } 84 84 85 85 impl Navigator { 86 - @@ -159,6 +173,9 @@ 87 - has_gamepad_gesture: Cell::new(false), 86 + @@ -162,6 +176,9 @@ 88 87 servo_internals: Default::default(), 89 88 user_activation: Default::default(), 89 + wake_lock: Default::default(), 90 90 + embedder: Default::default(), 91 91 + keyboard: Default::default(), 92 92 + at_proto: Default::default(), 93 93 } 94 94 } 95 95 96 - @@ -171,6 +188,11 @@ 96 + @@ -174,6 +191,11 @@ 97 97 self.xr.get() 98 98 } 99 99 ··· 105 105 #[cfg(feature = "gamepad")] 106 106 pub(crate) fn get_gamepad(&self, index: usize) -> Option<DomRoot<Gamepad>> { 107 107 self.gamepads.borrow().get(index).and_then(|g| g.get()) 108 - @@ -567,6 +589,18 @@ 108 + @@ -570,6 +592,18 @@ 109 109 .or_init(|| ServoInternals::new(&self.global(), CanGc::deprecated_note())) 110 110 } 111 111 ··· 124 124 /// <https://html.spec.whatwg.org/multipage/#dom-navigator-registerprotocolhandler> 125 125 fn RegisterProtocolHandler(&self, scheme: DOMString, url: USVString) -> Fallible<()> { 126 126 // Step 1. Let (normalizedScheme, normalizedURLString) be the result of 127 - @@ -610,6 +644,214 @@ 128 - self.user_activation 129 - .or_init(|| UserActivation::new(&self.global(), can_gc)) 127 + @@ -618,6 +652,214 @@ 128 + fn WakeLock(&self, cx: &mut js::context::JSContext) -> DomRoot<WakeLock> { 129 + self.wake_lock.or_init(|| WakeLock::new(cx, &self.global())) 130 130 } 131 131 + 132 132 + fn CreatePeerStream( ··· 339 339 } 340 340 341 341 struct BeaconFetchListener { 342 - @@ -665,3 +907,40 @@ 342 + @@ -673,3 +915,40 @@ 343 343 self.global.root() 344 344 } 345 345 }
+11 -11
patches/components/script/dom/window.rs.patch
··· 22 22 use js::realm::CurrentRealm; 23 23 use js::rust::wrappers::JS_DefineProperty; 24 24 use js::rust::{ 25 - @@ -191,7 +192,7 @@ 25 + @@ -190,7 +191,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 - @@ -1152,12 +1153,22 @@ 34 + @@ -1150,12 +1151,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 - @@ -1185,13 +1196,22 @@ 58 + @@ -1183,13 +1194,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 - @@ -1236,6 +1256,7 @@ 82 + @@ -1234,6 +1254,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 - @@ -1242,8 +1263,16 @@ 90 + @@ -1240,8 +1261,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 - @@ -1732,6 +1761,26 @@ 108 + @@ -1730,6 +1759,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 - @@ -3102,9 +3151,33 @@ 135 + @@ -3100,9 +3149,33 @@ 136 136 &self, 137 137 input_event: &ConstellationInputEvent, 138 138 ) -> Option<HitTestResult> { ··· 169 169 } 170 170 171 171 #[expect(unsafe_code)] 172 - @@ -3123,8 +3196,25 @@ 172 + @@ -3121,8 +3194,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 - @@ -3667,6 +3757,8 @@ 199 + @@ -3665,6 +3755,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 - @@ -3693,6 +3785,8 @@ 208 + @@ -3691,6 +3783,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 - @@ -3979,3 +4073,115 @@ 217 + @@ -3976,3 +4070,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 - @@ -355,6 +355,8 @@ 3 + @@ -358,6 +358,8 @@ 4 4 gpu_id_hub, 5 5 init.inherited_secure_context, 6 6 init.unminify_js,
+5 -4
patches/components/script/script_thread.rs.patch
··· 9 9 }; 10 10 use encoding_rs::Encoding; 11 11 use fonts::{FontContext, SystemFontServiceProxy}; 12 - @@ -83,15 +83,17 @@ 13 - use servo_base::generic_channel; 12 + @@ -82,16 +82,18 @@ 13 + use servo_base::cross_process_instant::CrossProcessInstant; 14 14 use servo_base::generic_channel::GenericSender; 15 15 use servo_base::id::{ 16 16 - BrowsingContextId, HistoryStateId, PipelineId, PipelineNamespace, ScriptEventLoopId, ··· 18 18 + BrowsingContextId, HistoryStateId, MessagePortId, PipelineId, PipelineNamespace, 19 19 + ScriptEventLoopId, TEST_WEBVIEW_ID, WebViewId, 20 20 }; 21 + use servo_base::{Epoch, generic_channel}; 21 22 use servo_canvas_traits::webgl::WebGLPipeline; 22 23 +use servo_config::pref_util::PrefValue; 23 24 use servo_config::{opts, pref, prefs}; ··· 353 354 ); 354 355 if window_proxy.parent().is_some() { 355 356 // https://html.spec.whatwg.org/multipage/#navigating-across-documents:delaying-load-events-mode-2 356 - @@ -4296,10 +4534,78 @@ 357 + @@ -4299,10 +4537,78 @@ 357 358 document.event_handler().handle_refresh_cursor(); 358 359 } 359 360 ··· 432 433 fn handle_request_screenshot_readiness( 433 434 &self, 434 435 webview_id: WebViewId, 435 - @@ -4340,7 +4646,7 @@ 436 + @@ -4343,7 +4649,7 @@ 436 437 can_gc: CanGc, 437 438 ) { 438 439 let Some(window) = self.documents.borrow().find_window(pipeline_id) else {
+7 -7
patches/components/script_bindings/codegen/Bindings.conf.patch
··· 12 12 'Attr': { 13 13 'cx':['SetValue'], 14 14 }, 15 - @@ -301,6 +306,11 @@ 15 + @@ -300,6 +305,11 @@ 16 16 'cx': ['CheckValidity', 'ReportValidity'], 17 17 }, 18 18 ··· 24 24 'EventSource': { 25 25 'weakReferenceable': True, 26 26 }, 27 - @@ -681,9 +691,9 @@ 27 + @@ -698,9 +708,9 @@ 28 28 }, 29 29 30 30 'Navigator': { 31 31 - 'inRealms': ['GetVRDisplays'], 32 32 - 'canGc': ['Languages', 'SendBeacon', 'UserActivation'], 33 - - 'cx': ['Clipboard'] 33 + - 'cx': ['Clipboard', 'WakeLock'], 34 34 + 'inRealms': ['GetVRDisplays', 'CreatePeerStream', 'RequestTask'], 35 35 + 'canGc': ['Languages', 'SendBeacon', 'UserActivation', 'CreatePeerStream', 'RequestTask'], 36 - + 'cx': ['Atproto', 'Clipboard', 'Embedder', 'Keyboard'] 36 + + 'cx': ['Atproto', 'Clipboard', 'Embedder', 'Keyboard', 'WakeLock'], 37 37 }, 38 38 39 - 'Node': { 40 - @@ -716,6 +726,11 @@ 39 + 'WakeLock': { 40 + @@ -737,6 +747,11 @@ 41 41 'cx': ['CreateLinearGradient', 'CreatePattern', 'CreateRadialGradient', 'GetTransform'], 42 42 }, 43 43 ··· 49 49 'PerformanceObserver': { 50 50 'canGc': ['SupportedEntryTypes'], 51 51 }, 52 - @@ -866,7 +881,8 @@ 52 + @@ -891,7 +906,8 @@ 53 53 }, 54 54 55 55 'Window': {
+4 -1
patches/components/script_bindings/webidls/EmbeddedWebView.webidl.patch
··· 1 1 --- original 2 2 +++ modified 3 - @@ -0,0 +1,173 @@ 3 + @@ -0,0 +1,176 @@ 4 4 +/* This Source Code Form is subject to the terms of the Mozilla Public 5 5 + * License, v. 2.0. If a copy of the MPL was not distributed with this 6 6 + * file, You can obtain one at https://mozilla.org/MPL/2.0/. */ ··· 46 46 + 47 47 + // Media session control 48 48 + [Throws] undefined mediaSessionAction(DOMString action); 49 + + 50 + + // Focus control — transfers input focus to this embedded webview 51 + + [Throws] undefined forceFocus(); 49 52 +}; 50 53 + 51 54 +
+11 -11
patches/components/servo/servo.rs.patch
··· 17 17 #[cfg(all( 18 18 not(target_os = "windows"), 19 19 not(target_os = "ios"), 20 - @@ -245,9 +246,7 @@ 20 + @@ -246,9 +247,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 - @@ -306,10 +305,39 @@ 31 + @@ -307,10 +306,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 - @@ -450,6 +478,11 @@ 72 + @@ -451,6 +479,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 - @@ -548,10 +581,7 @@ 84 + @@ -564,10 +597,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 - @@ -676,6 +706,47 @@ 97 - .notify_accessibility_tree_update(webview, tree_update); 96 + @@ -690,6 +720,47 @@ 97 + webview.process_accessibility_tree_update(tree_update, epoch); 98 98 } 99 99 }, 100 100 + EmbedderMsg::EmbeddedWebViewCreated( ··· 141 141 } 142 142 } 143 143 144 - @@ -927,6 +998,7 @@ 144 + @@ -936,6 +1007,7 @@ 145 145 async_runtime, 146 146 public_storage_threads.clone(), 147 147 private_storage_threads.clone(), ··· 149 149 ); 150 150 151 151 if opts::get().multiprocess { 152 - @@ -1024,6 +1096,14 @@ 152 + @@ -1033,6 +1105,14 @@ 153 153 &self.0.site_data_manager 154 154 } 155 155 ··· 164 164 pub(crate) fn paint<'a>(&'a self) -> Ref<'a, Paint> { 165 165 self.0.paint.borrow() 166 166 } 167 - @@ -1126,6 +1206,7 @@ 167 + @@ -1135,6 +1215,7 @@ 168 168 async_runtime: Box<dyn net_traits::AsyncRuntime>, 169 169 public_storage_threads: StorageThreads, 170 170 private_storage_threads: StorageThreads, ··· 172 172 ) { 173 173 // Global configuration options, parsed from the command line. 174 174 let opts = opts::get(); 175 - @@ -1168,6 +1249,7 @@ 176 - wgpu_image_map: paint.webgpu_image_map(), 175 + @@ -1178,6 +1259,7 @@ 177 176 async_runtime, 178 177 privileged_urls, 178 + wake_lock_provider: Box::new(NoOpWakeLockProvider), 179 179 + config_dir, 180 180 }; 181 181
+3 -3
patches/components/servo/webview.rs.patch
··· 1 1 --- original 2 2 +++ modified 3 - @@ -239,6 +239,18 @@ 3 + @@ -245,6 +245,18 @@ 4 4 self.delegate().request_create_new(self.clone(), request); 5 5 } 6 6 ··· 19 19 pub(crate) fn viewport_details(&self) -> ViewportDetails { 20 20 // The division by 1 represents the page's default zoom of 100%, 21 21 // and gives us the appropriate CSSPixel type for the viewport. 22 - @@ -248,6 +260,7 @@ 22 + @@ -254,6 +266,7 @@ 23 23 ViewportDetails { 24 24 size: scaled_viewport_size / Scale::new(1.0), 25 25 hidpi_scale_factor: Scale::new(inner.hidpi_scale_factor.0), ··· 27 27 } 28 28 } 29 29 30 - @@ -781,6 +794,11 @@ 30 + @@ -787,6 +800,11 @@ 31 31 EmbedderControlRequest::FilePicker { .. } => { 32 32 unreachable!("This message should be routed through the FileManagerThread") 33 33 },
+3 -3
patches/components/servo/webview_delegate.rs.patch
··· 3 3 @@ -16,7 +16,7 @@ 4 4 }; 5 5 use paint_api::rendering_context::RenderingContext; 6 - use servo_base::generic_channel::{GenericSender, SendError}; 6 + use servo_base::generic_channel::{GenericCallback, GenericSender, SendError}; 7 7 -use servo_base::id::PipelineId; 8 8 +use servo_base::id::{BrowsingContextId, PipelineId, WebViewId}; 9 9 use servo_constellation_traits::EmbedderToConstellationMessage; 10 10 use tokio::sync::mpsc::UnboundedSender as TokioSender; 11 11 use tokio::sync::oneshot::Sender; 12 - @@ -971,6 +971,14 @@ 12 + @@ -982,6 +982,14 @@ 13 13 /// 14 14 /// [`window.open`]: https://developer.mozilla.org/en-US/docs/Web/API/Window/open 15 15 fn request_create_new(&self, _parent_webview: WebView, _request: CreateNewWebViewRequest) {} ··· 24 24 /// Content in a [`WebView`] is requesting permission to access a feature requiring 25 25 /// permission from the user. The embedder should allow or deny the request, either by 26 26 /// reading a cached value or querying the user for permission via the user interface. 27 - @@ -1029,6 +1037,25 @@ 27 + @@ -1040,6 +1048,25 @@ 28 28 _tree_update: accesskit::TreeUpdate, 29 29 ) { 30 30 }
+16 -14
patches/components/shared/constellation/from_script_message.rs.patch
··· 12 12 }; 13 13 use encoding_rs::Encoding; 14 14 use euclid::default::Size2D as UntypedSize2D; 15 - @@ -35,6 +36,7 @@ 16 - ServiceWorkerRegistrationId, WebViewId, 15 + @@ -36,6 +37,7 @@ 17 16 }; 18 17 use servo_canvas_traits::canvas::{CanvasId, CanvasMsg}; 18 + use servo_canvas_traits::webgl::WebGLChan; 19 19 +use servo_config::pref_util::PrefValue; 20 20 use servo_url::{ImmutableOrigin, OriginSnapshot, ServoUrl}; 21 + use servo_wakelock::WakeLockType; 21 22 use storage_traits::StorageThreads; 22 - use storage_traits::webstorage_thread::WebStorageType; 23 - @@ -44,7 +46,8 @@ 23 + @@ -46,7 +48,8 @@ 24 24 25 25 use crate::structured_data::{BroadcastChannelMsg, StructuredSerializedData}; 26 26 use crate::{ ··· 30 30 }; 31 31 32 32 pub type ScriptToConstellationSender = 33 - @@ -401,11 +404,14 @@ 33 + @@ -403,11 +406,14 @@ 34 34 pub opener_webview_id: WebViewId, 35 35 /// The pipeline opener browsing context. 36 36 pub opener_pipeline_id: PipelineId, ··· 47 47 #[derive(Debug, Deserialize, Serialize)] 48 48 pub struct AuxiliaryWebViewCreationResponse { 49 49 /// The new webview ID. 50 - @@ -416,6 +422,38 @@ 50 + @@ -418,6 +424,38 @@ 51 51 pub user_content_manager_id: Option<UserContentManagerId>, 52 52 } 53 53 ··· 86 86 /// Specifies the information required to load an iframe. 87 87 #[derive(Debug, Deserialize, Serialize)] 88 88 pub struct IFrameLoadInfo { 89 - @@ -538,6 +576,90 @@ 89 + @@ -542,6 +580,90 @@ 90 90 NoLongerActive, 91 91 } 92 92 ··· 177 177 /// Messages from the script to the constellation. 178 178 #[derive(Deserialize, IntoStaticStr, Serialize)] 179 179 pub enum ScriptToConstellationMessage { 180 - @@ -582,6 +704,10 @@ 180 + @@ -586,6 +708,10 @@ 181 181 NewBroadcastChannelNameInRouter(BroadcastChannelRouterId, String, ImmutableOrigin), 182 182 /// A global stopped managing broadcast channels for a given channel-name. 183 183 RemoveBroadcastChannelNameInRouter(BroadcastChannelRouterId, String, ImmutableOrigin), ··· 188 188 /// Broadcast a message to all same-origin broadcast channels, 189 189 /// excluding the source of the broadcast. 190 190 ScheduleBroadcast(BroadcastChannelRouterId, BroadcastChannelMsg), 191 - @@ -594,6 +720,9 @@ 191 + @@ -598,6 +724,9 @@ 192 192 Option<String>, 193 193 Option<String>, 194 194 ), ··· 198 198 /// Indicates whether this pipeline is currently running animations. 199 199 ChangeRunningAnimationsState(AnimationState), 200 200 /// Requests that a new 2D canvas thread be created. (This is done in the constellation because 201 - @@ -677,6 +806,10 @@ 201 + @@ -681,6 +810,10 @@ 202 202 ScriptNewIFrame(IFrameLoadInfoWithData), 203 203 /// Script has opened a new auxiliary browsing context. 204 204 CreateAuxiliaryWebView(AuxiliaryWebViewCreationRequest), ··· 209 209 /// Mark a new document as active 210 210 ActivateDocument, 211 211 /// Set the document state for a pipeline (used by screenshot / reftests) 212 - @@ -726,6 +859,112 @@ 213 - RespondToScreenshotReadinessRequest(ScreenshotReadinessResponse), 214 - /// Request the constellation to force garbage collection in all `ScriptThread`'s. 215 - TriggerGarbageCollection, 212 + @@ -738,6 +871,114 @@ 213 + /// aggregate lock count and notify the provider only when the count transitions from N to 0. 214 + /// <https://w3c.github.io/screen-wake-lock/#dfn-release-wake-lock> 215 + ReleaseWakeLock(WakeLockType), 216 216 + /// Notification from an embedded webview to be forwarded to its parent iframe element. 217 217 + /// The Constellation will forward this to the parent pipeline's script thread. 218 218 + EmbeddedWebViewNotification(EmbeddedWebViewEventType), ··· 236 236 + ), 237 237 + /// Send a media session action to the active media session in an embedded webview. 238 238 + EmbeddedWebViewMediaSessionAction(embedder_traits::MediaSessionActionType), 239 + + /// Transfer input focus to an embedded webview. 240 + + EmbeddedWebViewFocus(WebViewId), 239 241 + /// Forward an input event to an embedded webview after the parent's DOM hit testing 240 242 + /// determined that the event target is an embedded iframe element. 241 243 + ForwardEventToEmbeddedWebView(WebViewId, InputEventAndId),
+11 -11
patches/components/shared/embedder/lib.rs.patch
··· 1 1 --- original 2 2 +++ modified 3 - @@ -33,7 +33,8 @@ 3 + @@ -34,7 +34,8 @@ 4 4 use servo_base::generic_channel::{ 5 5 GenericCallback, GenericSender, GenericSharedMemory, SendResult, 6 6 }; ··· 10 10 use servo_geometry::{DeviceIndependentIntRect, DeviceIndependentIntSize}; 11 11 use servo_url::ServoUrl; 12 12 use strum::{EnumMessage, IntoStaticStr}; 13 - @@ -68,6 +69,31 @@ 13 + @@ -69,6 +70,31 @@ 14 14 Self::Page(point) => *point * scale, 15 15 } 16 16 } ··· 42 42 } 43 43 44 44 impl From<DevicePoint> for WebViewPoint { 45 - @@ -320,9 +346,16 @@ 45 + @@ -321,9 +347,16 @@ 46 46 /// The size of the layout viewport. 47 47 pub size: Size2D<f32, CSSPixel>, 48 48 ··· 61 61 } 62 62 63 63 impl ViewportDetails { 64 - @@ -342,7 +375,7 @@ 64 + @@ -343,7 +376,7 @@ 65 65 } 66 66 67 67 /// An opaque identifier for a single history traversal operation. ··· 70 70 pub struct TraversalId(String); 71 71 72 72 impl TraversalId { 73 - @@ -352,6 +385,12 @@ 73 + @@ -353,6 +386,12 @@ 74 74 } 75 75 } 76 76 ··· 83 83 #[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, PartialEq, Serialize, MallocSizeOf)] 84 84 pub enum PixelFormat { 85 85 /// Luminance channel only 86 - @@ -431,6 +470,12 @@ 86 + @@ -432,6 +471,12 @@ 87 87 pub name: String, 88 88 } 89 89 ··· 96 96 /// Messages towards the embedder. 97 97 #[derive(Deserialize, IntoStaticStr, Serialize)] 98 98 pub enum EmbedderMsg { 99 - @@ -452,6 +497,21 @@ 99 + @@ -453,6 +498,21 @@ 100 100 ProtocolHandlerUpdateRegistration, 101 101 GenericSender<AllowOrDeny>, 102 102 ), ··· 118 118 /// Wether or not to unload a document 119 119 AllowUnload(WebViewId, GenericSender<AllowOrDeny>), 120 120 /// Inform embedder to clear the clipboard 121 - @@ -509,6 +569,24 @@ 121 + @@ -514,6 +574,24 @@ 122 122 InputEventsHandled(WebViewId, Vec<InputEventOutcome>), 123 123 /// Send the embedder an accessibility tree update. 124 - AccessibilityTreeUpdate(WebViewId, TreeUpdate), 124 + AccessibilityTreeUpdate(WebViewId, TreeUpdate, Epoch), 125 125 + /// Request from web content (via `navigator.embedder.openNewOSWindow()`) to open a new 126 126 + /// OS-level window with the given URL and features. 127 127 + OpenNewOSWindow(NewOSWindowParams), ··· 143 143 } 144 144 145 145 impl Debug for EmbedderMsg { 146 - @@ -1063,6 +1141,54 @@ 146 + @@ -1069,6 +1147,54 @@ 147 147 WebViewDoesNotExist, 148 148 } 149 149 ··· 198 198 #[derive(Clone, Copy, Debug, Deserialize, Serialize)] 199 199 pub struct RgbColor { 200 200 pub red: u8, 201 - @@ -1142,3 +1268,26 @@ 201 + @@ -1148,3 +1274,26 @@ 202 202 self 203 203 } 204 204 }
+1 -1
patches/components/shared/net/lib.rs.patch
··· 91 91 #[derive(Debug, Deserialize, Serialize)] 92 92 pub enum CoreResourceMsg { 93 93 Fetch(RequestBuilder, FetchChannels), 94 - @@ -706,6 +769,10 @@ 94 + @@ -700,6 +763,10 @@ 95 95 CollectMemoryReport(ReportsChan), 96 96 RevokeTokenForFile(BlobTokenRevocationRequest), 97 97 RefreshTokenForFile(BlobTokenRefreshRequest),
+5 -5
patches/components/shared/script/lib.rs.patch
··· 9 9 }; 10 10 use euclid::{Scale, Size2D}; 11 11 use fonts_traits::SystemFontServiceProxySender; 12 - @@ -41,8 +41,9 @@ 12 + @@ -42,8 +42,9 @@ 13 13 use servo_canvas_traits::webgl::WebGLPipeline; 14 14 use servo_config::prefs::PrefValue; 15 15 use servo_constellation_traits::{ ··· 21 21 }; 22 22 use servo_url::{ImmutableOrigin, ServoUrl}; 23 23 use storage_traits::StorageThreads; 24 - @@ -79,6 +80,14 @@ 24 + @@ -80,6 +81,14 @@ 25 25 pub theme: Theme, 26 26 /// A snapshot of the navigation parameters of the target of this navigation. 27 27 pub target_snapshot_params: TargetSnapshotParams, ··· 36 36 } 37 37 38 38 /// When a pipeline is closed, should its browsing context be discarded too? 39 - @@ -291,6 +300,15 @@ 39 + @@ -292,6 +301,15 @@ 40 40 SendImageKeysBatch(PipelineId, Vec<ImageKey>), 41 41 /// Preferences were updated in the parent process. 42 42 PreferencesUpdated(Vec<(String, PrefValue)>), ··· 52 52 /// Notify the `ScriptThread` that the Servo renderer is no longer waiting on 53 53 /// asynchronous image uploads for the given `Pipeline`. These are mainly used 54 54 /// by canvas to perform uploads while the display list is being built. 55 - @@ -327,6 +345,24 @@ 56 - SetAccessibilityActive(PipelineId, bool), 55 + @@ -328,6 +346,24 @@ 56 + SetAccessibilityActive(PipelineId, bool, Epoch), 57 57 /// Force a garbage collection in this script thread. 58 58 TriggerGarbageCollection, 59 59 + /// Dispatch an event on an embedded webview's iframe element.