diff --git a/Cargo.lock b/Cargo.lock index 8f18758..8ecade0 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -287,9 +287,9 @@ dependencies = [ [[package]] name = "anstyle" -version = "1.0.13" +version = "1.0.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5192cca8006f1fd4f7237516f40fa183bb07f8fbdfedaa0036de5ea9b0b45e78" +checksum = "940b3a0ca603d1eade50a4846a2afffd5ef57a9feac2c0e2ec2e14f9ead76000" [[package]] name = "anstyle-parse" @@ -778,7 +778,7 @@ dependencies = [ [[package]] name = "beaver-shell" -version = "0.1.0" +version = "0.0.1" dependencies = [ "axum", "chrono", @@ -1171,9 +1171,9 @@ dependencies = [ [[package]] name = "cc" -version = "1.2.56" +version = "1.2.57" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aebf35691d1bfb0ac386a69bac2fde4dd276fb618cf8bf4f5318fe285e821bb2" +checksum = "7a0dd1ca384932ff3641c8718a02769f1698e7563dc6974ffd03346116310423" dependencies = [ "find-msvc-tools", "jobserver", @@ -1460,9 +1460,9 @@ checksum = "3d7b894f5411737b7867f4827955924d7c254fc9f4d91a6aad6b097804b1018b" [[package]] name = "colorchoice" -version = "1.0.4" +version = "1.0.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b05b61dc5112cbb17e4b6cd61790d9845d13888356391624cbe7e41efeac1e75" +checksum = "1d07550c9036bf2ae0c684c4297d503f838287c83c53686d05370d0e139ae570" [[package]] name = "combine" @@ -1523,9 +1523,9 @@ checksum = "3d52eff69cd5e647efe296129160853a42795992097e8af39800e1060caeea9b" [[package]] name = "content-security-policy" -version = "0.6.0" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "52efb49c92268e4dcb64ea15d6733630f91bda721ef093f2e83959ea4fa241c0" +checksum = "92693f0f50d58b279ffb4a005722c509739e1d01bb53e6cf8d3c06ffb6b101ef" dependencies = [ "base64 0.22.1", "bitflags 2.11.0", @@ -3187,7 +3187,7 @@ version = "0.22.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "64729ba2772c080448f9f966dba8f4456beeb100d8c28a865ef8a0f2ef4987e1" dependencies = [ - "glib-sys 0.22.0", + "glib-sys 0.22.3", "gobject-sys 0.22.0", "libc", "system-deps 7.0.7", @@ -3260,9 +3260,9 @@ dependencies = [ [[package]] name = "glib" -version = "0.22.2" +version = "0.22.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "16877c6e619447e0bcb6de326a42a8bd02b36328cfeeda210135425e576efa3d" +checksum = "039f93465ac17e6cb02d16f16572cd3e43a77e736d5ecc461e71b9c9c5c0569c" dependencies = [ "bitflags 2.11.0", "futures-channel", @@ -3272,7 +3272,7 @@ dependencies = [ "futures-util", "gio-sys 0.22.0", "glib-macros 0.22.2", - "glib-sys 0.22.0", + "glib-sys 0.22.3", "gobject-sys 0.22.0", "libc", "memchr", @@ -3340,9 +3340,9 @@ dependencies = [ [[package]] name = "glib-sys" -version = "0.22.0" +version = "0.22.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "48073e3b228419faa80b9b7f7122759d4ab2f44cd52a065fde7ca08f34c03147" +checksum = "1eb23a616a3dbc7fc15bbd26f58756ff0b04c8a894df3f0680cd21011db6a642" dependencies = [ "libc", "system-deps 7.0.7", @@ -3441,7 +3441,7 @@ version = "0.22.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "18eda93f09d3778f38255b231b17ef67195013a592c91624a4daf8bead875565" dependencies = [ - "glib-sys 0.22.0", + "glib-sys 0.22.3", "libc", "system-deps 7.0.7", ] @@ -3524,7 +3524,7 @@ dependencies = [ "futures-channel", "futures-core", "futures-util", - "glib 0.22.2", + "glib 0.22.3", "gstreamer-sys", "itertools 0.14.0", "kstring", @@ -3547,7 +3547,7 @@ checksum = "714874829f75e805192ddc2bd130b9d7669ebc3ed0e8b106039dd3416cb82916" dependencies = [ "futures-core", "futures-sink", - "glib 0.22.2", + "glib 0.22.3", "gstreamer", "gstreamer-app-sys", "gstreamer-base", @@ -3560,7 +3560,7 @@ version = "0.25.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7a74a8211e5d7df2f45b612c284ddf56b92bdf4e879e8ed72e7c46dd0842e158" dependencies = [ - "glib-sys 0.22.0", + "glib-sys 0.22.3", "gstreamer-base-sys", "gstreamer-sys", "libc", @@ -3574,7 +3574,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "46e64660e1963ff3b6a4a5175f917524254a6ae36ac7b83e29b760d879a33073" dependencies = [ "cfg-if", - "glib 0.22.2", + "glib 0.22.3", "gstreamer", "gstreamer-audio-sys", "gstreamer-base", @@ -3588,7 +3588,7 @@ version = "0.25.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b5111bd07d0e22cc66ec9b4b4ef5408beefb148af19944fbe4602983a043f34c" dependencies = [ - "glib-sys 0.22.0", + "glib-sys 0.22.3", "gobject-sys 0.22.0", "gstreamer-base-sys", "gstreamer-sys", @@ -3604,7 +3604,7 @@ checksum = "c08353a8a382be9a49b15fb9c46b3abd6f8a6e6439e1eaedc87d08f1abdcfad1" dependencies = [ "atomic_refcell", "cfg-if", - "glib 0.22.2", + "glib 0.22.3", "gstreamer", "gstreamer-base-sys", "libc", @@ -3616,7 +3616,7 @@ version = "0.25.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6569606feeb89cfcf95a6476a64a0f0aec83fadcef0e91c24e576f7851ceac3a" dependencies = [ - "glib-sys 0.22.0", + "glib-sys 0.22.3", "gobject-sys 0.22.0", "gstreamer-sys", "libc", @@ -3629,7 +3629,7 @@ version = "0.25.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "94f83397da547ce27d7b912980ecb21c99c6aedee4015765355fe66cdf0bd9b9" dependencies = [ - "glib 0.22.2", + "glib 0.22.3", "gstreamer", "gstreamer-base", "gstreamer-gl-sys", @@ -3643,7 +3643,7 @@ version = "0.25.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ff3c29e6d4b92ef22b0bacc2cff02902d40516942fead63c656d7fccc75221e8" dependencies = [ - "glib 0.22.2", + "glib 0.22.3", "gstreamer", "gstreamer-gl", "gstreamer-gl-egl-sys", @@ -3656,7 +3656,7 @@ version = "0.25.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e7294007aa6c0c6082d4835c391ab4094ef09ef581cde4c67edad2c1befcfd84" dependencies = [ - "glib-sys 0.22.0", + "glib-sys 0.22.3", "gstreamer-gl-sys", "libc", "system-deps 7.0.7", @@ -3668,7 +3668,7 @@ version = "0.25.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9c57ba9f4e0f2d852d480049b9eae4f69f0abe450eece4d96494da0b4857b04e" dependencies = [ - "glib-sys 0.22.0", + "glib-sys 0.22.3", "gobject-sys 0.22.0", "gstreamer-base-sys", "gstreamer-sys", @@ -3683,7 +3683,7 @@ version = "0.25.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9a83ca3d2030846f01be738b8b867ecb4b95269497bcfa459b8fc1ce897ad9f4" dependencies = [ - "glib 0.22.2", + "glib 0.22.3", "gstreamer", "gstreamer-gl", "gstreamer-gl-wayland-sys", @@ -3696,7 +3696,7 @@ version = "0.25.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6ccd79a57650954ced0a0c8fcb38c561a83c1cb6515f1e318bbb6631ce287590" dependencies = [ - "glib-sys 0.22.0", + "glib-sys 0.22.3", "gstreamer-gl-sys", "libc", "system-deps 7.0.7", @@ -3708,7 +3708,7 @@ version = "0.25.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "642d86fed827466e2d1ff4f430313fdab5d113bc2bf1e9c9736a873e8832c6ca" dependencies = [ - "glib 0.22.2", + "glib 0.22.3", "gstreamer", "gstreamer-gl", "gstreamer-gl-x11-sys", @@ -3721,7 +3721,7 @@ version = "0.25.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1391e727c873085ce4f8b2deb7fc4dcb15098ef75433777510860b0d983ff39f" dependencies = [ - "glib-sys 0.22.0", + "glib-sys 0.22.3", "gstreamer-gl-sys", "libc", "system-deps 7.0.7", @@ -3733,7 +3733,7 @@ version = "0.25.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3355c2c37bfd824cbd974bf0b8c004d71ca3755f825065957bc16356d79e6e34" dependencies = [ - "glib 0.22.2", + "glib 0.22.3", "gstreamer", "gstreamer-play-sys", "gstreamer-video", @@ -3746,7 +3746,7 @@ version = "0.25.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "33810c828e426122ca8268071a090e08a9fbcc96e104f94c76353547c4c98a6f" dependencies = [ - "glib-sys 0.22.0", + "glib-sys 0.22.3", "gobject-sys 0.22.0", "gstreamer-sys", "gstreamer-video-sys", @@ -3760,7 +3760,7 @@ version = "0.25.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "11650b5fbc5994877bc525519c554cb66166f155f9cc3119b0fe88a33dc5176e" dependencies = [ - "glib 0.22.2", + "glib 0.22.3", "gstreamer", "gstreamer-sdp-sys", ] @@ -3771,7 +3771,7 @@ version = "0.25.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c20f0eb41ecfbacbf6a29d9457e6de0f59e2638f47fbdb6a6c1bcfb720c2b9ee" dependencies = [ - "glib-sys 0.22.0", + "glib-sys 0.22.3", "gstreamer-sys", "libc", "system-deps 7.0.7", @@ -3784,7 +3784,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "85d09343b4c23d64b3ef35f1f644598860cc9a4617e7ccded141de97cd528608" dependencies = [ "cfg-if", - "glib-sys 0.22.0", + "glib-sys 0.22.3", "gobject-sys 0.22.0", "libc", "system-deps 7.0.7", @@ -3798,7 +3798,7 @@ checksum = "51809937ed7f6fa3974b2730a39623d59fd7415ede882d08d5ecef5de39d758d" dependencies = [ "cfg-if", "futures-channel", - "glib 0.22.2", + "glib 0.22.3", "gstreamer", "gstreamer-base", "gstreamer-video-sys", @@ -3812,7 +3812,7 @@ version = "0.25.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "458f82631a5063057c10583a57ba0fbce689e67122cfdb5eddbeaa43eb812e75" dependencies = [ - "glib-sys 0.22.0", + "glib-sys 0.22.3", "gobject-sys 0.22.0", "gstreamer-base-sys", "gstreamer-sys", @@ -3826,7 +3826,7 @@ version = "0.25.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7def31f08759da6f658462d7def7138e00346e5345958ba291926e9511e97d16" dependencies = [ - "glib 0.22.2", + "glib 0.22.3", "gstreamer", "gstreamer-sdp", "gstreamer-webrtc-sys", @@ -3839,7 +3839,7 @@ version = "0.25.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "405721d1f15bbda47a46f9645077859215a947cdd6af6c7f18e4f4d0cbe63bd7" dependencies = [ - "glib-sys 0.22.0", + "glib-sys 0.22.3", "gstreamer-sdp-sys", "gstreamer-sys", "libc", @@ -6552,9 +6552,9 @@ dependencies = [ [[package]] name = "num_enum" -version = "0.7.5" +version = "0.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1207a7e20ad57b847bbddc6776b968420d38292bbfe2089accff5e19e82454c" +checksum = "5d0bca838442ec211fa11de3a8b0e0e8f3a4522575b5c4c06ed722e005036f26" dependencies = [ "num_enum_derive", "rustversion", @@ -6562,9 +6562,9 @@ dependencies = [ [[package]] name = "num_enum_derive" -version = "0.7.5" +version = "0.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff32365de1b6743cb203b710788263c44a03de03802daf96092f2da4fe6ba4d7" +checksum = "680998035259dcfcafe653688bf2aa6d3e2dc05e98be6ab46afb089dc84f1df8" dependencies = [ "proc-macro-crate 3.5.0", "proc-macro2", @@ -7620,9 +7620,9 @@ dependencies = [ [[package]] name = "portable-atomic-util" -version = "0.2.5" +version = "0.2.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a9db96d7fa8782dd8c15ce32ffe8680bbd1e978a43bf51a34d39483540495f5" +checksum = "091397be61a01d4be58e7841595bd4bfedb15f1cd54977d79b8271e94ed799a3" dependencies = [ "portable-atomic", ] @@ -8887,7 +8887,7 @@ dependencies = [ [[package]] name = "servo" -version = "0.1.0" +version = "0.0.1" dependencies = [ "accesskit", "arboard", @@ -8960,7 +8960,7 @@ dependencies = [ [[package]] name = "servo-allocator" -version = "0.1.0" +version = "0.0.1" dependencies = [ "backtrace", "libc", @@ -8973,7 +8973,7 @@ dependencies = [ [[package]] name = "servo-background-hang-monitor" -version = "0.1.0" +version = "0.0.1" dependencies = [ "backtrace", "crossbeam-channel", @@ -8990,7 +8990,7 @@ dependencies = [ [[package]] name = "servo-background-hang-monitor-api" -version = "0.1.0" +version = "0.0.1" dependencies = [ "serde", "servo-base", @@ -8998,7 +8998,7 @@ dependencies = [ [[package]] name = "servo-base" -version = "0.1.0" +version = "0.0.1" dependencies = [ "accesskit", "crossbeam-channel", @@ -9022,7 +9022,7 @@ dependencies = [ [[package]] name = "servo-bluetooth" -version = "0.1.0" +version = "0.0.1" dependencies = [ "bitflags 2.11.0", "blurdroid", @@ -9040,7 +9040,7 @@ dependencies = [ [[package]] name = "servo-bluetooth-traits" -version = "0.1.0" +version = "0.0.1" dependencies = [ "regex", "serde", @@ -9050,7 +9050,7 @@ dependencies = [ [[package]] name = "servo-canvas" -version = "0.1.0" +version = "0.0.1" dependencies = [ "bytemuck", "crossbeam-channel", @@ -9078,7 +9078,7 @@ dependencies = [ [[package]] name = "servo-canvas-traits" -version = "0.1.0" +version = "0.0.1" dependencies = [ "crossbeam-channel", "euclid", @@ -9099,7 +9099,7 @@ dependencies = [ [[package]] name = "servo-config" -version = "0.1.0" +version = "0.0.1" dependencies = [ "serde", "serde_json", @@ -9109,7 +9109,7 @@ dependencies = [ [[package]] name = "servo-config-macro" -version = "0.1.0" +version = "0.0.1" dependencies = [ "proc-macro2", "quote", @@ -9119,7 +9119,7 @@ dependencies = [ [[package]] name = "servo-constellation" -version = "0.1.0" +version = "0.0.1" dependencies = [ "backtrace", "beaver-p2p", @@ -9174,7 +9174,7 @@ dependencies = [ [[package]] name = "servo-constellation-traits" -version = "0.1.0" +version = "0.0.1" dependencies = [ "content-security-policy", "encoding_rs", @@ -9209,7 +9209,7 @@ dependencies = [ [[package]] name = "servo-deny-public-fields" -version = "0.1.0" +version = "0.0.1" dependencies = [ "syn 2.0.117", "synstructure", @@ -9217,7 +9217,7 @@ dependencies = [ [[package]] name = "servo-devtools" -version = "0.1.0" +version = "0.0.1" dependencies = [ "atomic_refcell", "base64 0.22.1", @@ -9245,7 +9245,7 @@ dependencies = [ [[package]] name = "servo-devtools-traits" -version = "0.1.0" +version = "0.0.1" dependencies = [ "bitflags 2.11.0", "http 1.4.0", @@ -9263,7 +9263,7 @@ dependencies = [ [[package]] name = "servo-dom-struct" -version = "0.1.0" +version = "0.0.1" dependencies = [ "proc-macro2", "quote", @@ -9272,7 +9272,7 @@ dependencies = [ [[package]] name = "servo-embedder-traits" -version = "0.1.0" +version = "0.0.1" dependencies = [ "accesskit", "bitflags 2.11.0", @@ -9305,7 +9305,7 @@ dependencies = [ [[package]] name = "servo-fonts" -version = "0.1.0" +version = "0.0.1" dependencies = [ "app_units", "bitflags 2.11.0", @@ -9350,6 +9350,7 @@ dependencies = [ "unicode-properties", "unicode-script", "url", + "uuid", "webrender_api", "winapi", "xml", @@ -9358,7 +9359,7 @@ dependencies = [ [[package]] name = "servo-fonts-traits" -version = "0.1.0" +version = "0.0.1" dependencies = [ "atomic_refcell", "dwrote", @@ -9375,12 +9376,13 @@ dependencies = [ "servo-profile-traits", "servo-url", "stylo", + "uuid", "webrender_api", ] [[package]] name = "servo-geometry" -version = "0.1.0" +version = "0.0.1" dependencies = [ "app_units", "euclid", @@ -9407,7 +9409,7 @@ dependencies = [ [[package]] name = "servo-jstraceable-derive" -version = "0.1.0" +version = "0.0.1" dependencies = [ "proc-macro2", "syn 2.0.117", @@ -9416,7 +9418,7 @@ dependencies = [ [[package]] name = "servo-layout" -version = "0.1.0" +version = "0.0.1" dependencies = [ "accesskit", "app_units", @@ -9472,7 +9474,7 @@ dependencies = [ [[package]] name = "servo-layout-api" -version = "0.1.0" +version = "0.0.1" dependencies = [ "app_units", "atomic_refcell", @@ -9505,7 +9507,7 @@ dependencies = [ [[package]] name = "servo-malloc-size-of" -version = "0.1.0" +version = "0.0.1" dependencies = [ "accountable-refcell", "app_units", @@ -9544,7 +9546,7 @@ dependencies = [ [[package]] name = "servo-media" -version = "0.1.0" +version = "0.0.1" dependencies = [ "once_cell", "servo-media-audio", @@ -9556,7 +9558,7 @@ dependencies = [ [[package]] name = "servo-media-audio" -version = "0.1.0" +version = "0.0.1" dependencies = [ "byte-slice-cast", "euclid", @@ -9578,7 +9580,7 @@ dependencies = [ [[package]] name = "servo-media-derive" -version = "0.1.0" +version = "0.0.1" dependencies = [ "proc-macro2", "quote", @@ -9587,7 +9589,7 @@ dependencies = [ [[package]] name = "servo-media-dummy" -version = "0.1.0" +version = "0.0.1" dependencies = [ "ipc-channel", "servo-media", @@ -9600,7 +9602,7 @@ dependencies = [ [[package]] name = "servo-media-gstreamer" -version = "0.1.0" +version = "0.0.1" dependencies = [ "byte-slice-cast", "glib 0.21.5", @@ -9632,7 +9634,7 @@ dependencies = [ [[package]] name = "servo-media-gstreamer-render" -version = "0.1.0" +version = "0.0.1" dependencies = [ "gstreamer", "gstreamer-video", @@ -9641,7 +9643,7 @@ dependencies = [ [[package]] name = "servo-media-gstreamer-render-android" -version = "0.1.0" +version = "0.0.1" dependencies = [ "glib 0.21.5", "gstreamer", @@ -9654,7 +9656,7 @@ dependencies = [ [[package]] name = "servo-media-gstreamer-render-unix" -version = "0.1.0" +version = "0.0.1" dependencies = [ "glib 0.21.5", "gstreamer", @@ -9669,7 +9671,7 @@ dependencies = [ [[package]] name = "servo-media-player" -version = "0.1.0" +version = "0.0.1" dependencies = [ "ipc-channel", "malloc_size_of_derive", @@ -9682,7 +9684,7 @@ dependencies = [ [[package]] name = "servo-media-streams" -version = "0.1.0" +version = "0.0.1" dependencies = [ "malloc_size_of_derive", "servo-malloc-size-of", @@ -9691,7 +9693,7 @@ dependencies = [ [[package]] name = "servo-media-thread" -version = "0.1.0" +version = "0.0.1" dependencies = [ "euclid", "ipc-channel", @@ -9708,7 +9710,7 @@ dependencies = [ [[package]] name = "servo-media-traits" -version = "0.1.0" +version = "0.0.1" dependencies = [ "malloc_size_of_derive", "servo-malloc-size-of", @@ -9716,7 +9718,7 @@ dependencies = [ [[package]] name = "servo-media-webrtc" -version = "0.1.0" +version = "0.0.1" dependencies = [ "log", "servo-media-streams", @@ -9725,7 +9727,7 @@ dependencies = [ [[package]] name = "servo-metrics" -version = "0.1.0" +version = "0.0.1" dependencies = [ "malloc_size_of_derive", "servo-base", @@ -9739,7 +9741,7 @@ dependencies = [ [[package]] name = "servo-net" -version = "0.1.0" +version = "0.0.1" dependencies = [ "async-compression", "async-recursion", @@ -9809,7 +9811,7 @@ dependencies = [ [[package]] name = "servo-net-traits" -version = "0.1.0" +version = "0.0.1" dependencies = [ "content-security-policy", "cookie 0.18.1", @@ -9848,7 +9850,7 @@ dependencies = [ [[package]] name = "servo-paint" -version = "0.1.0" +version = "0.0.1" dependencies = [ "bitflags 2.11.0", "crossbeam-channel", @@ -9889,7 +9891,7 @@ dependencies = [ [[package]] name = "servo-paint-api" -version = "0.1.0" +version = "0.0.1" dependencies = [ "bitflags 2.11.0", "crossbeam-channel", @@ -9925,7 +9927,7 @@ dependencies = [ [[package]] name = "servo-pixels" -version = "0.1.0" +version = "0.0.1" dependencies = [ "criterion", "euclid", @@ -9940,7 +9942,7 @@ dependencies = [ [[package]] name = "servo-profile" -version = "0.1.0" +version = "0.0.1" dependencies = [ "libc", "log", @@ -9958,7 +9960,7 @@ dependencies = [ [[package]] name = "servo-profile-traits" -version = "0.1.0" +version = "0.0.1" dependencies = [ "crossbeam-channel", "ipc-channel", @@ -9975,7 +9977,7 @@ dependencies = [ [[package]] name = "servo-script" -version = "0.1.0" +version = "0.0.1" dependencies = [ "accountable-refcell", "aes 0.8.4", @@ -10117,7 +10119,7 @@ dependencies = [ [[package]] name = "servo-script-bindings" -version = "0.1.0" +version = "0.0.1" dependencies = [ "bitflags 2.11.0", "crossbeam-channel", @@ -10156,7 +10158,7 @@ dependencies = [ [[package]] name = "servo-script-traits" -version = "0.1.0" +version = "0.0.1" dependencies = [ "accesskit", "content-security-policy", @@ -10194,7 +10196,7 @@ dependencies = [ [[package]] name = "servo-storage" -version = "0.1.0" +version = "0.0.1" dependencies = [ "libc", "log", @@ -10225,7 +10227,7 @@ dependencies = [ [[package]] name = "servo-storage-traits" -version = "0.1.0" +version = "0.0.1" dependencies = [ "malloc_size_of_derive", "serde", @@ -10238,7 +10240,7 @@ dependencies = [ [[package]] name = "servo-timers" -version = "0.1.0" +version = "0.0.1" dependencies = [ "crossbeam-channel", "malloc_size_of_derive", @@ -10247,7 +10249,7 @@ dependencies = [ [[package]] name = "servo-tracing" -version = "0.1.0" +version = "0.0.1" dependencies = [ "prettyplease", "proc-macro2", @@ -10257,7 +10259,7 @@ dependencies = [ [[package]] name = "servo-url" -version = "0.1.0" +version = "0.0.1" dependencies = [ "encoding_rs", "malloc_size_of_derive", @@ -10270,7 +10272,7 @@ dependencies = [ [[package]] name = "servo-webgl" -version = "0.1.0" +version = "0.0.1" dependencies = [ "bitflags 2.11.0", "byteorder", @@ -10295,7 +10297,7 @@ dependencies = [ [[package]] name = "servo-webgpu" -version = "0.1.0" +version = "0.0.1" dependencies = [ "arrayvec", "euclid", @@ -10313,7 +10315,7 @@ dependencies = [ [[package]] name = "servo-webgpu-traits" -version = "0.1.0" +version = "0.0.1" dependencies = [ "arrayvec", "malloc_size_of_derive", @@ -10328,7 +10330,7 @@ dependencies = [ [[package]] name = "servo-webxr" -version = "0.1.0" +version = "0.0.1" dependencies = [ "crossbeam-channel", "euclid", @@ -10346,7 +10348,7 @@ dependencies = [ [[package]] name = "servo-webxr-api" -version = "0.1.0" +version = "0.0.1" dependencies = [ "euclid", "ipc-channel", @@ -10361,7 +10363,7 @@ dependencies = [ [[package]] name = "servo-xpath" -version = "0.1.0" +version = "0.0.1" dependencies = [ "log", "malloc_size_of_derive", @@ -11410,9 +11412,9 @@ dependencies = [ [[package]] name = "tinyvec" -version = "1.10.0" +version = "1.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bfa5fdc3bce6191a1dbc8c02d5c8bffcf557bafa17c124c5264a458f1b0613fa" +checksum = "3e61e67053d25a4e82c844e8424039d9745781b3fc4f32b8d55ed50f5f667ef3" dependencies = [ "tinyvec_macros", ] diff --git a/Cargo.toml b/Cargo.toml index 12c7aa1..5f1b4c9 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -5,7 +5,7 @@ members = ["crates/beaver_p2p", "crates/beaver_shell"] # Copied from the main Cargo.toml to allow # workspace inheritance from component/ crates. [workspace.package] -version = "0.1.0" +version = "0.0.1" edition = "2024" authors = ["The Servo Project Developers"] license = "MPL-2.0" @@ -25,6 +25,7 @@ arrayvec = "0.7" async-tungstenite = { version = "0.33", features = ["tokio-rustls-webpki-roots"] } atomic_refcell = "0.1.13" aws-lc-rs = { version = "1.15", default-features = false, features = ["aws-lc-sys"] } +background_hang_monitor = { package = "servo-background-hang-monitor", version = "0.0.1", path = "source/components/background_hang_monitor" } background_hang_monitor_api = { package = "servo-background-hang-monitor-api", path = "source/components/shared/background_hang_monitor" } backtrace = "0.3" base = { package = "servo-base", path = "source/components/shared/base" } @@ -37,10 +38,13 @@ base64ct = { version = "1.8", features = ["alloc"] } # before doing **any** bump to this dependency to rule out a supply chain attack. bincode = "=1.3.3" bitflags = "2.10" +bluetooth = { package = "servo-bluetooth", version = "0.0.1", path = "source/components/bluetooth" } bluetooth_traits = { package = "servo-bluetooth-traits", path = "source/components/shared/bluetooth" } +blurmac = { version = "0.1.0", path = "source/third_party/blurmac" } brotli = "8.0.2" bytemuck = "1" byteorder = "1.5" +canvas = { package = "servo-canvas", version = "0.0.1", path = "source/components/canvas" } canvas_traits = { package = "servo-canvas-traits", path = "source/components/shared/canvas" } cbc = "0.1.2" cfg-if = "1.0.4" @@ -48,6 +52,7 @@ chacha20poly1305 = "0.10" chardetng = "0.1" chrono = { version = "0.4", features = ["serde"] } cipher = { version = "0.4.4", features = ["alloc"] } +constellation = { package = "servo-constellation", version = "0.0.1", path = "source/components/constellation" } constellation_traits = { package = "servo-constellation-traits", path = "source/components/shared/constellation" } content-security-policy = { version = "0.6.0", features = ["serde"] } cookie = { package = "cookie", version = "0.18" } @@ -55,9 +60,12 @@ crossbeam-channel = "0.5" cssparser = { version = "0.36", features = ["serde"] } ctr = "0.9.2" data-url = "0.3" +deny_public_fields = { package = "servo-deny-public-fields", version = "0.0.1", path = "source/components/deny_public_fields" } der = { version = "0.7", features = ["alloc", "derive"] } +devtools = { package = "servo-devtools", version = "0.0.1", path = "source/components/devtools" } devtools_traits = { package = "servo-devtools-traits", path = "source/components/shared/devtools" } digest = "0.10" +dom_struct = { package = "servo-dom-struct", version = "0.0.1", path = "source/components/dom_struct" } dpi = "0.1" dwrote = "0.11.5" ecdsa = "0.16" @@ -67,6 +75,7 @@ encoding_rs = { version = "0.8", features = ["serde"] } env_logger = "0.11" euclid = "0.22" flate2 = "1.1" +fonts = { package = "servo-fonts", version = "0.0.1", path = "source/components/fonts" } fonts_traits = { package = "servo-fonts-traits", path = "source/components/shared/fonts" } freetype-sys = "0.20" futures = { version = "0.3", default-features = false } @@ -110,8 +119,10 @@ indexmap = { version = "2.11.4", features = ["std"] } ipc-channel = "0.21" itertools = "0.14" js = { package = "mozjs", version = "=0.15.5", default-features = false, features = ["libz-sys", "intl"] } +jstraceable_derive = { package = "servo-jstraceable-derive", version = "0.0.1", path = "source/components/jstraceable_derive" } keyboard-types = { version = "0.8.3", features = ["serde", "webdriver"] } kurbo = { version = "0.12", features = ["euclid"] } +layout = { package = "servo-layout", version = "0.0.1", path = "source/components/layout" } layout_api = { package = "servo-layout-api", path = "source/components/shared/layout" } libc = "0.2" log = "0.4.29" @@ -119,13 +130,16 @@ mach2 = "0.6" malloc_size_of = { package = "servo-malloc-size-of", path = "source/components/malloc_size_of" } malloc_size_of_derive = "0.1" markup5ever = "0.38" +media = { package = "servo-media-thread", version = "0.0.1", path = "source/components/media/media-thread" } memmap2 = "0.9.9" +metrics = { package = "servo-metrics", version = "0.0.1", path = "source/components/metrics" } mime = "0.3.13" mime-multipart-hyper1 = "0.10.0" mime_guess = "2.0.5" ml-dsa = "0.0.4" ml-kem = { version = "0.2", features = ["deterministic"] } mozangle = "0.5.3" +net = { package = "servo-net", version = "0.0.1", path = "source/components/net" } net_traits = { package = "servo-net-traits", path = "source/components/shared/net" } nix = "0.30" nom = "8.0.0" @@ -140,6 +154,7 @@ objc2-core-foundation = "0.3.2" objc2-core-graphics = "0.3.2" objc2-core-text = "0.3.2" openxr = "0.20" +paint = { package = "servo-paint", version = "0.0.1", path = "source/components/paint" } paint_api = { package = "servo-paint-api", path = "source/components/shared/paint" } p256 = { version = "0.13", features = ["ecdh"] } p384 = { version = "0.13", features = ["ecdh"] } @@ -147,9 +162,11 @@ p521 = { version = "0.13", features = ["ecdh"] } parking_lot = { version = "0.12", features = ["serde"] } peniko = "0.5" percent-encoding = "2.3" +pixels = { package = "servo-pixels", version = "0.0.1", path = "source/components/pixels" } pkcs8 = { version = "0.10", features = ["rand_core"] } postcard = { version = "1.1.3", default-features = false, features = ["use-std"] } proc-macro2 = "1" +profile = { package = "servo-profile", version = "0.0.1", path = "source/components/profile" } profile_traits = { package = "servo-profile-traits", path = "source/components/shared/profile" } quote = "1" rand = "0.9" @@ -163,6 +180,8 @@ rustc-hash = "2.1.1" rustls = { version = "0.23", default-features = false, features = ["logging", "std", "tls12"] } rustls-pki-types = "1.14" rustls-platform-verifier = "0.6.2" +script = { package = "servo-script", path = "source/components/script" } +script_bindings = { package = "servo-script-bindings", version = "0.0.1", path = "source/components/script_bindings" } script_traits = { package = "servo-script-traits", path = "source/components/shared/script" } sea-query = { version = "1.0.0-rc.30", default-features = false, features = ["backend-sqlite", "derive"] } sea-query-rusqlite = { version = "0.8.0-rc.15" } @@ -172,16 +191,32 @@ serde = "1.0.228" serde_bytes = "0.11" serde_core = "1.0.226" serde_json = "1.0" +servo = { version = "0.0.1", path = "source/components/servo", default-features = false } +servo_config = { package = "servo-config", version = "0.0.1", path = "source/components/config" } +servo_config_macro = { package = "servo-config-macro", version = "0.0.1", path = "source/components/config/macro" } +servo_geometry = { package = "servo-geometry", version = "0.0.1", path = "source/components/geometry" } servo-media = { path = "source/components/media/servo-media" } +servo-media-audio = { version = "0.0.1", path = "source/components/media/audio" } +servo-media-derive = { version = "0.0.1", path = "source/components/media/servo-media-derive" } servo-media-dummy = { path = "source/components/media/backends/dummy" } servo-media-gstreamer = { path = "source/components/media/backends/gstreamer" } +servo-media-gstreamer-render = { version = "0.0.1", path = "source/components/media/backends/gstreamer/render" } +servo-media-gstreamer-render-android = { version = "0.0.1", path = "source/components/media/backends/gstreamer/render-android" } +servo-media-gstreamer-render-unix = { version = "0.0.1", path = "source/components/media/backends/gstreamer/render-unix" } +servo-media-player = { version = "0.0.1", path = "source/components/media/player" } +servo-media-streams = { version = "0.0.1", path = "source/components/media/streams" } +servo-media-traits = { version = "0.0.1", path = "source/components/media/traits" } +servo-media-webrtc = { version = "0.0.1", path = "source/components/media/webrtc" } +servo_allocator = { package = "servo-allocator", version = "0.0.1", path = "source/components/allocator" } servo-tracing = { path = "source/components/servo_tracing" } servo_arc = { git = "https://github.com/servo/stylo", rev = "dca3934667dae76c49bb579b268c5eb142d09c6a" } +servo-url = { version = "0.0.1", path = "source/components/url" } sha1 = "0.10" sha2 = "0.10" sha3 = "0.10" skrifa = "0.37.0" smallvec = { version = "1.15", features = ["serde", "union"] } +storage = { package = "servo-storage", version = "0.0.1", path = "source/components/storage" } storage_traits = { package = "servo-storage-traits", path = "source/components/shared/storage" } string_cache = "0.9" strum = { version = "0.27", features = ["derive"] } @@ -199,6 +234,7 @@ taffy = { version = "0.9.2", default-features = false, features = ["calc", "deta tendril = { version = "0.5", features = ["encoding_rs"] } tikv-jemalloc-sys = "0.6.1" tikv-jemallocator = "0.6.1" +timers = { package = "servo-timers", version = "0.0.1", path = "source/components/timers" } time = { package = "time", version = "0.3", features = ["large-dates", "local-offset", "serde"] } tokio = "1" tokio-rustls = { version = "0.26", default-features = false, features = ["logging"] } @@ -221,10 +257,13 @@ uuid = { version = "1.20.0", features = ["v4", "v5"] } vello = "0.6" vello_cpu = "0.0.4" webdriver = "0.53.0" +webgl = { package = "servo-webgl", version = "0.0.1", path = "source/components/webgl", default-features = false } +webgpu = { package = "servo-webgpu", version = "0.0.1", path = "source/components/webgpu" } webgpu_traits = { package = "servo-webgpu-traits", path = "source/components/shared/webgpu" } webpki-roots = "1.0" webrender = { version = "0.68", features = ["capture"] } webrender_api = "0.68" +webxr = { package = "servo-webxr", version = "0.0.1", path = "source/components/webxr" } webxr-api = { package = "servo-webxr-api", path = "source/components/shared/webxr" } wgpu-core = "26" wgpu-types = "26" diff --git a/forkme.lock b/forkme.lock index 789d6b8..ce1ab19 100644 --- a/forkme.lock +++ b/forkme.lock @@ -1 +1 @@ -eb249afac8127af3cc4312f3065c0f1dfa8102d5 +9fd7477cbb9fd2cf945a7e7bdd4e5f5468b99adc diff --git a/patches/components/constellation/Cargo.toml.patch b/patches/components/constellation/Cargo.toml.patch index bebe0a8..27afc07 100644 --- a/patches/components/constellation/Cargo.toml.patch +++ b/patches/components/constellation/Cargo.toml.patch @@ -6,11 +6,11 @@ base = { workspace = true } +beaver-p2p = { path = "../../../crates/beaver_p2p" } bluetooth_traits = { workspace = true, optional = true } - canvas = { package = "servo-canvas", path = "../canvas" } + canvas = { workspace = true } canvas_traits = { workspace = true } @@ -39,6 +40,8 @@ euclid = { workspace = true } - fonts = { package = "servo-fonts", path = "../fonts" } + fonts = { workspace = true } ipc-channel = { workspace = true } +iroh = "0.96" +iroh-persist = { git = "https://github.com/webbeef/iroh-persist.git", branch = "iroh-0.96" } @@ -23,7 +23,7 @@ parking_lot = { workspace = true } +petname = "2.0" +postcard = "1.1" - profile = { package = "servo-profile", path = "../profile" } + profile = { workspace = true } profile_traits = { workspace = true } rand = { workspace = true } @@ -53,6 +58,7 @@ @@ -32,13 +32,13 @@ serde = { workspace = true } +serde_json = { workspace = true } servo-tracing = { workspace = true } - servo_config = { package = "servo-config", path = "../config" } - servo_url = { package = "servo-url", path = "../url" } + servo_config = { workspace = true } + servo-url = { workspace = true } @@ -59,6 +65,7 @@ storage_traits = { workspace = true } stylo = { workspace = true } stylo_traits = { workspace = true } +tokio = { workspace = true } tracing = { workspace = true, optional = true } - webgpu = { package = "servo-webgpu", path = "../webgpu" } + webgpu = { workspace = true } webgpu_traits = { workspace = true } diff --git a/patches/components/paint/Cargo.toml.patch b/patches/components/paint/Cargo.toml.patch index d4fbfcb..53874ce 100644 --- a/patches/components/paint/Cargo.toml.patch +++ b/patches/components/paint/Cargo.toml.patch @@ -1,7 +1,7 @@ --- original +++ modified @@ -37,6 +37,7 @@ - media = { package = "servo-media-thread", path = "../media/media-thread" } + media = { workspace = true } malloc_size_of = { workspace = true } paint_api = { workspace = true } +servo-pixels = { path = "../pixels" } diff --git a/patches/components/script/dom/debuggerglobalscope.rs.patch b/patches/components/script/dom/debugger/debuggerglobalscope.rs.patch similarity index 100% rename from patches/components/script/dom/debuggerglobalscope.rs.patch rename to patches/components/script/dom/debugger/debuggerglobalscope.rs.patch diff --git a/patches/components/script/dom/document.rs.patch b/patches/components/script/dom/document.rs.patch index 9aba9f8..6bb97ac 100644 --- a/patches/components/script/dom/document.rs.patch +++ b/patches/components/script/dom/document.rs.patch @@ -35,7 +35,7 @@ /// All websockets created that are associated with this document. websockets: DOMTracker, -@@ -862,6 +868,12 @@ +@@ -864,6 +870,12 @@ // Set the document's activity level, reflow if necessary, and suspend or resume timers. self.activity.set(activity); @@ -48,7 +48,7 @@ let media = ServoMedia::get(); let pipeline_id = self.window().pipeline_id(); let client_context_id = -@@ -875,6 +887,7 @@ +@@ -877,6 +889,7 @@ self.title_changed(); self.notify_embedder_favicon(); @@ -56,7 +56,7 @@ self.dirty_all_nodes(); self.window().resume(CanGc::from_cx(cx)); media.resume(&client_context_id); -@@ -1279,6 +1292,9 @@ +@@ -1283,6 +1296,9 @@ LoadStatus::Started, )); self.send_to_embedder(EmbedderMsg::Status(self.webview_id(), None)); @@ -66,7 +66,7 @@ } }, DocumentReadyState::Complete => { -@@ -1287,6 +1303,9 @@ +@@ -1291,6 +1307,9 @@ self.webview_id(), LoadStatus::Complete, )); @@ -76,7 +76,7 @@ } update_with_current_instant(&self.dom_complete); }, -@@ -1693,7 +1712,13 @@ +@@ -1697,7 +1716,13 @@ let window = self.window(); if window.is_top_level() { let title = self.title().map(String::from); @@ -91,7 +91,7 @@ } } -@@ -1702,6 +1727,18 @@ +@@ -1706,6 +1731,18 @@ window.send_to_embedder(msg); } @@ -110,7 +110,7 @@ pub(crate) fn dirty_all_nodes(&self) { let root = match self.GetDocumentElement() { Some(root) => root, -@@ -3247,9 +3284,59 @@ +@@ -3253,9 +3290,59 @@ current_rendering_epoch, ); @@ -170,7 +170,7 @@ pub(crate) fn handle_no_longer_waiting_on_asynchronous_image_updates(&self) { self.waiting_on_canvas_image_updates.set(false); } -@@ -3992,6 +4079,7 @@ +@@ -3998,6 +4085,7 @@ active_sandboxing_flag_set: Cell::new(SandboxingFlagSet::empty()), creation_sandboxing_flag_set: Cell::new(creation_sandboxing_flag_set), favicon: RefCell::new(None), @@ -178,7 +178,7 @@ websockets: DOMTracker::new(), details_name_groups: Default::default(), protocol_handler_automation_mode: Default::default(), -@@ -5096,6 +5184,36 @@ +@@ -5102,6 +5190,36 @@ pub(crate) fn notify_embedder_favicon(&self) { if let Some(ref image) = *self.favicon.borrow() { @@ -215,7 +215,7 @@ self.send_to_embedder(EmbedderMsg::NewFavicon(self.webview_id(), image.clone())); } } -@@ -5141,6 +5259,20 @@ +@@ -5161,6 +5279,20 @@ pub(crate) fn set_css_styling_flag(&self, value: bool) { self.css_styling_flag.set(value) } diff --git a/patches/components/script/dom/document_embedder_controls.rs.patch b/patches/components/script/dom/document_embedder_controls.rs.patch index 02f4396..90fc9d5 100644 --- a/patches/components/script/dom/document_embedder_controls.rs.patch +++ b/patches/components/script/dom/document_embedder_controls.rs.patch @@ -21,7 +21,7 @@ }; use euclid::{Point2D, Rect, Size2D}; use ipc_channel::router::ROUTER; -@@ -35,8 +38,8 @@ +@@ -36,8 +39,8 @@ use crate::dom::node::{Node, NodeTraits, ShadowIncluding}; use crate::dom::textcontrol::TextControlElement; use crate::dom::types::{ @@ -32,7 +32,7 @@ }; use crate::messaging::MainThreadScriptMsg; -@@ -47,6 +50,7 @@ +@@ -48,6 +51,7 @@ FileInput(DomRoot), Ime(DomRoot), ContextMenu(ContextMenuNodes), @@ -40,7 +40,7 @@ } impl ControlElement { -@@ -57,6 +61,7 @@ +@@ -58,6 +62,7 @@ ControlElement::FileInput(element) => element.upcast::(), ControlElement::Ime(element) => element.upcast::(), ControlElement::ContextMenu(context_menu_nodes) => &context_menu_nodes.node, @@ -48,7 +48,7 @@ } } } -@@ -129,39 +134,77 @@ +@@ -130,39 +135,77 @@ EmbedderControlRequest::SelectElement(..) | EmbedderControlRequest::ColorPicker(..) | EmbedderControlRequest::InputMethod(..) | @@ -157,7 +157,7 @@ }, } -@@ -180,12 +223,67 @@ +@@ -181,12 +224,67 @@ pipeline_id: self.window.pipeline_id(), index: index.0, }; @@ -226,10 +226,10 @@ + pub(crate) fn handle_embedder_control_response( &self, - id: EmbedderControlId, -@@ -229,6 +327,10 @@ + cx: &mut JSContext, +@@ -230,6 +328,10 @@ ) => { - context_menu_nodes.handle_context_menu_action(action, can_gc); + context_menu_nodes.handle_context_menu_action(action, CanGc::from_cx(cx)); }, + (ControlElement::PermissionPrompt(_), EmbedderControlResponse::PermissionPrompt(_)) => { + // Permission prompt responses go directly through the IPC sender @@ -238,7 +238,7 @@ (_, _) => unreachable!( "The response to a form control should always match it's originating type." ), -@@ -235,6 +337,36 @@ +@@ -236,6 +338,36 @@ } } @@ -275,7 +275,7 @@ pub(crate) fn show_context_menu(&self, hit_test_result: &HitTestResult) { { let mut visible_elements = self.visible_elements.borrow_mut(); -@@ -428,8 +560,11 @@ +@@ -429,8 +561,11 @@ let Some(browsing_context) = document.browsing_context() else { return; }; diff --git a/patches/components/script/dom/document_event_handler.rs.patch b/patches/components/script/dom/document_event_handler.rs.patch index 5080297..a867041 100644 --- a/patches/components/script/dom/document_event_handler.rs.patch +++ b/patches/components/script/dom/document_event_handler.rs.patch @@ -111,10 +111,10 @@ /// The [`DocumentEventHandler`] is a structure responsible for handling input events for /// the [`crate::Document`] and storing data related to event handling. It exists to /// decrease the size of the [`crate::Document`] structure. -@@ -192,6 +249,20 @@ - next_touch_pointer_id: Cell, - /// A map holding information about currently registered access key handlers. +@@ -194,6 +251,20 @@ access_key_handlers: DomRefCell>>, + /// + sequential_focus_navigation_starting_point: MutNullableDom, + /// Long-press state for context menu detection. + long_press_state: DomRefCell>, + /// Touch ID that triggered a context menu via long-press. @@ -132,17 +132,17 @@ } impl DocumentEventHandler { -@@ -215,6 +286,9 @@ - active_pointer_ids: Default::default(), +@@ -218,6 +289,9 @@ next_touch_pointer_id: Cell::new(1), access_key_handlers: Default::default(), + sequential_focus_navigation_starting_point: Default::default(), + long_press_state: Default::default(), + context_menu_touch_id: Default::default(), + forwarded_touches: Default::default(), } } -@@ -538,6 +612,198 @@ +@@ -543,6 +617,198 @@ } } @@ -341,7 +341,7 @@ /// fn handle_native_mouse_move_event(&self, input_event: &ConstellationInputEvent, can_gc: CanGc) { // Ignore all incoming events without a hit test. -@@ -552,6 +818,57 @@ +@@ -557,6 +823,57 @@ return; } @@ -399,7 +399,7 @@ // Update the cursor when the mouse moves, if it has changed. self.set_cursor(Some(hit_test_result.cursor)); -@@ -777,6 +1094,12 @@ +@@ -782,6 +1099,12 @@ return; }; @@ -412,8 +412,8 @@ debug!( "{:?}: at {:?}", event.action, hit_test_result.point_in_frame -@@ -869,18 +1192,25 @@ - let target_el = element.find_click_focusable_shadow_host_if_necessary(); +@@ -880,18 +1203,25 @@ + let target_el = element.find_click_focusable_area(); let document = self.window.Document(); - document.begin_focus_transaction(); @@ -443,7 +443,7 @@ document.commit_focus_transaction(FocusInitiator::Click, can_gc); } -@@ -890,7 +1220,7 @@ +@@ -901,7 +1231,7 @@ self.maybe_show_context_menu( node.upcast(), &hit_test_result, @@ -452,7 +452,7 @@ can_gc, ); } -@@ -1014,9 +1344,30 @@ +@@ -1025,9 +1355,30 @@ &self, target: &EventTarget, hit_test_result: &HitTestResult, @@ -484,7 +484,7 @@ // let menu_event = PointerEvent::new( &self.window, // window -@@ -1030,25 +1381,25 @@ +@@ -1041,25 +1392,25 @@ hit_test_result .point_relative_to_initial_containing_block .to_i32(), @@ -529,7 +529,7 @@ can_gc, ); -@@ -1064,6 +1415,89 @@ +@@ -1075,6 +1426,89 @@ }; } @@ -619,7 +619,7 @@ fn handle_touch_event( &self, event: EmbedderTouchEvent, -@@ -1070,6 +1504,29 @@ +@@ -1081,6 +1515,29 @@ input_event: &ConstellationInputEvent, can_gc: CanGc, ) -> InputEventResult { @@ -649,7 +649,7 @@ // Ignore all incoming events without a hit test. let Some(hit_test_result) = self.window.hit_test_from_input_event(input_event) else { self.update_active_touch_points_when_early_return(event); -@@ -1076,6 +1533,16 @@ +@@ -1087,6 +1544,16 @@ return Default::default(); }; @@ -666,7 +666,7 @@ let TouchId(identifier) = event.touch_id; let Some(element) = hit_test_result -@@ -1207,6 +1674,10 @@ +@@ -1218,6 +1685,10 @@ // // If the element is being actively pointed at the element is being activated. self.element_for_activation(element).set_active_state(true); @@ -677,7 +677,7 @@ (current_target, pointer_touch) }, _ => { -@@ -1239,10 +1710,31 @@ +@@ -1250,10 +1721,31 @@ can_gc, ); @@ -710,7 +710,7 @@ }, TouchEventType::Up | TouchEventType::Cancel => { active_touch_points.swap_remove(index); -@@ -1250,6 +1742,17 @@ +@@ -1261,6 +1753,17 @@ // // If the element is being actively pointed at the element is being activated. self.element_for_activation(element).set_active_state(false); @@ -728,7 +728,7 @@ }, TouchEventType::Down => unreachable!("Should have been handled above"), } -@@ -1293,6 +1796,19 @@ +@@ -1304,6 +1807,19 @@ ); let event = touch_event.upcast::(); event.fire(&touch_dispatch_target, can_gc); @@ -748,7 +748,7 @@ event.flags().into() } -@@ -1457,6 +1973,16 @@ +@@ -1468,6 +1984,16 @@ return Default::default(); }; diff --git a/patches/components/script/dom/globalscope.rs.patch b/patches/components/script/dom/globalscope.rs.patch index 591d7a8..1e291ab 100644 --- a/patches/components/script/dom/globalscope.rs.patch +++ b/patches/components/script/dom/globalscope.rs.patch @@ -1,6 +1,6 @@ --- original +++ modified -@@ -371,6 +371,16 @@ +@@ -369,6 +369,16 @@ /// Is considered in a secure context inherited_secure_context: Option, @@ -17,7 +17,7 @@ /// Directory to store unminified scripts for this window if unminify-js /// opt is enabled. unminified_js_dir: Option, -@@ -770,6 +780,8 @@ +@@ -768,6 +778,8 @@ #[cfg(feature = "webgpu")] gpu_id_hub: Arc, inherited_secure_context: Option, unminify_js: bool, @@ -26,7 +26,7 @@ font_context: Option>, ) -> Self { Self { -@@ -814,6 +826,8 @@ +@@ -812,6 +824,8 @@ console_group_stack: DomRefCell::new(Vec::new()), console_count_map: Default::default(), inherited_secure_context, @@ -35,7 +35,7 @@ unminified_js_dir: unminify_js.then(|| unminified_path("unminified-js")), byte_length_queuing_strategy_size_function: OnceCell::new(), count_queuing_strategy_size_function: OnceCell::new(), -@@ -1139,6 +1153,25 @@ +@@ -1137,6 +1151,25 @@ .send(ScriptToConstellationMessage::EntanglePorts(port1, port2)); } @@ -61,7 +61,7 @@ /// Handle the transfer of a port in the current task. pub(crate) fn mark_port_as_transferred(&self, port_id: &MessagePortId) -> MessagePortImpl { if let MessagePortState::Managed(_id, message_ports) = -@@ -3128,6 +3161,16 @@ +@@ -3126,6 +3159,16 @@ self.inherited_secure_context } diff --git a/patches/components/script/dom/html/htmlbodyelement.rs.patch b/patches/components/script/dom/html/htmlbodyelement.rs.patch index 05d5860..fc725e6 100644 --- a/patches/components/script/dom/html/htmlbodyelement.rs.patch +++ b/patches/components/script/dom/html/htmlbodyelement.rs.patch @@ -8,7 +8,7 @@ use dom_struct::dom_struct; use embedder_traits::{EmbedderMsg, LoadStatus}; use html5ever::{LocalName, Prefix, local_name, ns}; -@@ -135,6 +136,12 @@ +@@ -136,6 +137,12 @@ window.webview_id(), LoadStatus::HeadParsed, )); diff --git a/patches/components/script/dom/html/htmliframeelement.rs.patch b/patches/components/script/dom/html/htmliframeelement.rs.patch index 286e29b..a51acce 100644 --- a/patches/components/script/dom/html/htmliframeelement.rs.patch +++ b/patches/components/script/dom/html/htmliframeelement.rs.patch @@ -430,7 +430,7 @@ pub(crate) fn sandboxing_flag_set(&self) -> SandboxingFlagSet { self.sandboxing_flag_set .get() -@@ -1014,6 +1351,85 @@ +@@ -1018,6 +1355,85 @@ // https://html.spec.whatwg.org/multipage/#attr-iframe-loading make_setter!(SetLoading, "loading"); @@ -516,7 +516,7 @@ } impl VirtualMethods for HTMLIFrameElement { -@@ -1069,10 +1485,38 @@ +@@ -1073,10 +1489,38 @@ // is in a document tree and has a browsing context, which is what causes // the child browsing context to be created. if self.upcast::().is_connected_with_browsing_context() { @@ -557,7 +557,7 @@ local_name!("loading") => { // https://html.spec.whatwg.org/multipage/#attr-iframe-loading // > When the loading attribute's state is changed to the Eager state, the user agent must run these steps: -@@ -1135,6 +1579,23 @@ +@@ -1139,6 +1583,23 @@ debug!("