Rewild Your Web
18
fork

Configure Feed

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

Update Servo to 9fd7477cbb9fd2cf945a7e7bdd4e5f5468b99adc

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

webbeef e88359ff ba52ef2e

+258 -214
+110 -108
Cargo.lock
··· 287 287 288 288 [[package]] 289 289 name = "anstyle" 290 - version = "1.0.13" 290 + version = "1.0.14" 291 291 source = "registry+https://github.com/rust-lang/crates.io-index" 292 - checksum = "5192cca8006f1fd4f7237516f40fa183bb07f8fbdfedaa0036de5ea9b0b45e78" 292 + checksum = "940b3a0ca603d1eade50a4846a2afffd5ef57a9feac2c0e2ec2e14f9ead76000" 293 293 294 294 [[package]] 295 295 name = "anstyle-parse" ··· 778 778 779 779 [[package]] 780 780 name = "beaver-shell" 781 - version = "0.1.0" 781 + version = "0.0.1" 782 782 dependencies = [ 783 783 "axum", 784 784 "chrono", ··· 1171 1171 1172 1172 [[package]] 1173 1173 name = "cc" 1174 - version = "1.2.56" 1174 + version = "1.2.57" 1175 1175 source = "registry+https://github.com/rust-lang/crates.io-index" 1176 - checksum = "aebf35691d1bfb0ac386a69bac2fde4dd276fb618cf8bf4f5318fe285e821bb2" 1176 + checksum = "7a0dd1ca384932ff3641c8718a02769f1698e7563dc6974ffd03346116310423" 1177 1177 dependencies = [ 1178 1178 "find-msvc-tools", 1179 1179 "jobserver", ··· 1460 1460 1461 1461 [[package]] 1462 1462 name = "colorchoice" 1463 - version = "1.0.4" 1463 + version = "1.0.5" 1464 1464 source = "registry+https://github.com/rust-lang/crates.io-index" 1465 - checksum = "b05b61dc5112cbb17e4b6cd61790d9845d13888356391624cbe7e41efeac1e75" 1465 + checksum = "1d07550c9036bf2ae0c684c4297d503f838287c83c53686d05370d0e139ae570" 1466 1466 1467 1467 [[package]] 1468 1468 name = "combine" ··· 1523 1523 1524 1524 [[package]] 1525 1525 name = "content-security-policy" 1526 - version = "0.6.0" 1526 + version = "0.6.1" 1527 1527 source = "registry+https://github.com/rust-lang/crates.io-index" 1528 - checksum = "52efb49c92268e4dcb64ea15d6733630f91bda721ef093f2e83959ea4fa241c0" 1528 + checksum = "92693f0f50d58b279ffb4a005722c509739e1d01bb53e6cf8d3c06ffb6b101ef" 1529 1529 dependencies = [ 1530 1530 "base64 0.22.1", 1531 1531 "bitflags 2.11.0", ··· 3187 3187 source = "registry+https://github.com/rust-lang/crates.io-index" 3188 3188 checksum = "64729ba2772c080448f9f966dba8f4456beeb100d8c28a865ef8a0f2ef4987e1" 3189 3189 dependencies = [ 3190 - "glib-sys 0.22.0", 3190 + "glib-sys 0.22.3", 3191 3191 "gobject-sys 0.22.0", 3192 3192 "libc", 3193 3193 "system-deps 7.0.7", ··· 3260 3260 3261 3261 [[package]] 3262 3262 name = "glib" 3263 - version = "0.22.2" 3263 + version = "0.22.3" 3264 3264 source = "registry+https://github.com/rust-lang/crates.io-index" 3265 - checksum = "16877c6e619447e0bcb6de326a42a8bd02b36328cfeeda210135425e576efa3d" 3265 + checksum = "039f93465ac17e6cb02d16f16572cd3e43a77e736d5ecc461e71b9c9c5c0569c" 3266 3266 dependencies = [ 3267 3267 "bitflags 2.11.0", 3268 3268 "futures-channel", ··· 3272 3272 "futures-util", 3273 3273 "gio-sys 0.22.0", 3274 3274 "glib-macros 0.22.2", 3275 - "glib-sys 0.22.0", 3275 + "glib-sys 0.22.3", 3276 3276 "gobject-sys 0.22.0", 3277 3277 "libc", 3278 3278 "memchr", ··· 3340 3340 3341 3341 [[package]] 3342 3342 name = "glib-sys" 3343 - version = "0.22.0" 3343 + version = "0.22.3" 3344 3344 source = "registry+https://github.com/rust-lang/crates.io-index" 3345 - checksum = "48073e3b228419faa80b9b7f7122759d4ab2f44cd52a065fde7ca08f34c03147" 3345 + checksum = "1eb23a616a3dbc7fc15bbd26f58756ff0b04c8a894df3f0680cd21011db6a642" 3346 3346 dependencies = [ 3347 3347 "libc", 3348 3348 "system-deps 7.0.7", ··· 3441 3441 source = "registry+https://github.com/rust-lang/crates.io-index" 3442 3442 checksum = "18eda93f09d3778f38255b231b17ef67195013a592c91624a4daf8bead875565" 3443 3443 dependencies = [ 3444 - "glib-sys 0.22.0", 3444 + "glib-sys 0.22.3", 3445 3445 "libc", 3446 3446 "system-deps 7.0.7", 3447 3447 ] ··· 3524 3524 "futures-channel", 3525 3525 "futures-core", 3526 3526 "futures-util", 3527 - "glib 0.22.2", 3527 + "glib 0.22.3", 3528 3528 "gstreamer-sys", 3529 3529 "itertools 0.14.0", 3530 3530 "kstring", ··· 3547 3547 dependencies = [ 3548 3548 "futures-core", 3549 3549 "futures-sink", 3550 - "glib 0.22.2", 3550 + "glib 0.22.3", 3551 3551 "gstreamer", 3552 3552 "gstreamer-app-sys", 3553 3553 "gstreamer-base", ··· 3560 3560 source = "registry+https://github.com/rust-lang/crates.io-index" 3561 3561 checksum = "7a74a8211e5d7df2f45b612c284ddf56b92bdf4e879e8ed72e7c46dd0842e158" 3562 3562 dependencies = [ 3563 - "glib-sys 0.22.0", 3563 + "glib-sys 0.22.3", 3564 3564 "gstreamer-base-sys", 3565 3565 "gstreamer-sys", 3566 3566 "libc", ··· 3574 3574 checksum = "46e64660e1963ff3b6a4a5175f917524254a6ae36ac7b83e29b760d879a33073" 3575 3575 dependencies = [ 3576 3576 "cfg-if", 3577 - "glib 0.22.2", 3577 + "glib 0.22.3", 3578 3578 "gstreamer", 3579 3579 "gstreamer-audio-sys", 3580 3580 "gstreamer-base", ··· 3588 3588 source = "registry+https://github.com/rust-lang/crates.io-index" 3589 3589 checksum = "b5111bd07d0e22cc66ec9b4b4ef5408beefb148af19944fbe4602983a043f34c" 3590 3590 dependencies = [ 3591 - "glib-sys 0.22.0", 3591 + "glib-sys 0.22.3", 3592 3592 "gobject-sys 0.22.0", 3593 3593 "gstreamer-base-sys", 3594 3594 "gstreamer-sys", ··· 3604 3604 dependencies = [ 3605 3605 "atomic_refcell", 3606 3606 "cfg-if", 3607 - "glib 0.22.2", 3607 + "glib 0.22.3", 3608 3608 "gstreamer", 3609 3609 "gstreamer-base-sys", 3610 3610 "libc", ··· 3616 3616 source = "registry+https://github.com/rust-lang/crates.io-index" 3617 3617 checksum = "6569606feeb89cfcf95a6476a64a0f0aec83fadcef0e91c24e576f7851ceac3a" 3618 3618 dependencies = [ 3619 - "glib-sys 0.22.0", 3619 + "glib-sys 0.22.3", 3620 3620 "gobject-sys 0.22.0", 3621 3621 "gstreamer-sys", 3622 3622 "libc", ··· 3629 3629 source = "registry+https://github.com/rust-lang/crates.io-index" 3630 3630 checksum = "94f83397da547ce27d7b912980ecb21c99c6aedee4015765355fe66cdf0bd9b9" 3631 3631 dependencies = [ 3632 - "glib 0.22.2", 3632 + "glib 0.22.3", 3633 3633 "gstreamer", 3634 3634 "gstreamer-base", 3635 3635 "gstreamer-gl-sys", ··· 3643 3643 source = "registry+https://github.com/rust-lang/crates.io-index" 3644 3644 checksum = "ff3c29e6d4b92ef22b0bacc2cff02902d40516942fead63c656d7fccc75221e8" 3645 3645 dependencies = [ 3646 - "glib 0.22.2", 3646 + "glib 0.22.3", 3647 3647 "gstreamer", 3648 3648 "gstreamer-gl", 3649 3649 "gstreamer-gl-egl-sys", ··· 3656 3656 source = "registry+https://github.com/rust-lang/crates.io-index" 3657 3657 checksum = "e7294007aa6c0c6082d4835c391ab4094ef09ef581cde4c67edad2c1befcfd84" 3658 3658 dependencies = [ 3659 - "glib-sys 0.22.0", 3659 + "glib-sys 0.22.3", 3660 3660 "gstreamer-gl-sys", 3661 3661 "libc", 3662 3662 "system-deps 7.0.7", ··· 3668 3668 source = "registry+https://github.com/rust-lang/crates.io-index" 3669 3669 checksum = "9c57ba9f4e0f2d852d480049b9eae4f69f0abe450eece4d96494da0b4857b04e" 3670 3670 dependencies = [ 3671 - "glib-sys 0.22.0", 3671 + "glib-sys 0.22.3", 3672 3672 "gobject-sys 0.22.0", 3673 3673 "gstreamer-base-sys", 3674 3674 "gstreamer-sys", ··· 3683 3683 source = "registry+https://github.com/rust-lang/crates.io-index" 3684 3684 checksum = "9a83ca3d2030846f01be738b8b867ecb4b95269497bcfa459b8fc1ce897ad9f4" 3685 3685 dependencies = [ 3686 - "glib 0.22.2", 3686 + "glib 0.22.3", 3687 3687 "gstreamer", 3688 3688 "gstreamer-gl", 3689 3689 "gstreamer-gl-wayland-sys", ··· 3696 3696 source = "registry+https://github.com/rust-lang/crates.io-index" 3697 3697 checksum = "6ccd79a57650954ced0a0c8fcb38c561a83c1cb6515f1e318bbb6631ce287590" 3698 3698 dependencies = [ 3699 - "glib-sys 0.22.0", 3699 + "glib-sys 0.22.3", 3700 3700 "gstreamer-gl-sys", 3701 3701 "libc", 3702 3702 "system-deps 7.0.7", ··· 3708 3708 source = "registry+https://github.com/rust-lang/crates.io-index" 3709 3709 checksum = "642d86fed827466e2d1ff4f430313fdab5d113bc2bf1e9c9736a873e8832c6ca" 3710 3710 dependencies = [ 3711 - "glib 0.22.2", 3711 + "glib 0.22.3", 3712 3712 "gstreamer", 3713 3713 "gstreamer-gl", 3714 3714 "gstreamer-gl-x11-sys", ··· 3721 3721 source = "registry+https://github.com/rust-lang/crates.io-index" 3722 3722 checksum = "1391e727c873085ce4f8b2deb7fc4dcb15098ef75433777510860b0d983ff39f" 3723 3723 dependencies = [ 3724 - "glib-sys 0.22.0", 3724 + "glib-sys 0.22.3", 3725 3725 "gstreamer-gl-sys", 3726 3726 "libc", 3727 3727 "system-deps 7.0.7", ··· 3733 3733 source = "registry+https://github.com/rust-lang/crates.io-index" 3734 3734 checksum = "3355c2c37bfd824cbd974bf0b8c004d71ca3755f825065957bc16356d79e6e34" 3735 3735 dependencies = [ 3736 - "glib 0.22.2", 3736 + "glib 0.22.3", 3737 3737 "gstreamer", 3738 3738 "gstreamer-play-sys", 3739 3739 "gstreamer-video", ··· 3746 3746 source = "registry+https://github.com/rust-lang/crates.io-index" 3747 3747 checksum = "33810c828e426122ca8268071a090e08a9fbcc96e104f94c76353547c4c98a6f" 3748 3748 dependencies = [ 3749 - "glib-sys 0.22.0", 3749 + "glib-sys 0.22.3", 3750 3750 "gobject-sys 0.22.0", 3751 3751 "gstreamer-sys", 3752 3752 "gstreamer-video-sys", ··· 3760 3760 source = "registry+https://github.com/rust-lang/crates.io-index" 3761 3761 checksum = "11650b5fbc5994877bc525519c554cb66166f155f9cc3119b0fe88a33dc5176e" 3762 3762 dependencies = [ 3763 - "glib 0.22.2", 3763 + "glib 0.22.3", 3764 3764 "gstreamer", 3765 3765 "gstreamer-sdp-sys", 3766 3766 ] ··· 3771 3771 source = "registry+https://github.com/rust-lang/crates.io-index" 3772 3772 checksum = "c20f0eb41ecfbacbf6a29d9457e6de0f59e2638f47fbdb6a6c1bcfb720c2b9ee" 3773 3773 dependencies = [ 3774 - "glib-sys 0.22.0", 3774 + "glib-sys 0.22.3", 3775 3775 "gstreamer-sys", 3776 3776 "libc", 3777 3777 "system-deps 7.0.7", ··· 3784 3784 checksum = "85d09343b4c23d64b3ef35f1f644598860cc9a4617e7ccded141de97cd528608" 3785 3785 dependencies = [ 3786 3786 "cfg-if", 3787 - "glib-sys 0.22.0", 3787 + "glib-sys 0.22.3", 3788 3788 "gobject-sys 0.22.0", 3789 3789 "libc", 3790 3790 "system-deps 7.0.7", ··· 3798 3798 dependencies = [ 3799 3799 "cfg-if", 3800 3800 "futures-channel", 3801 - "glib 0.22.2", 3801 + "glib 0.22.3", 3802 3802 "gstreamer", 3803 3803 "gstreamer-base", 3804 3804 "gstreamer-video-sys", ··· 3812 3812 source = "registry+https://github.com/rust-lang/crates.io-index" 3813 3813 checksum = "458f82631a5063057c10583a57ba0fbce689e67122cfdb5eddbeaa43eb812e75" 3814 3814 dependencies = [ 3815 - "glib-sys 0.22.0", 3815 + "glib-sys 0.22.3", 3816 3816 "gobject-sys 0.22.0", 3817 3817 "gstreamer-base-sys", 3818 3818 "gstreamer-sys", ··· 3826 3826 source = "registry+https://github.com/rust-lang/crates.io-index" 3827 3827 checksum = "7def31f08759da6f658462d7def7138e00346e5345958ba291926e9511e97d16" 3828 3828 dependencies = [ 3829 - "glib 0.22.2", 3829 + "glib 0.22.3", 3830 3830 "gstreamer", 3831 3831 "gstreamer-sdp", 3832 3832 "gstreamer-webrtc-sys", ··· 3839 3839 source = "registry+https://github.com/rust-lang/crates.io-index" 3840 3840 checksum = "405721d1f15bbda47a46f9645077859215a947cdd6af6c7f18e4f4d0cbe63bd7" 3841 3841 dependencies = [ 3842 - "glib-sys 0.22.0", 3842 + "glib-sys 0.22.3", 3843 3843 "gstreamer-sdp-sys", 3844 3844 "gstreamer-sys", 3845 3845 "libc", ··· 6552 6552 6553 6553 [[package]] 6554 6554 name = "num_enum" 6555 - version = "0.7.5" 6555 + version = "0.7.6" 6556 6556 source = "registry+https://github.com/rust-lang/crates.io-index" 6557 - checksum = "b1207a7e20ad57b847bbddc6776b968420d38292bbfe2089accff5e19e82454c" 6557 + checksum = "5d0bca838442ec211fa11de3a8b0e0e8f3a4522575b5c4c06ed722e005036f26" 6558 6558 dependencies = [ 6559 6559 "num_enum_derive", 6560 6560 "rustversion", ··· 6562 6562 6563 6563 [[package]] 6564 6564 name = "num_enum_derive" 6565 - version = "0.7.5" 6565 + version = "0.7.6" 6566 6566 source = "registry+https://github.com/rust-lang/crates.io-index" 6567 - checksum = "ff32365de1b6743cb203b710788263c44a03de03802daf96092f2da4fe6ba4d7" 6567 + checksum = "680998035259dcfcafe653688bf2aa6d3e2dc05e98be6ab46afb089dc84f1df8" 6568 6568 dependencies = [ 6569 6569 "proc-macro-crate 3.5.0", 6570 6570 "proc-macro2", ··· 7620 7620 7621 7621 [[package]] 7622 7622 name = "portable-atomic-util" 7623 - version = "0.2.5" 7623 + version = "0.2.6" 7624 7624 source = "registry+https://github.com/rust-lang/crates.io-index" 7625 - checksum = "7a9db96d7fa8782dd8c15ce32ffe8680bbd1e978a43bf51a34d39483540495f5" 7625 + checksum = "091397be61a01d4be58e7841595bd4bfedb15f1cd54977d79b8271e94ed799a3" 7626 7626 dependencies = [ 7627 7627 "portable-atomic", 7628 7628 ] ··· 8887 8887 8888 8888 [[package]] 8889 8889 name = "servo" 8890 - version = "0.1.0" 8890 + version = "0.0.1" 8891 8891 dependencies = [ 8892 8892 "accesskit", 8893 8893 "arboard", ··· 8960 8960 8961 8961 [[package]] 8962 8962 name = "servo-allocator" 8963 - version = "0.1.0" 8963 + version = "0.0.1" 8964 8964 dependencies = [ 8965 8965 "backtrace", 8966 8966 "libc", ··· 8973 8973 8974 8974 [[package]] 8975 8975 name = "servo-background-hang-monitor" 8976 - version = "0.1.0" 8976 + version = "0.0.1" 8977 8977 dependencies = [ 8978 8978 "backtrace", 8979 8979 "crossbeam-channel", ··· 8990 8990 8991 8991 [[package]] 8992 8992 name = "servo-background-hang-monitor-api" 8993 - version = "0.1.0" 8993 + version = "0.0.1" 8994 8994 dependencies = [ 8995 8995 "serde", 8996 8996 "servo-base", ··· 8998 8998 8999 8999 [[package]] 9000 9000 name = "servo-base" 9001 - version = "0.1.0" 9001 + version = "0.0.1" 9002 9002 dependencies = [ 9003 9003 "accesskit", 9004 9004 "crossbeam-channel", ··· 9022 9022 9023 9023 [[package]] 9024 9024 name = "servo-bluetooth" 9025 - version = "0.1.0" 9025 + version = "0.0.1" 9026 9026 dependencies = [ 9027 9027 "bitflags 2.11.0", 9028 9028 "blurdroid", ··· 9040 9040 9041 9041 [[package]] 9042 9042 name = "servo-bluetooth-traits" 9043 - version = "0.1.0" 9043 + version = "0.0.1" 9044 9044 dependencies = [ 9045 9045 "regex", 9046 9046 "serde", ··· 9050 9050 9051 9051 [[package]] 9052 9052 name = "servo-canvas" 9053 - version = "0.1.0" 9053 + version = "0.0.1" 9054 9054 dependencies = [ 9055 9055 "bytemuck", 9056 9056 "crossbeam-channel", ··· 9078 9078 9079 9079 [[package]] 9080 9080 name = "servo-canvas-traits" 9081 - version = "0.1.0" 9081 + version = "0.0.1" 9082 9082 dependencies = [ 9083 9083 "crossbeam-channel", 9084 9084 "euclid", ··· 9099 9099 9100 9100 [[package]] 9101 9101 name = "servo-config" 9102 - version = "0.1.0" 9102 + version = "0.0.1" 9103 9103 dependencies = [ 9104 9104 "serde", 9105 9105 "serde_json", ··· 9109 9109 9110 9110 [[package]] 9111 9111 name = "servo-config-macro" 9112 - version = "0.1.0" 9112 + version = "0.0.1" 9113 9113 dependencies = [ 9114 9114 "proc-macro2", 9115 9115 "quote", ··· 9119 9119 9120 9120 [[package]] 9121 9121 name = "servo-constellation" 9122 - version = "0.1.0" 9122 + version = "0.0.1" 9123 9123 dependencies = [ 9124 9124 "backtrace", 9125 9125 "beaver-p2p", ··· 9174 9174 9175 9175 [[package]] 9176 9176 name = "servo-constellation-traits" 9177 - version = "0.1.0" 9177 + version = "0.0.1" 9178 9178 dependencies = [ 9179 9179 "content-security-policy", 9180 9180 "encoding_rs", ··· 9209 9209 9210 9210 [[package]] 9211 9211 name = "servo-deny-public-fields" 9212 - version = "0.1.0" 9212 + version = "0.0.1" 9213 9213 dependencies = [ 9214 9214 "syn 2.0.117", 9215 9215 "synstructure", ··· 9217 9217 9218 9218 [[package]] 9219 9219 name = "servo-devtools" 9220 - version = "0.1.0" 9220 + version = "0.0.1" 9221 9221 dependencies = [ 9222 9222 "atomic_refcell", 9223 9223 "base64 0.22.1", ··· 9245 9245 9246 9246 [[package]] 9247 9247 name = "servo-devtools-traits" 9248 - version = "0.1.0" 9248 + version = "0.0.1" 9249 9249 dependencies = [ 9250 9250 "bitflags 2.11.0", 9251 9251 "http 1.4.0", ··· 9263 9263 9264 9264 [[package]] 9265 9265 name = "servo-dom-struct" 9266 - version = "0.1.0" 9266 + version = "0.0.1" 9267 9267 dependencies = [ 9268 9268 "proc-macro2", 9269 9269 "quote", ··· 9272 9272 9273 9273 [[package]] 9274 9274 name = "servo-embedder-traits" 9275 - version = "0.1.0" 9275 + version = "0.0.1" 9276 9276 dependencies = [ 9277 9277 "accesskit", 9278 9278 "bitflags 2.11.0", ··· 9305 9305 9306 9306 [[package]] 9307 9307 name = "servo-fonts" 9308 - version = "0.1.0" 9308 + version = "0.0.1" 9309 9309 dependencies = [ 9310 9310 "app_units", 9311 9311 "bitflags 2.11.0", ··· 9350 9350 "unicode-properties", 9351 9351 "unicode-script", 9352 9352 "url", 9353 + "uuid", 9353 9354 "webrender_api", 9354 9355 "winapi", 9355 9356 "xml", ··· 9358 9359 9359 9360 [[package]] 9360 9361 name = "servo-fonts-traits" 9361 - version = "0.1.0" 9362 + version = "0.0.1" 9362 9363 dependencies = [ 9363 9364 "atomic_refcell", 9364 9365 "dwrote", ··· 9375 9376 "servo-profile-traits", 9376 9377 "servo-url", 9377 9378 "stylo", 9379 + "uuid", 9378 9380 "webrender_api", 9379 9381 ] 9380 9382 9381 9383 [[package]] 9382 9384 name = "servo-geometry" 9383 - version = "0.1.0" 9385 + version = "0.0.1" 9384 9386 dependencies = [ 9385 9387 "app_units", 9386 9388 "euclid", ··· 9407 9409 9408 9410 [[package]] 9409 9411 name = "servo-jstraceable-derive" 9410 - version = "0.1.0" 9412 + version = "0.0.1" 9411 9413 dependencies = [ 9412 9414 "proc-macro2", 9413 9415 "syn 2.0.117", ··· 9416 9418 9417 9419 [[package]] 9418 9420 name = "servo-layout" 9419 - version = "0.1.0" 9421 + version = "0.0.1" 9420 9422 dependencies = [ 9421 9423 "accesskit", 9422 9424 "app_units", ··· 9472 9474 9473 9475 [[package]] 9474 9476 name = "servo-layout-api" 9475 - version = "0.1.0" 9477 + version = "0.0.1" 9476 9478 dependencies = [ 9477 9479 "app_units", 9478 9480 "atomic_refcell", ··· 9505 9507 9506 9508 [[package]] 9507 9509 name = "servo-malloc-size-of" 9508 - version = "0.1.0" 9510 + version = "0.0.1" 9509 9511 dependencies = [ 9510 9512 "accountable-refcell", 9511 9513 "app_units", ··· 9544 9546 9545 9547 [[package]] 9546 9548 name = "servo-media" 9547 - version = "0.1.0" 9549 + version = "0.0.1" 9548 9550 dependencies = [ 9549 9551 "once_cell", 9550 9552 "servo-media-audio", ··· 9556 9558 9557 9559 [[package]] 9558 9560 name = "servo-media-audio" 9559 - version = "0.1.0" 9561 + version = "0.0.1" 9560 9562 dependencies = [ 9561 9563 "byte-slice-cast", 9562 9564 "euclid", ··· 9578 9580 9579 9581 [[package]] 9580 9582 name = "servo-media-derive" 9581 - version = "0.1.0" 9583 + version = "0.0.1" 9582 9584 dependencies = [ 9583 9585 "proc-macro2", 9584 9586 "quote", ··· 9587 9589 9588 9590 [[package]] 9589 9591 name = "servo-media-dummy" 9590 - version = "0.1.0" 9592 + version = "0.0.1" 9591 9593 dependencies = [ 9592 9594 "ipc-channel", 9593 9595 "servo-media", ··· 9600 9602 9601 9603 [[package]] 9602 9604 name = "servo-media-gstreamer" 9603 - version = "0.1.0" 9605 + version = "0.0.1" 9604 9606 dependencies = [ 9605 9607 "byte-slice-cast", 9606 9608 "glib 0.21.5", ··· 9632 9634 9633 9635 [[package]] 9634 9636 name = "servo-media-gstreamer-render" 9635 - version = "0.1.0" 9637 + version = "0.0.1" 9636 9638 dependencies = [ 9637 9639 "gstreamer", 9638 9640 "gstreamer-video", ··· 9641 9643 9642 9644 [[package]] 9643 9645 name = "servo-media-gstreamer-render-android" 9644 - version = "0.1.0" 9646 + version = "0.0.1" 9645 9647 dependencies = [ 9646 9648 "glib 0.21.5", 9647 9649 "gstreamer", ··· 9654 9656 9655 9657 [[package]] 9656 9658 name = "servo-media-gstreamer-render-unix" 9657 - version = "0.1.0" 9659 + version = "0.0.1" 9658 9660 dependencies = [ 9659 9661 "glib 0.21.5", 9660 9662 "gstreamer", ··· 9669 9671 9670 9672 [[package]] 9671 9673 name = "servo-media-player" 9672 - version = "0.1.0" 9674 + version = "0.0.1" 9673 9675 dependencies = [ 9674 9676 "ipc-channel", 9675 9677 "malloc_size_of_derive", ··· 9682 9684 9683 9685 [[package]] 9684 9686 name = "servo-media-streams" 9685 - version = "0.1.0" 9687 + version = "0.0.1" 9686 9688 dependencies = [ 9687 9689 "malloc_size_of_derive", 9688 9690 "servo-malloc-size-of", ··· 9691 9693 9692 9694 [[package]] 9693 9695 name = "servo-media-thread" 9694 - version = "0.1.0" 9696 + version = "0.0.1" 9695 9697 dependencies = [ 9696 9698 "euclid", 9697 9699 "ipc-channel", ··· 9708 9710 9709 9711 [[package]] 9710 9712 name = "servo-media-traits" 9711 - version = "0.1.0" 9713 + version = "0.0.1" 9712 9714 dependencies = [ 9713 9715 "malloc_size_of_derive", 9714 9716 "servo-malloc-size-of", ··· 9716 9718 9717 9719 [[package]] 9718 9720 name = "servo-media-webrtc" 9719 - version = "0.1.0" 9721 + version = "0.0.1" 9720 9722 dependencies = [ 9721 9723 "log", 9722 9724 "servo-media-streams", ··· 9725 9727 9726 9728 [[package]] 9727 9729 name = "servo-metrics" 9728 - version = "0.1.0" 9730 + version = "0.0.1" 9729 9731 dependencies = [ 9730 9732 "malloc_size_of_derive", 9731 9733 "servo-base", ··· 9739 9741 9740 9742 [[package]] 9741 9743 name = "servo-net" 9742 - version = "0.1.0" 9744 + version = "0.0.1" 9743 9745 dependencies = [ 9744 9746 "async-compression", 9745 9747 "async-recursion", ··· 9809 9811 9810 9812 [[package]] 9811 9813 name = "servo-net-traits" 9812 - version = "0.1.0" 9814 + version = "0.0.1" 9813 9815 dependencies = [ 9814 9816 "content-security-policy", 9815 9817 "cookie 0.18.1", ··· 9848 9850 9849 9851 [[package]] 9850 9852 name = "servo-paint" 9851 - version = "0.1.0" 9853 + version = "0.0.1" 9852 9854 dependencies = [ 9853 9855 "bitflags 2.11.0", 9854 9856 "crossbeam-channel", ··· 9889 9891 9890 9892 [[package]] 9891 9893 name = "servo-paint-api" 9892 - version = "0.1.0" 9894 + version = "0.0.1" 9893 9895 dependencies = [ 9894 9896 "bitflags 2.11.0", 9895 9897 "crossbeam-channel", ··· 9925 9927 9926 9928 [[package]] 9927 9929 name = "servo-pixels" 9928 - version = "0.1.0" 9930 + version = "0.0.1" 9929 9931 dependencies = [ 9930 9932 "criterion", 9931 9933 "euclid", ··· 9940 9942 9941 9943 [[package]] 9942 9944 name = "servo-profile" 9943 - version = "0.1.0" 9945 + version = "0.0.1" 9944 9946 dependencies = [ 9945 9947 "libc", 9946 9948 "log", ··· 9958 9960 9959 9961 [[package]] 9960 9962 name = "servo-profile-traits" 9961 - version = "0.1.0" 9963 + version = "0.0.1" 9962 9964 dependencies = [ 9963 9965 "crossbeam-channel", 9964 9966 "ipc-channel", ··· 9975 9977 9976 9978 [[package]] 9977 9979 name = "servo-script" 9978 - version = "0.1.0" 9980 + version = "0.0.1" 9979 9981 dependencies = [ 9980 9982 "accountable-refcell", 9981 9983 "aes 0.8.4", ··· 10117 10119 10118 10120 [[package]] 10119 10121 name = "servo-script-bindings" 10120 - version = "0.1.0" 10122 + version = "0.0.1" 10121 10123 dependencies = [ 10122 10124 "bitflags 2.11.0", 10123 10125 "crossbeam-channel", ··· 10156 10158 10157 10159 [[package]] 10158 10160 name = "servo-script-traits" 10159 - version = "0.1.0" 10161 + version = "0.0.1" 10160 10162 dependencies = [ 10161 10163 "accesskit", 10162 10164 "content-security-policy", ··· 10194 10196 10195 10197 [[package]] 10196 10198 name = "servo-storage" 10197 - version = "0.1.0" 10199 + version = "0.0.1" 10198 10200 dependencies = [ 10199 10201 "libc", 10200 10202 "log", ··· 10225 10227 10226 10228 [[package]] 10227 10229 name = "servo-storage-traits" 10228 - version = "0.1.0" 10230 + version = "0.0.1" 10229 10231 dependencies = [ 10230 10232 "malloc_size_of_derive", 10231 10233 "serde", ··· 10238 10240 10239 10241 [[package]] 10240 10242 name = "servo-timers" 10241 - version = "0.1.0" 10243 + version = "0.0.1" 10242 10244 dependencies = [ 10243 10245 "crossbeam-channel", 10244 10246 "malloc_size_of_derive", ··· 10247 10249 10248 10250 [[package]] 10249 10251 name = "servo-tracing" 10250 - version = "0.1.0" 10252 + version = "0.0.1" 10251 10253 dependencies = [ 10252 10254 "prettyplease", 10253 10255 "proc-macro2", ··· 10257 10259 10258 10260 [[package]] 10259 10261 name = "servo-url" 10260 - version = "0.1.0" 10262 + version = "0.0.1" 10261 10263 dependencies = [ 10262 10264 "encoding_rs", 10263 10265 "malloc_size_of_derive", ··· 10270 10272 10271 10273 [[package]] 10272 10274 name = "servo-webgl" 10273 - version = "0.1.0" 10275 + version = "0.0.1" 10274 10276 dependencies = [ 10275 10277 "bitflags 2.11.0", 10276 10278 "byteorder", ··· 10295 10297 10296 10298 [[package]] 10297 10299 name = "servo-webgpu" 10298 - version = "0.1.0" 10300 + version = "0.0.1" 10299 10301 dependencies = [ 10300 10302 "arrayvec", 10301 10303 "euclid", ··· 10313 10315 10314 10316 [[package]] 10315 10317 name = "servo-webgpu-traits" 10316 - version = "0.1.0" 10318 + version = "0.0.1" 10317 10319 dependencies = [ 10318 10320 "arrayvec", 10319 10321 "malloc_size_of_derive", ··· 10328 10330 10329 10331 [[package]] 10330 10332 name = "servo-webxr" 10331 - version = "0.1.0" 10333 + version = "0.0.1" 10332 10334 dependencies = [ 10333 10335 "crossbeam-channel", 10334 10336 "euclid", ··· 10346 10348 10347 10349 [[package]] 10348 10350 name = "servo-webxr-api" 10349 - version = "0.1.0" 10351 + version = "0.0.1" 10350 10352 dependencies = [ 10351 10353 "euclid", 10352 10354 "ipc-channel", ··· 10361 10363 10362 10364 [[package]] 10363 10365 name = "servo-xpath" 10364 - version = "0.1.0" 10366 + version = "0.0.1" 10365 10367 dependencies = [ 10366 10368 "log", 10367 10369 "malloc_size_of_derive", ··· 11410 11412 11411 11413 [[package]] 11412 11414 name = "tinyvec" 11413 - version = "1.10.0" 11415 + version = "1.11.0" 11414 11416 source = "registry+https://github.com/rust-lang/crates.io-index" 11415 - checksum = "bfa5fdc3bce6191a1dbc8c02d5c8bffcf557bafa17c124c5264a458f1b0613fa" 11417 + checksum = "3e61e67053d25a4e82c844e8424039d9745781b3fc4f32b8d55ed50f5f667ef3" 11416 11418 dependencies = [ 11417 11419 "tinyvec_macros", 11418 11420 ]
+40 -1
Cargo.toml
··· 5 5 # Copied from the main Cargo.toml to allow 6 6 # workspace inheritance from component/ crates. 7 7 [workspace.package] 8 - version = "0.1.0" 8 + version = "0.0.1" 9 9 edition = "2024" 10 10 authors = ["The Servo Project Developers"] 11 11 license = "MPL-2.0" ··· 25 25 async-tungstenite = { version = "0.33", features = ["tokio-rustls-webpki-roots"] } 26 26 atomic_refcell = "0.1.13" 27 27 aws-lc-rs = { version = "1.15", default-features = false, features = ["aws-lc-sys"] } 28 + background_hang_monitor = { package = "servo-background-hang-monitor", version = "0.0.1", path = "source/components/background_hang_monitor" } 28 29 background_hang_monitor_api = { package = "servo-background-hang-monitor-api", path = "source/components/shared/background_hang_monitor" } 29 30 backtrace = "0.3" 30 31 base = { package = "servo-base", path = "source/components/shared/base" } ··· 37 38 # before doing **any** bump to this dependency to rule out a supply chain attack. 38 39 bincode = "=1.3.3" 39 40 bitflags = "2.10" 41 + bluetooth = { package = "servo-bluetooth", version = "0.0.1", path = "source/components/bluetooth" } 40 42 bluetooth_traits = { package = "servo-bluetooth-traits", path = "source/components/shared/bluetooth" } 43 + blurmac = { version = "0.1.0", path = "source/third_party/blurmac" } 41 44 brotli = "8.0.2" 42 45 bytemuck = "1" 43 46 byteorder = "1.5" 47 + canvas = { package = "servo-canvas", version = "0.0.1", path = "source/components/canvas" } 44 48 canvas_traits = { package = "servo-canvas-traits", path = "source/components/shared/canvas" } 45 49 cbc = "0.1.2" 46 50 cfg-if = "1.0.4" ··· 48 52 chardetng = "0.1" 49 53 chrono = { version = "0.4", features = ["serde"] } 50 54 cipher = { version = "0.4.4", features = ["alloc"] } 55 + constellation = { package = "servo-constellation", version = "0.0.1", path = "source/components/constellation" } 51 56 constellation_traits = { package = "servo-constellation-traits", path = "source/components/shared/constellation" } 52 57 content-security-policy = { version = "0.6.0", features = ["serde"] } 53 58 cookie = { package = "cookie", version = "0.18" } ··· 55 60 cssparser = { version = "0.36", features = ["serde"] } 56 61 ctr = "0.9.2" 57 62 data-url = "0.3" 63 + deny_public_fields = { package = "servo-deny-public-fields", version = "0.0.1", path = "source/components/deny_public_fields" } 58 64 der = { version = "0.7", features = ["alloc", "derive"] } 65 + devtools = { package = "servo-devtools", version = "0.0.1", path = "source/components/devtools" } 59 66 devtools_traits = { package = "servo-devtools-traits", path = "source/components/shared/devtools" } 60 67 digest = "0.10" 68 + dom_struct = { package = "servo-dom-struct", version = "0.0.1", path = "source/components/dom_struct" } 61 69 dpi = "0.1" 62 70 dwrote = "0.11.5" 63 71 ecdsa = "0.16" ··· 67 75 env_logger = "0.11" 68 76 euclid = "0.22" 69 77 flate2 = "1.1" 78 + fonts = { package = "servo-fonts", version = "0.0.1", path = "source/components/fonts" } 70 79 fonts_traits = { package = "servo-fonts-traits", path = "source/components/shared/fonts" } 71 80 freetype-sys = "0.20" 72 81 futures = { version = "0.3", default-features = false } ··· 110 119 ipc-channel = "0.21" 111 120 itertools = "0.14" 112 121 js = { package = "mozjs", version = "=0.15.5", default-features = false, features = ["libz-sys", "intl"] } 122 + jstraceable_derive = { package = "servo-jstraceable-derive", version = "0.0.1", path = "source/components/jstraceable_derive" } 113 123 keyboard-types = { version = "0.8.3", features = ["serde", "webdriver"] } 114 124 kurbo = { version = "0.12", features = ["euclid"] } 125 + layout = { package = "servo-layout", version = "0.0.1", path = "source/components/layout" } 115 126 layout_api = { package = "servo-layout-api", path = "source/components/shared/layout" } 116 127 libc = "0.2" 117 128 log = "0.4.29" ··· 119 130 malloc_size_of = { package = "servo-malloc-size-of", path = "source/components/malloc_size_of" } 120 131 malloc_size_of_derive = "0.1" 121 132 markup5ever = "0.38" 133 + media = { package = "servo-media-thread", version = "0.0.1", path = "source/components/media/media-thread" } 122 134 memmap2 = "0.9.9" 135 + metrics = { package = "servo-metrics", version = "0.0.1", path = "source/components/metrics" } 123 136 mime = "0.3.13" 124 137 mime-multipart-hyper1 = "0.10.0" 125 138 mime_guess = "2.0.5" 126 139 ml-dsa = "0.0.4" 127 140 ml-kem = { version = "0.2", features = ["deterministic"] } 128 141 mozangle = "0.5.3" 142 + net = { package = "servo-net", version = "0.0.1", path = "source/components/net" } 129 143 net_traits = { package = "servo-net-traits", path = "source/components/shared/net" } 130 144 nix = "0.30" 131 145 nom = "8.0.0" ··· 140 154 objc2-core-graphics = "0.3.2" 141 155 objc2-core-text = "0.3.2" 142 156 openxr = "0.20" 157 + paint = { package = "servo-paint", version = "0.0.1", path = "source/components/paint" } 143 158 paint_api = { package = "servo-paint-api", path = "source/components/shared/paint" } 144 159 p256 = { version = "0.13", features = ["ecdh"] } 145 160 p384 = { version = "0.13", features = ["ecdh"] } ··· 147 162 parking_lot = { version = "0.12", features = ["serde"] } 148 163 peniko = "0.5" 149 164 percent-encoding = "2.3" 165 + pixels = { package = "servo-pixels", version = "0.0.1", path = "source/components/pixels" } 150 166 pkcs8 = { version = "0.10", features = ["rand_core"] } 151 167 postcard = { version = "1.1.3", default-features = false, features = ["use-std"] } 152 168 proc-macro2 = "1" 169 + profile = { package = "servo-profile", version = "0.0.1", path = "source/components/profile" } 153 170 profile_traits = { package = "servo-profile-traits", path = "source/components/shared/profile" } 154 171 quote = "1" 155 172 rand = "0.9" ··· 163 180 rustls = { version = "0.23", default-features = false, features = ["logging", "std", "tls12"] } 164 181 rustls-pki-types = "1.14" 165 182 rustls-platform-verifier = "0.6.2" 183 + script = { package = "servo-script", path = "source/components/script" } 184 + script_bindings = { package = "servo-script-bindings", version = "0.0.1", path = "source/components/script_bindings" } 166 185 script_traits = { package = "servo-script-traits", path = "source/components/shared/script" } 167 186 sea-query = { version = "1.0.0-rc.30", default-features = false, features = ["backend-sqlite", "derive"] } 168 187 sea-query-rusqlite = { version = "0.8.0-rc.15" } ··· 172 191 serde_bytes = "0.11" 173 192 serde_core = "1.0.226" 174 193 serde_json = "1.0" 194 + servo = { version = "0.0.1", path = "source/components/servo", default-features = false } 195 + servo_config = { package = "servo-config", version = "0.0.1", path = "source/components/config" } 196 + servo_config_macro = { package = "servo-config-macro", version = "0.0.1", path = "source/components/config/macro" } 197 + servo_geometry = { package = "servo-geometry", version = "0.0.1", path = "source/components/geometry" } 175 198 servo-media = { path = "source/components/media/servo-media" } 199 + servo-media-audio = { version = "0.0.1", path = "source/components/media/audio" } 200 + servo-media-derive = { version = "0.0.1", path = "source/components/media/servo-media-derive" } 176 201 servo-media-dummy = { path = "source/components/media/backends/dummy" } 177 202 servo-media-gstreamer = { path = "source/components/media/backends/gstreamer" } 203 + servo-media-gstreamer-render = { version = "0.0.1", path = "source/components/media/backends/gstreamer/render" } 204 + servo-media-gstreamer-render-android = { version = "0.0.1", path = "source/components/media/backends/gstreamer/render-android" } 205 + servo-media-gstreamer-render-unix = { version = "0.0.1", path = "source/components/media/backends/gstreamer/render-unix" } 206 + servo-media-player = { version = "0.0.1", path = "source/components/media/player" } 207 + servo-media-streams = { version = "0.0.1", path = "source/components/media/streams" } 208 + servo-media-traits = { version = "0.0.1", path = "source/components/media/traits" } 209 + servo-media-webrtc = { version = "0.0.1", path = "source/components/media/webrtc" } 210 + servo_allocator = { package = "servo-allocator", version = "0.0.1", path = "source/components/allocator" } 178 211 servo-tracing = { path = "source/components/servo_tracing" } 179 212 servo_arc = { git = "https://github.com/servo/stylo", rev = "dca3934667dae76c49bb579b268c5eb142d09c6a" } 213 + servo-url = { version = "0.0.1", path = "source/components/url" } 180 214 sha1 = "0.10" 181 215 sha2 = "0.10" 182 216 sha3 = "0.10" 183 217 skrifa = "0.37.0" 184 218 smallvec = { version = "1.15", features = ["serde", "union"] } 219 + storage = { package = "servo-storage", version = "0.0.1", path = "source/components/storage" } 185 220 storage_traits = { package = "servo-storage-traits", path = "source/components/shared/storage" } 186 221 string_cache = "0.9" 187 222 strum = { version = "0.27", features = ["derive"] } ··· 199 234 tendril = { version = "0.5", features = ["encoding_rs"] } 200 235 tikv-jemalloc-sys = "0.6.1" 201 236 tikv-jemallocator = "0.6.1" 237 + timers = { package = "servo-timers", version = "0.0.1", path = "source/components/timers" } 202 238 time = { package = "time", version = "0.3", features = ["large-dates", "local-offset", "serde"] } 203 239 tokio = "1" 204 240 tokio-rustls = { version = "0.26", default-features = false, features = ["logging"] } ··· 221 257 vello = "0.6" 222 258 vello_cpu = "0.0.4" 223 259 webdriver = "0.53.0" 260 + webgl = { package = "servo-webgl", version = "0.0.1", path = "source/components/webgl", default-features = false } 261 + webgpu = { package = "servo-webgpu", version = "0.0.1", path = "source/components/webgpu" } 224 262 webgpu_traits = { package = "servo-webgpu-traits", path = "source/components/shared/webgpu" } 225 263 webpki-roots = "1.0" 226 264 webrender = { version = "0.68", features = ["capture"] } 227 265 webrender_api = "0.68" 266 + webxr = { package = "servo-webxr", version = "0.0.1", path = "source/components/webxr" } 228 267 webxr-api = { package = "servo-webxr-api", path = "source/components/shared/webxr" } 229 268 wgpu-core = "26" 230 269 wgpu-types = "26"
+1 -1
forkme.lock
··· 1 - eb249afac8127af3cc4312f3065c0f1dfa8102d5 1 + 9fd7477cbb9fd2cf945a7e7bdd4e5f5468b99adc
+6 -6
patches/components/constellation/Cargo.toml.patch
··· 6 6 base = { workspace = true } 7 7 +beaver-p2p = { path = "../../../crates/beaver_p2p" } 8 8 bluetooth_traits = { workspace = true, optional = true } 9 - canvas = { package = "servo-canvas", path = "../canvas" } 9 + canvas = { workspace = true } 10 10 canvas_traits = { workspace = true } 11 11 @@ -39,6 +40,8 @@ 12 12 euclid = { workspace = true } 13 - fonts = { package = "servo-fonts", path = "../fonts" } 13 + fonts = { workspace = true } 14 14 ipc-channel = { workspace = true } 15 15 +iroh = "0.96" 16 16 +iroh-persist = { git = "https://github.com/webbeef/iroh-persist.git", branch = "iroh-0.96" } ··· 23 23 parking_lot = { workspace = true } 24 24 +petname = "2.0" 25 25 +postcard = "1.1" 26 - profile = { package = "servo-profile", path = "../profile" } 26 + profile = { workspace = true } 27 27 profile_traits = { workspace = true } 28 28 rand = { workspace = true } 29 29 @@ -53,6 +58,7 @@ ··· 32 32 serde = { workspace = true } 33 33 +serde_json = { workspace = true } 34 34 servo-tracing = { workspace = true } 35 - servo_config = { package = "servo-config", path = "../config" } 36 - servo_url = { package = "servo-url", path = "../url" } 35 + servo_config = { workspace = true } 36 + servo-url = { workspace = true } 37 37 @@ -59,6 +65,7 @@ 38 38 storage_traits = { workspace = true } 39 39 stylo = { workspace = true } 40 40 stylo_traits = { workspace = true } 41 41 +tokio = { workspace = true } 42 42 tracing = { workspace = true, optional = true } 43 - webgpu = { package = "servo-webgpu", path = "../webgpu" } 43 + webgpu = { workspace = true } 44 44 webgpu_traits = { workspace = true }
+1 -1
patches/components/paint/Cargo.toml.patch
··· 1 1 --- original 2 2 +++ modified 3 3 @@ -37,6 +37,7 @@ 4 - media = { package = "servo-media-thread", path = "../media/media-thread" } 4 + media = { workspace = true } 5 5 malloc_size_of = { workspace = true } 6 6 paint_api = { workspace = true } 7 7 +servo-pixels = { path = "../pixels" }
patches/components/script/dom/debuggerglobalscope.rs.patch patches/components/script/dom/debugger/debuggerglobalscope.rs.patch
+10 -10
patches/components/script/dom/document.rs.patch
··· 35 35 /// All websockets created that are associated with this document. 36 36 websockets: DOMTracker<WebSocket>, 37 37 38 - @@ -862,6 +868,12 @@ 38 + @@ -864,6 +870,12 @@ 39 39 40 40 // Set the document's activity level, reflow if necessary, and suspend or resume timers. 41 41 self.activity.set(activity); ··· 48 48 let media = ServoMedia::get(); 49 49 let pipeline_id = self.window().pipeline_id(); 50 50 let client_context_id = 51 - @@ -875,6 +887,7 @@ 51 + @@ -877,6 +889,7 @@ 52 52 53 53 self.title_changed(); 54 54 self.notify_embedder_favicon(); ··· 56 56 self.dirty_all_nodes(); 57 57 self.window().resume(CanGc::from_cx(cx)); 58 58 media.resume(&client_context_id); 59 - @@ -1279,6 +1292,9 @@ 59 + @@ -1283,6 +1296,9 @@ 60 60 LoadStatus::Started, 61 61 )); 62 62 self.send_to_embedder(EmbedderMsg::Status(self.webview_id(), None)); ··· 66 66 } 67 67 }, 68 68 DocumentReadyState::Complete => { 69 - @@ -1287,6 +1303,9 @@ 69 + @@ -1291,6 +1307,9 @@ 70 70 self.webview_id(), 71 71 LoadStatus::Complete, 72 72 )); ··· 76 76 } 77 77 update_with_current_instant(&self.dom_complete); 78 78 }, 79 - @@ -1693,7 +1712,13 @@ 79 + @@ -1697,7 +1716,13 @@ 80 80 let window = self.window(); 81 81 if window.is_top_level() { 82 82 let title = self.title().map(String::from); ··· 91 91 } 92 92 } 93 93 94 - @@ -1702,6 +1727,18 @@ 94 + @@ -1706,6 +1731,18 @@ 95 95 window.send_to_embedder(msg); 96 96 } 97 97 ··· 110 110 pub(crate) fn dirty_all_nodes(&self) { 111 111 let root = match self.GetDocumentElement() { 112 112 Some(root) => root, 113 - @@ -3247,9 +3284,59 @@ 113 + @@ -3253,9 +3290,59 @@ 114 114 current_rendering_epoch, 115 115 ); 116 116 ··· 170 170 pub(crate) fn handle_no_longer_waiting_on_asynchronous_image_updates(&self) { 171 171 self.waiting_on_canvas_image_updates.set(false); 172 172 } 173 - @@ -3992,6 +4079,7 @@ 173 + @@ -3998,6 +4085,7 @@ 174 174 active_sandboxing_flag_set: Cell::new(SandboxingFlagSet::empty()), 175 175 creation_sandboxing_flag_set: Cell::new(creation_sandboxing_flag_set), 176 176 favicon: RefCell::new(None), ··· 178 178 websockets: DOMTracker::new(), 179 179 details_name_groups: Default::default(), 180 180 protocol_handler_automation_mode: Default::default(), 181 - @@ -5096,6 +5184,36 @@ 181 + @@ -5102,6 +5190,36 @@ 182 182 183 183 pub(crate) fn notify_embedder_favicon(&self) { 184 184 if let Some(ref image) = *self.favicon.borrow() { ··· 215 215 self.send_to_embedder(EmbedderMsg::NewFavicon(self.webview_id(), image.clone())); 216 216 } 217 217 } 218 - @@ -5141,6 +5259,20 @@ 218 + @@ -5161,6 +5279,20 @@ 219 219 pub(crate) fn set_css_styling_flag(&self, value: bool) { 220 220 self.css_styling_flag.set(value) 221 221 }
+10 -10
patches/components/script/dom/document_embedder_controls.rs.patch
··· 21 21 }; 22 22 use euclid::{Point2D, Rect, Size2D}; 23 23 use ipc_channel::router::ROUTER; 24 - @@ -35,8 +38,8 @@ 24 + @@ -36,8 +39,8 @@ 25 25 use crate::dom::node::{Node, NodeTraits, ShadowIncluding}; 26 26 use crate::dom::textcontrol::TextControlElement; 27 27 use crate::dom::types::{ ··· 32 32 }; 33 33 use crate::messaging::MainThreadScriptMsg; 34 34 35 - @@ -47,6 +50,7 @@ 35 + @@ -48,6 +51,7 @@ 36 36 FileInput(DomRoot<HTMLInputElement>), 37 37 Ime(DomRoot<HTMLElement>), 38 38 ContextMenu(ContextMenuNodes), ··· 40 40 } 41 41 42 42 impl ControlElement { 43 - @@ -57,6 +61,7 @@ 43 + @@ -58,6 +62,7 @@ 44 44 ControlElement::FileInput(element) => element.upcast::<Node>(), 45 45 ControlElement::Ime(element) => element.upcast::<Node>(), 46 46 ControlElement::ContextMenu(context_menu_nodes) => &context_menu_nodes.node, ··· 48 48 } 49 49 } 50 50 } 51 - @@ -129,39 +134,77 @@ 51 + @@ -130,39 +135,77 @@ 52 52 EmbedderControlRequest::SelectElement(..) | 53 53 EmbedderControlRequest::ColorPicker(..) | 54 54 EmbedderControlRequest::InputMethod(..) | ··· 157 157 }, 158 158 } 159 159 160 - @@ -180,12 +223,67 @@ 160 + @@ -181,12 +224,67 @@ 161 161 pipeline_id: self.window.pipeline_id(), 162 162 index: index.0, 163 163 }; ··· 226 226 + 227 227 pub(crate) fn handle_embedder_control_response( 228 228 &self, 229 - id: EmbedderControlId, 230 - @@ -229,6 +327,10 @@ 229 + cx: &mut JSContext, 230 + @@ -230,6 +328,10 @@ 231 231 ) => { 232 - context_menu_nodes.handle_context_menu_action(action, can_gc); 232 + context_menu_nodes.handle_context_menu_action(action, CanGc::from_cx(cx)); 233 233 }, 234 234 + (ControlElement::PermissionPrompt(_), EmbedderControlResponse::PermissionPrompt(_)) => { 235 235 + // Permission prompt responses go directly through the IPC sender ··· 238 238 (_, _) => unreachable!( 239 239 "The response to a form control should always match it's originating type." 240 240 ), 241 - @@ -235,6 +337,36 @@ 241 + @@ -236,6 +338,36 @@ 242 242 } 243 243 } 244 244 ··· 275 275 pub(crate) fn show_context_menu(&self, hit_test_result: &HitTestResult) { 276 276 { 277 277 let mut visible_elements = self.visible_elements.borrow_mut(); 278 - @@ -428,8 +560,11 @@ 278 + @@ -429,8 +561,11 @@ 279 279 let Some(browsing_context) = document.browsing_context() else { 280 280 return; 281 281 };
+21 -21
patches/components/script/dom/document_event_handler.rs.patch
··· 111 111 /// The [`DocumentEventHandler`] is a structure responsible for handling input events for 112 112 /// the [`crate::Document`] and storing data related to event handling. It exists to 113 113 /// decrease the size of the [`crate::Document`] structure. 114 - @@ -192,6 +249,20 @@ 115 - next_touch_pointer_id: Cell<i32>, 116 - /// A map holding information about currently registered access key handlers. 114 + @@ -194,6 +251,20 @@ 117 115 access_key_handlers: DomRefCell<FxHashMap<char, Dom<HTMLElement>>>, 116 + /// <https://html.spec.whatwg.org/multipage/#sequential-focus-navigation-starting-point> 117 + sequential_focus_navigation_starting_point: MutNullableDom<Node>, 118 118 + /// Long-press state for context menu detection. 119 119 + long_press_state: DomRefCell<Option<LongPressState>>, 120 120 + /// Touch ID that triggered a context menu via long-press. ··· 132 132 } 133 133 134 134 impl DocumentEventHandler { 135 - @@ -215,6 +286,9 @@ 136 - active_pointer_ids: Default::default(), 135 + @@ -218,6 +289,9 @@ 137 136 next_touch_pointer_id: Cell::new(1), 138 137 access_key_handlers: Default::default(), 138 + sequential_focus_navigation_starting_point: Default::default(), 139 139 + long_press_state: Default::default(), 140 140 + context_menu_touch_id: Default::default(), 141 141 + forwarded_touches: Default::default(), 142 142 } 143 143 } 144 144 145 - @@ -538,6 +612,198 @@ 145 + @@ -543,6 +617,198 @@ 146 146 } 147 147 } 148 148 ··· 341 341 /// <https://w3c.github.io/uievents/#handle-native-mouse-move> 342 342 fn handle_native_mouse_move_event(&self, input_event: &ConstellationInputEvent, can_gc: CanGc) { 343 343 // Ignore all incoming events without a hit test. 344 - @@ -552,6 +818,57 @@ 344 + @@ -557,6 +823,57 @@ 345 345 return; 346 346 } 347 347 ··· 399 399 // Update the cursor when the mouse moves, if it has changed. 400 400 self.set_cursor(Some(hit_test_result.cursor)); 401 401 402 - @@ -777,6 +1094,12 @@ 402 + @@ -782,6 +1099,12 @@ 403 403 return; 404 404 }; 405 405 ··· 412 412 debug!( 413 413 "{:?}: at {:?}", 414 414 event.action, hit_test_result.point_in_frame 415 - @@ -869,18 +1192,25 @@ 416 - let target_el = element.find_click_focusable_shadow_host_if_necessary(); 415 + @@ -880,18 +1203,25 @@ 416 + let target_el = element.find_click_focusable_area(); 417 417 418 418 let document = self.window.Document(); 419 419 - document.begin_focus_transaction(); ··· 443 443 document.commit_focus_transaction(FocusInitiator::Click, can_gc); 444 444 } 445 445 446 - @@ -890,7 +1220,7 @@ 446 + @@ -901,7 +1231,7 @@ 447 447 self.maybe_show_context_menu( 448 448 node.upcast(), 449 449 &hit_test_result, ··· 452 452 can_gc, 453 453 ); 454 454 } 455 - @@ -1014,9 +1344,30 @@ 455 + @@ -1025,9 +1355,30 @@ 456 456 &self, 457 457 target: &EventTarget, 458 458 hit_test_result: &HitTestResult, ··· 484 484 // <https://w3c.github.io/uievents/#contextmenu> 485 485 let menu_event = PointerEvent::new( 486 486 &self.window, // window 487 - @@ -1030,25 +1381,25 @@ 487 + @@ -1041,25 +1392,25 @@ 488 488 hit_test_result 489 489 .point_relative_to_initial_containing_block 490 490 .to_i32(), ··· 529 529 can_gc, 530 530 ); 531 531 532 - @@ -1064,6 +1415,89 @@ 532 + @@ -1075,6 +1426,89 @@ 533 533 }; 534 534 } 535 535 ··· 619 619 fn handle_touch_event( 620 620 &self, 621 621 event: EmbedderTouchEvent, 622 - @@ -1070,6 +1504,29 @@ 622 + @@ -1081,6 +1515,29 @@ 623 623 input_event: &ConstellationInputEvent, 624 624 can_gc: CanGc, 625 625 ) -> InputEventResult { ··· 649 649 // Ignore all incoming events without a hit test. 650 650 let Some(hit_test_result) = self.window.hit_test_from_input_event(input_event) else { 651 651 self.update_active_touch_points_when_early_return(event); 652 - @@ -1076,6 +1533,16 @@ 652 + @@ -1087,6 +1544,16 @@ 653 653 return Default::default(); 654 654 }; 655 655 ··· 666 666 let TouchId(identifier) = event.touch_id; 667 667 668 668 let Some(element) = hit_test_result 669 - @@ -1207,6 +1674,10 @@ 669 + @@ -1218,6 +1685,10 @@ 670 670 // <https://html.spec.whatwg.org/multipage/#selector-active> 671 671 // If the element is being actively pointed at the element is being activated. 672 672 self.element_for_activation(element).set_active_state(true); ··· 677 677 (current_target, pointer_touch) 678 678 }, 679 679 _ => { 680 - @@ -1239,10 +1710,31 @@ 680 + @@ -1250,10 +1721,31 @@ 681 681 can_gc, 682 682 ); 683 683 ··· 710 710 }, 711 711 TouchEventType::Up | TouchEventType::Cancel => { 712 712 active_touch_points.swap_remove(index); 713 - @@ -1250,6 +1742,17 @@ 713 + @@ -1261,6 +1753,17 @@ 714 714 // <https://html.spec.whatwg.org/multipage/#selector-active> 715 715 // If the element is being actively pointed at the element is being activated. 716 716 self.element_for_activation(element).set_active_state(false); ··· 728 728 }, 729 729 TouchEventType::Down => unreachable!("Should have been handled above"), 730 730 } 731 - @@ -1293,6 +1796,19 @@ 731 + @@ -1304,6 +1807,19 @@ 732 732 ); 733 733 let event = touch_event.upcast::<Event>(); 734 734 event.fire(&touch_dispatch_target, can_gc); ··· 748 748 event.flags().into() 749 749 } 750 750 751 - @@ -1457,6 +1973,16 @@ 751 + @@ -1468,6 +1984,16 @@ 752 752 return Default::default(); 753 753 }; 754 754
+5 -5
patches/components/script/dom/globalscope.rs.patch
··· 1 1 --- original 2 2 +++ modified 3 - @@ -371,6 +371,16 @@ 3 + @@ -369,6 +369,16 @@ 4 4 /// Is considered in a secure context 5 5 inherited_secure_context: Option<bool>, 6 6 ··· 17 17 /// Directory to store unminified scripts for this window if unminify-js 18 18 /// opt is enabled. 19 19 unminified_js_dir: Option<String>, 20 - @@ -770,6 +780,8 @@ 20 + @@ -768,6 +778,8 @@ 21 21 #[cfg(feature = "webgpu")] gpu_id_hub: Arc<IdentityHub>, 22 22 inherited_secure_context: Option<bool>, 23 23 unminify_js: bool, ··· 26 26 font_context: Option<Arc<FontContext>>, 27 27 ) -> Self { 28 28 Self { 29 - @@ -814,6 +826,8 @@ 29 + @@ -812,6 +824,8 @@ 30 30 console_group_stack: DomRefCell::new(Vec::new()), 31 31 console_count_map: Default::default(), 32 32 inherited_secure_context, ··· 35 35 unminified_js_dir: unminify_js.then(|| unminified_path("unminified-js")), 36 36 byte_length_queuing_strategy_size_function: OnceCell::new(), 37 37 count_queuing_strategy_size_function: OnceCell::new(), 38 - @@ -1139,6 +1153,25 @@ 38 + @@ -1137,6 +1151,25 @@ 39 39 .send(ScriptToConstellationMessage::EntanglePorts(port1, port2)); 40 40 } 41 41 ··· 61 61 /// Handle the transfer of a port in the current task. 62 62 pub(crate) fn mark_port_as_transferred(&self, port_id: &MessagePortId) -> MessagePortImpl { 63 63 if let MessagePortState::Managed(_id, message_ports) = 64 - @@ -3128,6 +3161,16 @@ 64 + @@ -3126,6 +3159,16 @@ 65 65 self.inherited_secure_context 66 66 } 67 67
+1 -1
patches/components/script/dom/html/htmlbodyelement.rs.patch
··· 8 8 use dom_struct::dom_struct; 9 9 use embedder_traits::{EmbedderMsg, LoadStatus}; 10 10 use html5ever::{LocalName, Prefix, local_name, ns}; 11 - @@ -135,6 +136,12 @@ 11 + @@ -136,6 +137,12 @@ 12 12 window.webview_id(), 13 13 LoadStatus::HeadParsed, 14 14 ));
+4 -4
patches/components/script/dom/html/htmliframeelement.rs.patch
··· 430 430 pub(crate) fn sandboxing_flag_set(&self) -> SandboxingFlagSet { 431 431 self.sandboxing_flag_set 432 432 .get() 433 - @@ -1014,6 +1351,85 @@ 433 + @@ -1018,6 +1355,85 @@ 434 434 435 435 // https://html.spec.whatwg.org/multipage/#attr-iframe-loading 436 436 make_setter!(SetLoading, "loading"); ··· 516 516 } 517 517 518 518 impl VirtualMethods for HTMLIFrameElement { 519 - @@ -1069,10 +1485,38 @@ 519 + @@ -1073,10 +1489,38 @@ 520 520 // is in a document tree and has a browsing context, which is what causes 521 521 // the child browsing context to be created. 522 522 if self.upcast::<Node>().is_connected_with_browsing_context() { ··· 557 557 local_name!("loading") => { 558 558 // https://html.spec.whatwg.org/multipage/#attr-iframe-loading 559 559 // > When the loading attribute's state is changed to the Eager state, the user agent must run these steps: 560 - @@ -1135,6 +1579,23 @@ 560 + @@ -1139,6 +1583,23 @@ 561 561 562 562 debug!("<iframe> running post connection steps"); 563 563 ··· 581 581 // Step 1. Create a new child navigable for insertedNode. 582 582 self.create_nested_browsing_context(cx); 583 583 584 - @@ -1158,11 +1619,25 @@ 584 + @@ -1162,11 +1623,25 @@ 585 585 fn unbind_from_tree(&self, context: &UnbindContext, can_gc: CanGc) { 586 586 self.super_type().unwrap().unbind_from_tree(context, can_gc); 587 587
+2 -2
patches/components/script/dom/html/htmlmetaelement.rs.patch
··· 1 1 --- original 2 2 +++ modified 3 - @@ -69,6 +69,9 @@ 3 + @@ -70,6 +70,9 @@ 4 4 if name == "viewport" { 5 5 self.parse_and_send_viewport_if_necessary(); 6 6 } ··· 10 10 // https://html.spec.whatwg.org/multipage/#attr-meta-http-equiv 11 11 } else if !self.HttpEquiv().is_empty() { 12 12 // TODO: Implement additional http-equiv candidates 13 - @@ -92,6 +95,23 @@ 13 + @@ -93,6 +96,23 @@ 14 14 } 15 15 } 16 16
+3 -3
patches/components/script/dom/mod.rs.patch
··· 1 1 --- original 2 2 +++ modified 3 - @@ -290,6 +290,7 @@ 3 + @@ -282,6 +282,7 @@ 4 4 #[expect(dead_code)] 5 5 pub(crate) mod element; 6 6 pub(crate) mod elementinternals; ··· 8 8 pub(crate) mod errorevent; 9 9 pub(crate) mod event; 10 10 pub(crate) mod eventsource; 11 - @@ -323,6 +324,7 @@ 11 + @@ -315,6 +316,7 @@ 12 12 pub(crate) mod inputevent; 13 13 pub(crate) mod intersectionobserver; 14 14 pub(crate) mod intersectionobserverentry; ··· 16 16 pub(crate) mod keyboardevent; 17 17 pub(crate) mod location; 18 18 pub(crate) mod media; 19 - @@ -350,6 +352,10 @@ 19 + @@ -342,6 +344,10 @@ 20 20 pub(crate) mod pagetransitionevent; 21 21 pub(crate) mod paintsize; 22 22 pub(crate) mod paintworkletglobalscope;
+1 -1
patches/components/script/dom/notification.rs.patch
··· 36 36 } 37 37 38 38 // TODO: step 7: If shown is false or oldNotification is non-null, 39 - @@ -856,6 +868,11 @@ 39 + @@ -882,6 +894,11 @@ 40 40 for (request, resource_type) in pending_requests { 41 41 self.fetch_and_show_when_ready(request, resource_type); 42 42 }
+5 -5
patches/components/script/dom/window.rs.patch
··· 83 83 // Step 6: Let userPromptHandler be WebDriver BiDi user prompt opened with this, 84 84 // "prompt", and message. 85 85 // TODO: Add support for WebDriver BiDi. 86 - @@ -1675,6 +1703,9 @@ 86 + @@ -1673,6 +1701,9 @@ 87 87 // https://html.spec.whatwg.org/multipage/#windoweventhandlers 88 88 window_event_handlers!(); 89 89 ··· 93 93 /// <https://developer.mozilla.org/en-US/docs/Web/API/Window/screen> 94 94 fn Screen(&self, can_gc: CanGc) -> DomRoot<Screen> { 95 95 self.screen.or_init(|| Screen::new(self, can_gc)) 96 - @@ -3047,9 +3078,33 @@ 96 + @@ -3045,9 +3076,33 @@ 97 97 &self, 98 98 input_event: &ConstellationInputEvent, 99 99 ) -> Option<HitTestResult> { ··· 130 130 } 131 131 132 132 #[expect(unsafe_code)] 133 - @@ -3068,8 +3123,25 @@ 133 + @@ -3066,8 +3121,25 @@ 134 134 // SAFETY: This is safe because `Window::query_elements_from_point` has ensured that 135 135 // layout has run and any OpaqueNodes that no longer refer to real nodes are gone. 136 136 let address = UntrustedNodeAddress(result.node.0 as *const c_void); ··· 157 157 cursor: result.cursor, 158 158 point_in_node: result.point_in_target, 159 159 point_in_frame, 160 - @@ -3750,6 +3822,8 @@ 160 + @@ -3748,6 +3820,8 @@ 161 161 player_context: WindowGLContext, 162 162 #[cfg(feature = "webgpu")] gpu_id_hub: Arc<IdentityHub>, 163 163 inherited_secure_context: Option<bool>, ··· 166 166 theme: Theme, 167 167 weak_script_thread: Weak<ScriptThread>, 168 168 ) -> DomRoot<Self> { 169 - @@ -3776,6 +3850,8 @@ 169 + @@ -3774,6 +3848,8 @@ 170 170 gpu_id_hub, 171 171 inherited_secure_context, 172 172 unminify_js,
+12 -12
patches/components/script/script_thread.rs.patch
··· 30 30 }; 31 31 use encoding_rs::Encoding; 32 32 use fonts::{FontContext, SystemFontServiceProxy}; 33 - @@ -93,6 +93,7 @@ 33 + @@ -92,6 +92,7 @@ 34 34 UpdatePipelineIdReason, 35 35 }; 36 36 use servo_arc::Arc as ServoArc; ··· 38 38 use servo_config::{opts, pref, prefs}; 39 39 use servo_url::{ImmutableOrigin, MutableOrigin, OriginSnapshot, ServoUrl}; 40 40 use storage_traits::StorageThreads; 41 - @@ -116,6 +117,8 @@ 41 + @@ -115,6 +116,8 @@ 42 42 use crate::dom::bindings::codegen::Bindings::DocumentBinding::{ 43 43 DocumentMethods, DocumentReadyState, 44 44 }; ··· 47 47 use crate::dom::bindings::codegen::Bindings::NavigatorBinding::NavigatorMethods; 48 48 use crate::dom::bindings::codegen::Bindings::WindowBinding::WindowMethods; 49 49 use crate::dom::bindings::conversions::{ 50 - @@ -135,9 +138,13 @@ 50 + @@ -134,9 +137,13 @@ 51 51 RenderingUpdateReason, 52 52 }; 53 53 use crate::dom::element::Element; ··· 61 61 use crate::dom::servoparser::{ParserContext, ServoParser}; 62 62 use crate::dom::types::DebuggerGlobalScope; 63 63 #[cfg(feature = "webgpu")] 64 - @@ -1941,11 +1948,22 @@ 64 + @@ -1943,11 +1950,22 @@ 65 65 self.handle_refresh_cursor(pipeline_id); 66 66 }, 67 67 ScriptThreadMessage::PreferencesUpdated(updates) => { ··· 88 88 }, 89 89 ScriptThreadMessage::ForwardKeyboardScroll(pipeline_id, scroll) => { 90 90 if let Some(document) = self.documents.borrow().find_document(pipeline_id) { 91 - @@ -1986,6 +2004,35 @@ 91 + @@ -1988,6 +2006,35 @@ 92 92 ScriptThreadMessage::TriggerGarbageCollection => unsafe { 93 93 JS_GC(*GlobalScope::get_cx(), GCReason::API); 94 94 }, ··· 124 124 } 125 125 } 126 126 127 - @@ -3064,6 +3111,9 @@ 127 + @@ -3059,6 +3106,9 @@ 128 128 .documents 129 129 .borrow() 130 130 .find_iframe(parent_pipeline_id, browsing_context_id); ··· 134 134 if let Some(frame_element) = frame_element { 135 135 frame_element.update_pipeline_id(new_pipeline_id, reason, cx); 136 136 } 137 - @@ -3083,6 +3133,7 @@ 137 + @@ -3078,6 +3128,7 @@ 138 138 // is no need to pass along existing opener information that 139 139 // will be discarded. 140 140 None, ··· 142 142 ); 143 143 } 144 144 } 145 - @@ -3359,6 +3410,157 @@ 145 + @@ -3354,6 +3405,157 @@ 146 146 } 147 147 } 148 148 ··· 300 300 fn ask_constellation_for_top_level_info( 301 301 &self, 302 302 sender_webview_id: WebViewId, 303 - @@ -3473,7 +3675,13 @@ 303 + @@ -3468,7 +3670,13 @@ 304 304 self.senders.pipeline_to_embedder_sender.clone(), 305 305 self.senders.constellation_sender.clone(), 306 306 incomplete.pipeline_id, ··· 315 315 incomplete.viewport_details, 316 316 origin.clone(), 317 317 final_url.clone(), 318 - @@ -3495,6 +3703,8 @@ 318 + @@ -3490,6 +3698,8 @@ 319 319 #[cfg(feature = "webgpu")] 320 320 self.gpu_id_hub.clone(), 321 321 incomplete.load_data.inherited_secure_context, ··· 324 324 incomplete.theme, 325 325 self.this.clone(), 326 326 ); 327 - @@ -3518,6 +3728,7 @@ 327 + @@ -3513,6 +3723,7 @@ 328 328 incomplete.webview_id, 329 329 incomplete.parent_info, 330 330 incomplete.opener, ··· 332 332 ); 333 333 if window_proxy.parent().is_some() { 334 334 // https://html.spec.whatwg.org/multipage/#navigating-across-documents:delaying-load-events-mode-2 335 - @@ -4291,6 +4502,24 @@ 335 + @@ -4286,6 +4497,24 @@ 336 336 document.event_handler().handle_refresh_cursor(); 337 337 } 338 338
+4 -4
patches/components/script/script_window_proxies.rs.patch
··· 1 1 --- original 2 2 +++ modified 3 - @@ -122,6 +122,7 @@ 3 + @@ -115,6 +115,7 @@ 4 4 webview_id: WebViewId, 5 5 parent_info: Option<PipelineId>, 6 6 opener: Option<BrowsingContextId>, 7 7 + is_embedded_webview: bool, 8 8 ) -> DomRoot<WindowProxy> { 9 - if let Some(window_proxy) = self.get(browsing_context_id) { 9 + if let Some(window_proxy) = self.find_window_proxy(browsing_context_id) { 10 10 // Note: we do not set the window to be the currently-active one, 11 - @@ -133,17 +134,30 @@ 11 + @@ -126,17 +127,30 @@ 12 12 .borrow() 13 13 .find_iframe(parent_id, browsing_context_id) 14 14 }); ··· 50 50 }; 51 51 52 52 let opener_browsing_context = opener.and_then(|id| self.find_window_proxy(id)); 53 - @@ -153,11 +167,19 @@ 53 + @@ -146,11 +160,19 @@ 54 54 opener_browsing_context.as_deref(), 55 55 ); 56 56
+3 -3
patches/components/script/timers.rs.patch
··· 1 1 --- original 2 2 +++ modified 3 - @@ -31,6 +31,7 @@ 3 + @@ -32,6 +32,7 @@ 4 4 use crate::dom::bindings::str::DOMString; 5 5 use crate::dom::csp::CspReporting; 6 6 use crate::dom::document::RefreshRedirectDue; ··· 8 8 use crate::dom::eventsource::EventSourceTimeoutCallback; 9 9 use crate::dom::global_scope_script_execution::{ErrorReporting, RethrowErrors}; 10 10 use crate::dom::globalscope::GlobalScope; 11 - @@ -127,6 +128,7 @@ 11 + @@ -128,6 +129,7 @@ 12 12 #[cfg(feature = "testbinding")] 13 13 TestBindingCallback(TestBindingCallback), 14 14 RefreshRedirectDue(RefreshRedirectDue), ··· 16 16 /// <https://html.spec.whatwg.org/multipage/#run-steps-after-a-timeout> 17 17 RunStepsAfterTimeout { 18 18 /// Step 1. timerKey 19 - @@ -153,6 +155,9 @@ 19 + @@ -154,6 +156,9 @@ 20 20 OneshotTimerCallback::RefreshRedirectDue(callback) => { 21 21 callback.invoke(CanGc::from_cx(cx)) 22 22 },
+3 -3
patches/components/script_bindings/codegen/Bindings.conf.patch
··· 1 1 --- original 2 2 +++ modified 3 - @@ -284,6 +284,11 @@ 3 + @@ -287,6 +287,11 @@ 4 4 'cx': ['CheckValidity', 'ReportValidity'], 5 5 }, 6 6 ··· 12 12 'EventSource': { 13 13 'weakReferenceable': True, 14 14 }, 15 - @@ -668,8 +673,8 @@ 15 + @@ -657,8 +662,8 @@ 16 16 }, 17 17 18 18 'Navigator': { ··· 23 23 }, 24 24 25 25 'Node': { 26 - @@ -703,6 +708,11 @@ 26 + @@ -691,6 +696,11 @@ 27 27 'cx': ['CreateLinearGradient', 'CreatePattern', 'CreateRadialGradient', 'GetTransform'], 28 28 }, 29 29
+4 -4
patches/components/shared/embedder/Cargo.toml.patch
··· 1 1 --- original 2 2 +++ modified 3 3 @@ -34,6 +34,7 @@ 4 - pixels = { package = "servo-pixels", path = "../../pixels" } 4 + pixels = { workspace = true } 5 5 rustc-hash = { workspace = true } 6 6 serde = { workspace = true } 7 - +servo-config = { path = "../../config" } 8 - servo_geometry = { package = "servo-geometry", path = "../../geometry" } 9 - servo_url = { package = "servo-url", path = "../../url" } 7 + +servo_config = { workspace = true } 8 + servo_geometry = { workspace = true } 9 + servo-url = { workspace = true } 10 10 strum = { workspace = true }
+9 -9
patches/components/shared/embedder/lib.rs.patch
··· 49 49 } 50 50 51 51 impl From<DevicePoint> for WebViewPoint { 52 - @@ -307,9 +333,16 @@ 52 + @@ -317,9 +343,16 @@ 53 53 /// The size of the layout viewport. 54 54 pub size: Size2D<f32, CSSPixel>, 55 55 ··· 68 68 } 69 69 70 70 impl ViewportDetails { 71 - @@ -329,7 +362,7 @@ 71 + @@ -339,7 +372,7 @@ 72 72 } 73 73 74 74 /// An opaque identifier for a single history traversal operation. ··· 77 77 pub struct TraversalId(String); 78 78 79 79 impl TraversalId { 80 - @@ -339,6 +372,12 @@ 80 + @@ -349,6 +382,12 @@ 81 81 } 82 82 } 83 83 ··· 87 87 + } 88 88 +} 89 89 + 90 - #[derive(Clone, Copy, Deserialize, Eq, Hash, PartialEq, Serialize, MallocSizeOf)] 90 + #[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, PartialEq, Serialize, MallocSizeOf)] 91 91 pub enum PixelFormat { 92 92 /// Luminance channel only 93 - @@ -412,6 +451,12 @@ 93 + @@ -422,6 +461,12 @@ 94 94 } 95 95 } 96 96 ··· 103 103 /// Messages towards the embedder. 104 104 #[derive(Deserialize, IntoStaticStr, Serialize)] 105 105 pub enum EmbedderMsg { 106 - @@ -437,6 +482,21 @@ 106 + @@ -447,6 +492,21 @@ 107 107 ), 108 108 /// Whether or not to allow script to open a new tab/browser 109 109 AllowOpeningWebView(WebViewId, GenericSender<Option<NewWebViewDetails>>), ··· 125 125 /// A webview was destroyed. 126 126 WebViewClosed(WebViewId), 127 127 /// A webview potentially gained focus for keyboard events. 128 - @@ -518,6 +578,24 @@ 128 + @@ -528,6 +588,24 @@ 129 129 InputEventsHandled(WebViewId, Vec<InputEventOutcome>), 130 130 /// Send the embedder an accessibility tree update. 131 131 AccessibilityTreeUpdate(WebViewId, accesskit::TreeUpdate), ··· 150 150 } 151 151 152 152 impl Debug for EmbedderMsg { 153 - @@ -1074,6 +1152,54 @@ 153 + @@ -1084,6 +1162,54 @@ 154 154 WebViewDoesNotExist, 155 155 } 156 156 ··· 205 205 #[derive(Clone, Copy, Debug, Deserialize, Serialize)] 206 206 pub struct RgbColor { 207 207 pub red: u8, 208 - @@ -1120,3 +1246,26 @@ 208 + @@ -1130,3 +1256,26 @@ 209 209 pub viewport_details: ViewportDetails, 210 210 pub user_content_manager_id: Option<UserContentManagerId>, 211 211 }
+3
rust-toolchain.toml
··· 1 + [toolchain] 2 + channel = "stable" 3 +