Rewild Your Web
18
fork

Configure Feed

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

chore: update to Servo db719abcedab225b8853175833980f16af82c7a7

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

webbeef dce26e74 758e2857

+117 -169
+18 -68
Cargo.lock
··· 1624 1624 1625 1625 [[package]] 1626 1626 name = "content-security-policy" 1627 - version = "0.7.0" 1627 + version = "0.8.0" 1628 1628 source = "registry+https://github.com/rust-lang/crates.io-index" 1629 - checksum = "47ed7d27b1e6023b7fce811326a8835769ca374149e1da7c8fcfb684bdb260fc" 1629 + checksum = "d348c3856ad6a6b957d69dc8cf93e66fe9be5a7657fdd7028b1a56d2775e3fce" 1630 1630 dependencies = [ 1631 1631 "base64 0.22.1", 1632 1632 "bitflags 2.11.0", ··· 4578 4578 "icu_properties 1.5.1", 4579 4579 "icu_provider 1.5.0", 4580 4580 "icu_provider_adapters", 4581 - "icu_segmenter 1.5.0", 4581 + "icu_segmenter", 4582 4582 "icu_timezone", 4583 4583 "tinystr 0.7.6", 4584 4584 "unicode-bidi", ··· 4763 4763 checksum = "52b1a7fbdbf3958f1be8354cb59ac73f165b7b7082d447ff2090355c9a069120" 4764 4764 4765 4765 [[package]] 4766 - name = "icu_locale" 4767 - version = "2.1.1" 4768 - source = "registry+https://github.com/rust-lang/crates.io-index" 4769 - checksum = "532b11722e350ab6bf916ba6eb0efe3ee54b932666afec989465f9243fe6dd60" 4770 - dependencies = [ 4771 - "icu_collections 2.1.1", 4772 - "icu_locale_core", 4773 - "icu_locale_data", 4774 - "icu_provider 2.1.1", 4775 - "potential_utf", 4776 - "tinystr 0.8.2", 4777 - "zerovec 0.11.5", 4778 - ] 4779 - 4780 - [[package]] 4781 4766 name = "icu_locale_core" 4782 4767 version = "2.1.1" 4783 4768 source = "registry+https://github.com/rust-lang/crates.io-index" ··· 4785 4770 dependencies = [ 4786 4771 "displaydoc", 4787 4772 "litemap 0.8.1", 4788 - "serde", 4789 4773 "tinystr 0.8.2", 4790 4774 "writeable 0.6.2", 4791 4775 "zerovec 0.11.5", 4792 4776 ] 4793 4777 4794 4778 [[package]] 4795 - name = "icu_locale_data" 4796 - version = "2.1.2" 4797 - source = "registry+https://github.com/rust-lang/crates.io-index" 4798 - checksum = "1c5f1d16b4c3a2642d3a719f18f6b06070ab0aef246a6418130c955ae08aa831" 4799 - 4800 - [[package]] 4801 4779 name = "icu_locid" 4802 4780 version = "1.5.0" 4803 4781 source = "registry+https://github.com/rust-lang/crates.io-index" ··· 4974 4952 dependencies = [ 4975 4953 "displaydoc", 4976 4954 "icu_locale_core", 4977 - "serde", 4978 - "stable_deref_trait", 4979 4955 "writeable 0.6.2", 4980 4956 "yoke 0.8.1", 4981 4957 "zerofrom", ··· 5018 4994 "icu_collections 1.5.0", 5019 4995 "icu_locid", 5020 4996 "icu_provider 1.5.0", 5021 - "icu_segmenter_data 1.5.1", 4997 + "icu_segmenter_data", 5022 4998 "utf8_iter", 5023 4999 "zerovec 0.10.4", 5024 5000 ] 5025 5001 5026 5002 [[package]] 5027 - name = "icu_segmenter" 5028 - version = "2.1.2" 5029 - source = "registry+https://github.com/rust-lang/crates.io-index" 5030 - checksum = "a807a7488f3f758629ae86d99d9d30dce24da2fb2945d74c80a4f4a62c71db73" 5031 - dependencies = [ 5032 - "core_maths", 5033 - "icu_collections 2.1.1", 5034 - "icu_locale", 5035 - "icu_provider 2.1.1", 5036 - "icu_segmenter_data 2.1.1", 5037 - "potential_utf", 5038 - "utf8_iter", 5039 - "zerovec 0.11.5", 5040 - ] 5041 - 5042 - [[package]] 5043 5003 name = "icu_segmenter_data" 5044 5004 version = "1.5.1" 5045 5005 source = "registry+https://github.com/rust-lang/crates.io-index" 5046 5006 checksum = "a1e52775179941363cc594e49ce99284d13d6948928d8e72c755f55e98caa1eb" 5047 - 5048 - [[package]] 5049 - name = "icu_segmenter_data" 5050 - version = "2.1.1" 5051 - source = "registry+https://github.com/rust-lang/crates.io-index" 5052 - checksum = "6ebbb7321d9e21d25f5660366cb6c08201d0175898a3a6f7a41ee9685af21c80" 5053 5007 5054 5008 [[package]] 5055 5009 name = "icu_timezone" ··· 7991 7945 source = "registry+https://github.com/rust-lang/crates.io-index" 7992 7946 checksum = "b73949432f5e2a09657003c25bca5e19a0e9c84f8058ca374f49e0ebe605af77" 7993 7947 dependencies = [ 7994 - "serde_core", 7995 - "writeable 0.6.2", 7996 7948 "zerovec 0.11.5", 7997 7949 ] 7998 7950 ··· 9056 9008 [[package]] 9057 9009 name = "selectors" 9058 9010 version = "0.36.1" 9059 - source = "git+https://github.com/servo/stylo?rev=ad3ef1d5d2b7108706e9f4849bc34af95d6204f6#ad3ef1d5d2b7108706e9f4849bc34af95d6204f6" 9011 + source = "git+https://github.com/servo/stylo?rev=938e58caf26b6d0437291ce875dd5b0dd8a52d4f#938e58caf26b6d0437291ce875dd5b0dd8a52d4f" 9060 9012 dependencies = [ 9061 9013 "bitflags 2.11.0", 9062 9014 "cssparser", ··· 9755 9707 "euclid", 9756 9708 "html5ever", 9757 9709 "icu_locid", 9758 - "icu_segmenter 1.5.0", 9710 + "icu_segmenter", 9759 9711 "itertools 0.14.0", 9760 9712 "kurbo 0.12.0", 9761 9713 "log", ··· 10695 10647 [[package]] 10696 10648 name = "servo_arc" 10697 10649 version = "0.4.3" 10698 - source = "git+https://github.com/servo/stylo?rev=ad3ef1d5d2b7108706e9f4849bc34af95d6204f6#ad3ef1d5d2b7108706e9f4849bc34af95d6204f6" 10650 + source = "git+https://github.com/servo/stylo?rev=938e58caf26b6d0437291ce875dd5b0dd8a52d4f#938e58caf26b6d0437291ce875dd5b0dd8a52d4f" 10699 10651 dependencies = [ 10700 10652 "serde", 10701 10653 "stable_deref_trait", ··· 11170 11122 [[package]] 11171 11123 name = "stylo" 11172 11124 version = "0.14.0" 11173 - source = "git+https://github.com/servo/stylo?rev=ad3ef1d5d2b7108706e9f4849bc34af95d6204f6#ad3ef1d5d2b7108706e9f4849bc34af95d6204f6" 11125 + source = "git+https://github.com/servo/stylo?rev=938e58caf26b6d0437291ce875dd5b0dd8a52d4f#938e58caf26b6d0437291ce875dd5b0dd8a52d4f" 11174 11126 dependencies = [ 11175 11127 "app_units", 11176 11128 "arrayvec", ··· 11181 11133 "derive_more", 11182 11134 "encoding_rs", 11183 11135 "euclid", 11184 - "icu_segmenter 2.1.2", 11136 + "icu_segmenter", 11185 11137 "indexmap", 11186 11138 "itertools 0.14.0", 11187 11139 "itoa", ··· 11226 11178 [[package]] 11227 11179 name = "stylo_atoms" 11228 11180 version = "0.14.0" 11229 - source = "git+https://github.com/servo/stylo?rev=ad3ef1d5d2b7108706e9f4849bc34af95d6204f6#ad3ef1d5d2b7108706e9f4849bc34af95d6204f6" 11181 + source = "git+https://github.com/servo/stylo?rev=938e58caf26b6d0437291ce875dd5b0dd8a52d4f#938e58caf26b6d0437291ce875dd5b0dd8a52d4f" 11230 11182 dependencies = [ 11231 11183 "string_cache", 11232 11184 "string_cache_codegen", ··· 11235 11187 [[package]] 11236 11188 name = "stylo_derive" 11237 11189 version = "0.14.0" 11238 - source = "git+https://github.com/servo/stylo?rev=ad3ef1d5d2b7108706e9f4849bc34af95d6204f6#ad3ef1d5d2b7108706e9f4849bc34af95d6204f6" 11190 + source = "git+https://github.com/servo/stylo?rev=938e58caf26b6d0437291ce875dd5b0dd8a52d4f#938e58caf26b6d0437291ce875dd5b0dd8a52d4f" 11239 11191 dependencies = [ 11240 11192 "darling", 11241 11193 "proc-macro2", ··· 11247 11199 [[package]] 11248 11200 name = "stylo_dom" 11249 11201 version = "0.14.0" 11250 - source = "git+https://github.com/servo/stylo?rev=ad3ef1d5d2b7108706e9f4849bc34af95d6204f6#ad3ef1d5d2b7108706e9f4849bc34af95d6204f6" 11202 + source = "git+https://github.com/servo/stylo?rev=938e58caf26b6d0437291ce875dd5b0dd8a52d4f#938e58caf26b6d0437291ce875dd5b0dd8a52d4f" 11251 11203 dependencies = [ 11252 11204 "bitflags 2.11.0", 11253 11205 "stylo_malloc_size_of", ··· 11256 11208 [[package]] 11257 11209 name = "stylo_malloc_size_of" 11258 11210 version = "0.14.0" 11259 - source = "git+https://github.com/servo/stylo?rev=ad3ef1d5d2b7108706e9f4849bc34af95d6204f6#ad3ef1d5d2b7108706e9f4849bc34af95d6204f6" 11211 + source = "git+https://github.com/servo/stylo?rev=938e58caf26b6d0437291ce875dd5b0dd8a52d4f#938e58caf26b6d0437291ce875dd5b0dd8a52d4f" 11260 11212 dependencies = [ 11261 11213 "app_units", 11262 11214 "cssparser", ··· 11273 11225 [[package]] 11274 11226 name = "stylo_static_prefs" 11275 11227 version = "0.14.0" 11276 - source = "git+https://github.com/servo/stylo?rev=ad3ef1d5d2b7108706e9f4849bc34af95d6204f6#ad3ef1d5d2b7108706e9f4849bc34af95d6204f6" 11228 + source = "git+https://github.com/servo/stylo?rev=938e58caf26b6d0437291ce875dd5b0dd8a52d4f#938e58caf26b6d0437291ce875dd5b0dd8a52d4f" 11277 11229 11278 11230 [[package]] 11279 11231 name = "stylo_traits" 11280 11232 version = "0.14.0" 11281 - source = "git+https://github.com/servo/stylo?rev=ad3ef1d5d2b7108706e9f4849bc34af95d6204f6#ad3ef1d5d2b7108706e9f4849bc34af95d6204f6" 11233 + source = "git+https://github.com/servo/stylo?rev=938e58caf26b6d0437291ce875dd5b0dd8a52d4f#938e58caf26b6d0437291ce875dd5b0dd8a52d4f" 11282 11234 dependencies = [ 11283 11235 "app_units", 11284 11236 "bitflags 2.11.0", ··· 11748 11700 checksum = "42d3e9c45c09de15d06dd8acf5f4e0e399e85927b7f00711024eb7ae10fa4869" 11749 11701 dependencies = [ 11750 11702 "displaydoc", 11751 - "serde_core", 11752 11703 "zerovec 0.11.5", 11753 11704 ] 11754 11705 ··· 11780 11731 [[package]] 11781 11732 name = "to_shmem" 11782 11733 version = "0.3.0" 11783 - source = "git+https://github.com/servo/stylo?rev=ad3ef1d5d2b7108706e9f4849bc34af95d6204f6#ad3ef1d5d2b7108706e9f4849bc34af95d6204f6" 11734 + source = "git+https://github.com/servo/stylo?rev=938e58caf26b6d0437291ce875dd5b0dd8a52d4f#938e58caf26b6d0437291ce875dd5b0dd8a52d4f" 11784 11735 dependencies = [ 11785 11736 "cssparser", 11786 11737 "servo_arc", ··· 11793 11744 [[package]] 11794 11745 name = "to_shmem_derive" 11795 11746 version = "0.1.0" 11796 - source = "git+https://github.com/servo/stylo?rev=ad3ef1d5d2b7108706e9f4849bc34af95d6204f6#ad3ef1d5d2b7108706e9f4849bc34af95d6204f6" 11747 + source = "git+https://github.com/servo/stylo?rev=938e58caf26b6d0437291ce875dd5b0dd8a52d4f#938e58caf26b6d0437291ce875dd5b0dd8a52d4f" 11797 11748 dependencies = [ 11798 11749 "darling", 11799 11750 "proc-macro2", ··· 12946 12897 "bytes", 12947 12898 "cookie 0.16.2", 12948 12899 "http 0.2.12", 12949 - "icu_segmenter 1.5.0", 12900 + "icu_segmenter", 12950 12901 "log", 12951 12902 "serde", 12952 12903 "serde_derive", ··· 14321 14272 source = "registry+https://github.com/rust-lang/crates.io-index" 14322 14273 checksum = "6c28719294829477f525be0186d13efa9a3c602f7ec202ca9e353d310fb9a002" 14323 14274 dependencies = [ 14324 - "serde", 14325 14275 "yoke 0.8.1", 14326 14276 "zerofrom", 14327 14277 "zerovec-derive 0.11.2",
+10 -10
Cargo.toml
··· 47 47 chardetng = "0.1" 48 48 chrono = { version = "0.4", features = ["serde"] } 49 49 cipher = { version = "0.4.4", features = ["alloc"] } 50 - content-security-policy = { version = "0.7.0", features = ["serde"] } 50 + content-security-policy = { version = "0.8.0", features = ["serde"] } 51 51 cookie = { package = "cookie", version = "0.18" } 52 52 crossbeam-channel = "0.5" 53 53 cssparser = { version = "0.36", features = ["serde"] } ··· 179 179 sea-query = { version = "1.0.0-rc.30", default-features = false, features = ["backend-sqlite", "derive"] } 180 180 sea-query-rusqlite = { version = "0.8.0-rc.15" } 181 181 sec1 = "0.7" 182 - selectors = { git = "https://github.com/servo/stylo", rev = "ad3ef1d5d2b7108706e9f4849bc34af95d6204f6" } 182 + selectors = { git = "https://github.com/servo/stylo", rev = "938e58caf26b6d0437291ce875dd5b0dd8a52d4f" } 183 183 serde = "1.0.228" 184 184 serde_bytes = "0.11" 185 185 serde_core = "1.0.226" ··· 212 212 servo-media-webrtc = { version = "0.0.6", path = "source/components/media/webrtc" } 213 213 servo_allocator = { package = "servo-allocator", version = "0.0.6", path = "source/components/allocator" } 214 214 servo-tracing = { path = "source/components/servo_tracing" } 215 - servo_arc = { git = "https://github.com/servo/stylo", rev = "ad3ef1d5d2b7108706e9f4849bc34af95d6204f6" } 215 + servo_arc = { git = "https://github.com/servo/stylo", rev = "938e58caf26b6d0437291ce875dd5b0dd8a52d4f" } 216 216 servo-url = { version = "0.0.6", path = "source/components/url" } 217 217 sha1 = "0.10" 218 218 sha2 = "0.10" ··· 223 223 storage_traits = { package = "servo-storage-traits", path = "source/components/shared/storage" } 224 224 string_cache = "0.9" 225 225 strum = { version = "0.27", features = ["derive"] } 226 - stylo = { git = "https://github.com/servo/stylo", rev = "ad3ef1d5d2b7108706e9f4849bc34af95d6204f6" } 227 - stylo_atoms = { git = "https://github.com/servo/stylo", rev = "ad3ef1d5d2b7108706e9f4849bc34af95d6204f6" } 228 - stylo_config = { git = "https://github.com/servo/stylo", rev = "ad3ef1d5d2b7108706e9f4849bc34af95d6204f6" } 229 - stylo_dom = { git = "https://github.com/servo/stylo", rev = "ad3ef1d5d2b7108706e9f4849bc34af95d6204f6" } 230 - stylo_malloc_size_of = { git = "https://github.com/servo/stylo", rev = "ad3ef1d5d2b7108706e9f4849bc34af95d6204f6" } 231 - stylo_static_prefs = { git = "https://github.com/servo/stylo", rev = "ad3ef1d5d2b7108706e9f4849bc34af95d6204f6" } 232 - stylo_traits = { git = "https://github.com/servo/stylo", rev = "ad3ef1d5d2b7108706e9f4849bc34af95d6204f6" } 226 + stylo = { git = "https://github.com/servo/stylo", rev = "938e58caf26b6d0437291ce875dd5b0dd8a52d4f" } 227 + stylo_atoms = { git = "https://github.com/servo/stylo", rev = "938e58caf26b6d0437291ce875dd5b0dd8a52d4f" } 228 + stylo_config = { git = "https://github.com/servo/stylo", rev = "938e58caf26b6d0437291ce875dd5b0dd8a52d4f" } 229 + stylo_dom = { git = "https://github.com/servo/stylo", rev = "938e58caf26b6d0437291ce875dd5b0dd8a52d4f" } 230 + stylo_malloc_size_of = { git = "https://github.com/servo/stylo", rev = "938e58caf26b6d0437291ce875dd5b0dd8a52d4f" } 231 + stylo_static_prefs = { git = "https://github.com/servo/stylo", rev = "938e58caf26b6d0437291ce875dd5b0dd8a52d4f" } 232 + stylo_traits = { git = "https://github.com/servo/stylo", rev = "938e58caf26b6d0437291ce875dd5b0dd8a52d4f" } 233 233 surfman = { version = "0.11.0", features = ["chains"] } 234 234 syn = { version = "2", default-features = false, features = ["clone-impls", "derive", "parsing"] } 235 235 synstructure = "0.13"
+1 -1
forkme.lock
··· 1 - 9dbe608558d2a2fd89e764b6fb042dc1b9159308 1 + db719abcedab225b8853175833980f16af82c7a7
+1 -1
patches/Cargo.lock.patch
··· 112 112 + 113 113 +[[package]] 114 114 name = "content-security-policy" 115 - version = "0.7.0" 115 + version = "0.8.0" 116 116 source = "registry+https://github.com/rust-lang/crates.io-index" 117 117 @@ -1499,7 +1571,7 @@ 118 118 "bitflags 1.3.2",
+9 -9
patches/components/constellation/constellation.rs.patch
··· 332 332 ScriptToConstellationMessage::ChangeRunningAnimationsState(animation_state) => { 333 333 self.handle_change_running_animations_state(source_pipeline_id, animation_state) 334 334 }, 335 - @@ -1984,6 +2101,29 @@ 335 + @@ -1991,6 +2108,29 @@ 336 336 new_value, 337 337 ); 338 338 }, ··· 362 362 ScriptToConstellationMessage::MediaSessionEvent(pipeline_id, event) => { 363 363 // Unlikely at this point, but we may receive events coming from 364 364 // different media sessions, so we set the active media session based 365 - @@ -2003,7 +2143,12 @@ 365 + @@ -2010,7 +2150,12 @@ 366 366 } 367 367 self.active_media_session = Some(pipeline_id); 368 368 self.constellation_to_embedder_proxy.send( ··· 376 376 ); 377 377 }, 378 378 #[cfg(feature = "webgpu")] 379 - @@ -2058,9 +2203,412 @@ 379 + @@ -2065,9 +2210,412 @@ 380 380 let _ = event_loop.send(ScriptThreadMessage::TriggerGarbageCollection); 381 381 } 382 382 }, ··· 789 789 /// Check the origin of a message against that of the pipeline it came from. 790 790 /// Note: this is still limited as a security check, 791 791 /// see <https://github.com/servo/servo/issues/11722> 792 - @@ -2377,6 +2925,29 @@ 792 + @@ -2384,6 +2932,29 @@ 793 793 TransferState::TransferInProgress(queue) => queue.push_back(task), 794 794 TransferState::CompletionFailed(queue) => queue.push_back(task), 795 795 TransferState::CompletionRequested(_, queue) => queue.push_back(task), ··· 819 819 } 820 820 } 821 821 822 - @@ -3268,6 +3839,13 @@ 822 + @@ -3275,6 +3846,13 @@ 823 823 /// <https://html.spec.whatwg.org/multipage/#destroy-a-top-level-traversable> 824 824 fn handle_close_top_level_browsing_context(&mut self, webview_id: WebViewId) { 825 825 debug!("{webview_id}: Closing"); ··· 833 833 let browsing_context_id = BrowsingContextId::from(webview_id); 834 834 // Step 5. Remove traversable from the user agent's top-level traversable set. 835 835 let browsing_context = 836 - @@ -3542,8 +4120,27 @@ 836 + @@ -3549,8 +4127,27 @@ 837 837 opener_webview_id, 838 838 opener_pipeline_id, 839 839 response_sender, ··· 861 861 let Some((webview_id_sender, webview_id_receiver)) = generic_channel::channel() else { 862 862 warn!("Failed to create channel"); 863 863 let _ = response_sender.send(None); 864 - @@ -3644,6 +4241,397 @@ 864 + @@ -3651,6 +4248,397 @@ 865 865 }); 866 866 } 867 867 ··· 1259 1259 #[servo_tracing::instrument(skip_all)] 1260 1260 fn handle_refresh_cursor(&self, pipeline_id: PipelineId) { 1261 1261 let Some(pipeline) = self.pipelines.get(&pipeline_id) else { 1262 - @@ -4771,7 +5759,7 @@ 1262 + @@ -4778,7 +5766,7 @@ 1263 1263 } 1264 1264 1265 1265 #[servo_tracing::instrument(skip_all)] ··· 1268 1268 // Send a flat projection of the history to embedder. 1269 1269 // The final vector is a concatenation of the URLs of the past 1270 1270 // entries, the current entry and the future entries. 1271 - @@ -4875,9 +5863,22 @@ 1271 + @@ -4882,9 +5870,22 @@ 1272 1272 self.constellation_to_embedder_proxy 1273 1273 .send(ConstellationToEmbedderMsg::HistoryChanged( 1274 1274 webview_id,
+2 -2
patches/components/constellation/tracing.rs.patch
··· 27 27 Self::ChangeRunningAnimationsState(..) => target!("ChangeRunningAnimationsState"), 28 28 Self::CreateCanvasPaintThread(..) => target!("CreateCanvasPaintThread"), 29 29 Self::Focus(..) => target!("Focus"), 30 - @@ -163,6 +169,8 @@ 30 + @@ -164,6 +170,8 @@ 31 31 Self::ScriptLoadedURLInIFrame(..) => target!("ScriptLoadedURLInIFrame"), 32 32 Self::ScriptNewIFrame(..) => target!("ScriptNewIFrame"), 33 33 Self::CreateAuxiliaryWebView(..) => target!("ScriptNewAuxiliary"), ··· 36 36 Self::ActivateDocument => target!("ActivateDocument"), 37 37 Self::SetDocumentState(..) => target!("SetDocumentState"), 38 38 Self::SetFinalUrl(..) => target!("SetFinalUrl"), 39 - @@ -186,6 +194,50 @@ 39 + @@ -187,6 +195,50 @@ 40 40 target!("RespondToScreenshotReadinessRequest") 41 41 }, 42 42 Self::TriggerGarbageCollection => target!("TriggerGarbageCollection"),
+10 -10
patches/components/layout/display_list/mod.rs.patch
··· 1 1 --- original 2 2 +++ modified 3 - @@ -39,13 +39,15 @@ 3 + @@ -40,13 +40,15 @@ 4 4 use style::values::specified::text::TextDecorationLine; 5 5 use style_traits::{CSSPixel as StyloCSSPixel, DevicePixel as StyloDevicePixel}; 6 6 use webrender_api::units::{ ··· 12 12 self as wr, BorderDetails, BorderRadius, BorderSide, BoxShadowClipMode, BuiltDisplayList, 13 13 - ClipChainId, ClipMode, ColorF, CommonItemProperties, ComplexClipRegion, GlyphInstance, 14 14 - NinePatchBorder, NinePatchBorderSource, NormalBorder, PrimitiveFlags, PropertyBinding, 15 - - PropertyBindingKey, SpatialId, SpatialTreeItemKey, units, 15 + - PropertyBindingKey, RasterSpace, SpatialId, SpatialTreeItemKey, StackingContextFlags, units, 16 16 + ClipChainId, ClipMode, ColorF, CommonItemProperties, ComplexClipRegion, ExternalScrollId, 17 17 + GlyphInstance, NinePatchBorder, NinePatchBorderSource, NormalBorder, PrimitiveFlags, 18 - + PropertyBinding, PropertyBindingKey, ReferenceFrameKind, SpatialId, SpatialTreeItemKey, 19 - + TransformStyle, units, 18 + + PropertyBinding, PropertyBindingKey, RasterSpace, ReferenceFrameKind, SpatialId, 19 + + SpatialTreeItemKey, StackingContextFlags, TransformStyle, units, 20 20 }; 21 21 use wr::units::LayoutVector2D; 22 22 23 - @@ -128,6 +130,9 @@ 23 + @@ -129,6 +131,9 @@ 24 24 25 25 /// Statistics collected about the reflow, in order to write tests for incremental layout. 26 26 reflow_statistics: &'a mut ReflowStatistics, ··· 30 30 } 31 31 32 32 struct InspectorHighlight { 33 - @@ -195,6 +200,36 @@ 33 + @@ -196,6 +201,36 @@ 34 34 webrender_display_list_builder.dump_serialized_display_list(); 35 35 } 36 36 ··· 67 67 let _span = profile_traits::trace_span!("DisplayListBuilder::build").entered(); 68 68 let mut builder = DisplayListBuilder { 69 69 current_scroll_node_id: paint_info.root_reference_frame_id, 70 - @@ -209,6 +244,7 @@ 70 + @@ -210,6 +245,7 @@ 71 71 device_pixel_ratio, 72 72 paint_timing_handler, 73 73 reflow_statistics, ··· 75 75 }; 76 76 77 77 // Clear any caret color from previous display list constructions. 78 - @@ -225,15 +261,20 @@ 78 + @@ -226,15 +262,20 @@ 79 79 let pipeline_id = builder.paint_info.pipeline_id; 80 80 let viewport_size = builder.paint_info.viewport_details.size; 81 81 let viewport_rect = LayoutRect::from_size(viewport_size.cast_unit()); ··· 98 98 stacking_context_tree 99 99 .root_stacking_context 100 100 .build_canvas_background_display_list(&mut builder, fragment_tree); 101 - @@ -242,6 +283,11 @@ 101 + @@ -243,6 +284,11 @@ 102 102 .build_display_list(&mut builder); 103 103 builder.paint_dom_inspector_highlight(); 104 104 ··· 110 110 webrender_display_list_builder.end().1 111 111 } 112 112 113 - @@ -283,12 +329,42 @@ 113 + @@ -284,12 +330,42 @@ 114 114 let mut scroll_tree = std::mem::take(&mut self.paint_info.scroll_tree); 115 115 let mut mapping = Vec::with_capacity(scroll_tree.nodes.len()); 116 116
+26 -26
patches/components/script/dom/document/document_event_handler.rs.patch
··· 23 23 use script_bindings::codegen::GenericBindings::NavigatorBinding::NavigatorMethods; 24 24 +#[cfg(feature = "gamepad")] 25 25 use script_bindings::codegen::GenericBindings::PerformanceBinding::PerformanceMethods; 26 + use script_bindings::codegen::GenericBindings::ShadowRootBinding::ShadowRootMethods; 26 27 use script_bindings::codegen::GenericBindings::TouchBinding::TouchMethods; 27 - use script_bindings::codegen::GenericBindings::WindowBinding::{ScrollBehavior, WindowMethods}; 28 - @@ -45,8 +47,11 @@ 28 + @@ -46,8 +48,11 @@ 29 29 use script_bindings::str::DOMString; 30 30 use script_traits::ConstellationInputEvent; 31 31 use servo_base::generic_channel::GenericCallback; ··· 38 38 use style::Atom; 39 39 use style_traits::CSSPixel; 40 40 use webrender_api::ExternalScrollId; 41 - @@ -57,12 +62,13 @@ 41 + @@ -58,12 +63,13 @@ 42 42 use crate::dom::bindings::root::MutNullableDom; 43 43 use crate::dom::bindings::trace::NoTrace; 44 44 use crate::dom::clipboardevent::ClipboardEventType; ··· 53 53 use crate::dom::inputevent::HitTestResult; 54 54 use crate::dom::interactive_element_command::InteractiveElementCommand; 55 55 use crate::dom::keyboardevent::KeyboardEvent; 56 - @@ -76,6 +82,7 @@ 56 + @@ -77,6 +83,7 @@ 57 57 }; 58 58 use crate::drag_data_store::{DragDataStore, Kind, Mode}; 59 59 use crate::realms::enter_realm; ··· 61 61 62 62 /// A data structure used for tracking the current click count. This can be 63 63 /// reset to 0 if a mouse button event happens at a sufficient distance or time 64 - @@ -139,6 +146,56 @@ 64 + @@ -140,6 +147,56 @@ 65 65 } 66 66 } 67 67 ··· 99 99 +} 100 100 + 101 101 +impl LongPressContextMenuCallback { 102 - + pub(crate) fn invoke(self, can_gc: CanGc) { 102 + + pub(crate) fn invoke(self, cx: &mut js::context::JSContext) { 103 103 + let document = self.document.root(); 104 104 + document 105 105 + .event_handler() 106 - + .handle_long_press_context_menu(self.touch_id, self.point, can_gc); 106 + + .handle_long_press_context_menu(self.touch_id, self.point, cx); 107 107 + } 108 108 +} 109 109 + ··· 118 118 /// The [`DocumentEventHandler`] is a structure responsible for handling input events for 119 119 /// the [`crate::Document`] and storing data related to event handling. It exists to 120 120 /// decrease the size of the [`crate::Document`] structure. 121 - @@ -197,6 +254,20 @@ 121 + @@ -198,6 +255,20 @@ 122 122 access_key_handlers: DomRefCell<FxHashMap<NoTrace<Code>, Dom<HTMLElement>>>, 123 123 /// <https://html.spec.whatwg.org/multipage/#sequential-focus-navigation-starting-point> 124 124 sequential_focus_navigation_starting_point: MutNullableDom<Node>, ··· 139 139 } 140 140 141 141 impl DocumentEventHandler { 142 - @@ -221,6 +292,9 @@ 142 + @@ -222,6 +293,9 @@ 143 143 next_touch_pointer_id: Cell::new(1), 144 144 access_key_handlers: Default::default(), 145 145 sequential_focus_navigation_starting_point: Default::default(), ··· 149 149 } 150 150 } 151 151 152 - @@ -546,6 +620,198 @@ 152 + @@ -547,6 +621,198 @@ 153 153 } 154 154 } 155 155 ··· 348 348 /// <https://w3c.github.io/uievents/#handle-native-mouse-move> 349 349 fn handle_native_mouse_move_event(&self, input_event: &ConstellationInputEvent, can_gc: CanGc) { 350 350 // Ignore all incoming events without a hit test. 351 - @@ -560,6 +826,57 @@ 351 + @@ -561,6 +827,57 @@ 352 352 return; 353 353 } 354 354 ··· 406 406 // Update the cursor when the mouse moves, if it has changed. 407 407 self.set_cursor(Some(hit_test_result.cursor)); 408 408 409 - @@ -785,6 +1102,12 @@ 409 + @@ -794,6 +1111,12 @@ 410 410 return; 411 411 }; 412 412 ··· 419 419 debug!( 420 420 "{:?}: at {:?}", 421 421 event.action, hit_test_result.point_in_frame 422 - @@ -883,18 +1206,25 @@ 422 + @@ -892,18 +1215,25 @@ 423 423 let target_el = element.find_click_focusable_area(); 424 424 425 425 let document = self.window.Document(); ··· 450 450 document.commit_focus_transaction(FocusInitiator::Click, can_gc); 451 451 } 452 452 453 - @@ -904,7 +1234,7 @@ 453 + @@ -913,7 +1243,7 @@ 454 454 self.maybe_show_context_menu( 455 455 node.upcast(), 456 456 &hit_test_result, ··· 459 459 can_gc, 460 460 ); 461 461 } 462 - @@ -1028,9 +1358,30 @@ 462 + @@ -1037,9 +1367,30 @@ 463 463 &self, 464 464 target: &EventTarget, 465 465 hit_test_result: &HitTestResult, ··· 491 491 // <https://w3c.github.io/uievents/#contextmenu> 492 492 let menu_event = PointerEvent::new( 493 493 &self.window, // window 494 - @@ -1044,25 +1395,25 @@ 494 + @@ -1053,25 +1404,25 @@ 495 495 hit_test_result 496 496 .point_relative_to_initial_containing_block 497 497 .to_i32(), ··· 536 536 can_gc, 537 537 ); 538 538 539 - @@ -1078,6 +1429,89 @@ 539 + @@ -1087,6 +1438,89 @@ 540 540 }; 541 541 } 542 542 ··· 581 581 + &self, 582 582 + touch_id: TouchId, 583 583 + point: Point2D<f32, CSSPixel>, 584 - + can_gc: CanGc, 584 + + cx: &mut js::context::JSContext, 585 585 + ) { 586 586 + // Only trigger if this touch is still the one we're tracking 587 587 + let is_tracked = self ··· 619 619 + el.upcast(), 620 620 + &hit_test_result, 621 621 + ContextMenuSource::Touch(touch_id), 622 - + can_gc, 622 + + CanGc::from_cx(cx), 623 623 + ); 624 624 + } 625 625 + 626 626 fn handle_touch_event( 627 627 &self, 628 628 event: EmbedderTouchEvent, 629 - @@ -1084,6 +1518,29 @@ 629 + @@ -1093,6 +1527,29 @@ 630 630 input_event: &ConstellationInputEvent, 631 631 can_gc: CanGc, 632 632 ) -> InputEventResult { ··· 656 656 // Ignore all incoming events without a hit test. 657 657 let Some(hit_test_result) = self.window.hit_test_from_input_event(input_event) else { 658 658 self.update_active_touch_points_when_early_return(event); 659 - @@ -1090,6 +1547,16 @@ 659 + @@ -1099,6 +1556,16 @@ 660 660 return Default::default(); 661 661 }; 662 662 ··· 673 673 let TouchId(identifier) = event.touch_id; 674 674 675 675 let Some(element) = hit_test_result 676 - @@ -1221,6 +1688,10 @@ 676 + @@ -1230,6 +1697,10 @@ 677 677 // <https://html.spec.whatwg.org/multipage/#selector-active> 678 678 // If the element is being actively pointed at the element is being activated. 679 679 self.element_for_activation(element).set_active_state(true); ··· 684 684 (current_target, pointer_touch) 685 685 }, 686 686 _ => { 687 - @@ -1253,10 +1724,31 @@ 687 + @@ -1262,10 +1733,31 @@ 688 688 can_gc, 689 689 ); 690 690 ··· 717 717 }, 718 718 TouchEventType::Up | TouchEventType::Cancel => { 719 719 active_touch_points.swap_remove(index); 720 - @@ -1264,6 +1756,17 @@ 720 + @@ -1273,6 +1765,17 @@ 721 721 // <https://html.spec.whatwg.org/multipage/#selector-active> 722 722 // If the element is being actively pointed at the element is being activated. 723 723 self.element_for_activation(element).set_active_state(false); ··· 735 735 }, 736 736 TouchEventType::Down => unreachable!("Should have been handled above"), 737 737 } 738 - @@ -1307,6 +1810,19 @@ 738 + @@ -1316,6 +1819,19 @@ 739 739 ); 740 740 let event = touch_event.upcast::<Event>(); 741 741 event.fire(&touch_dispatch_target, can_gc); ··· 755 755 event.flags().into() 756 756 } 757 757 758 - @@ -1452,6 +1968,16 @@ 758 + @@ -1461,6 +1977,16 @@ 759 759 return Default::default(); 760 760 }; 761 761
+2 -2
patches/components/script/dom/servoparser/mod.rs.patch
··· 1 1 --- original 2 2 +++ modified 3 - @@ -1055,9 +1055,10 @@ 3 + @@ -1056,9 +1056,10 @@ 4 4 // Return the result of loading an XML document given navigationParams and type. 5 5 MediaType::Xml => self.load_xml_document(parser), 6 6 // Return the result of loading a text document given navigationParams and type. ··· 12 12 // Return the result of loading a media document given navigationParams and type. 13 13 MediaType::Image | MediaType::AudioVideo => { 14 14 self.load_media_document(parser, media_type, &mime_type, cx); 15 - @@ -1125,6 +1126,17 @@ 15 + @@ -1126,6 +1127,17 @@ 16 16 self.process_link_headers_in_media_phase_with_task(&parser.document); 17 17 } 18 18
+9 -9
patches/components/script/dom/window.rs.patch
··· 9 9 }; 10 10 use euclid::default::Rect as UntypedRect; 11 11 use euclid::{Point2D, Rect, Scale, Size2D, Vector2D}; 12 - @@ -1149,12 +1149,22 @@ 12 + @@ -1148,12 +1148,22 @@ 13 13 14 14 let (sender, receiver) = 15 15 ProfiledGenericChannel::channel(self.global().time_profiler_chan().clone()).unwrap(); ··· 33 33 receiver.recv().unwrap_or_else(|_| { 34 34 // If the receiver is closed, we assume the dialog was cancelled. 35 35 debug!("Alert dialog was cancelled or failed to show."); 36 - @@ -1182,13 +1192,22 @@ 36 + @@ -1181,13 +1191,22 @@ 37 37 // the user to respond with a positive or negative response. 38 38 let (sender, receiver) = 39 39 ProfiledGenericChannel::channel(self.global().time_profiler_chan().clone()).unwrap(); ··· 57 57 // Step 5: Let userPromptHandler be WebDriver BiDi user prompt opened with this, 58 58 // "confirm", and message. 59 59 // 60 - @@ -1233,6 +1252,7 @@ 60 + @@ -1232,6 +1251,7 @@ 61 61 // defaulted to the value given by default. 62 62 let (sender, receiver) = 63 63 ProfiledGenericChannel::channel(self.global().time_profiler_chan().clone()).unwrap(); ··· 65 65 let dialog = SimpleDialogRequest::Prompt { 66 66 id: self.Document().embedder_controls().next_control_id(), 67 67 message: message.to_string(), 68 - @@ -1239,8 +1259,16 @@ 68 + @@ -1238,8 +1258,16 @@ 69 69 default: default.to_string(), 70 70 response_sender: sender, 71 71 }; ··· 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 - @@ -1673,6 +1701,9 @@ 86 + @@ -1672,6 +1700,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 - @@ -3044,9 +3075,33 @@ 96 + @@ -3043,9 +3074,33 @@ 97 97 &self, 98 98 input_event: &ConstellationInputEvent, 99 99 ) -> Option<HitTestResult> { ··· 130 130 } 131 131 132 132 #[expect(unsafe_code)] 133 - @@ -3065,8 +3120,25 @@ 133 + @@ -3064,8 +3119,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 - @@ -3663,6 +3735,8 @@ 160 + @@ -3612,6 +3684,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 - @@ -3689,6 +3763,8 @@ 169 + @@ -3638,6 +3712,8 @@ 170 170 gpu_id_hub, 171 171 inherited_secure_context, 172 172 unminify_js,
+3 -3
patches/components/script/dom/windowproxy.rs.patch
··· 80 80 let referrer = if noreferrer { 81 81 Referrer::NoReferrer 82 82 } else { 83 - @@ -605,6 +623,7 @@ 83 + @@ -599,6 +617,7 @@ 84 84 &self, 85 85 name: DOMString, 86 86 noopener: bool, ··· 88 88 ) -> (Option<DomRoot<WindowProxy>>, bool) { 89 89 match name.to_lowercase().as_ref() { 90 90 "" | "_self" => { 91 - @@ -622,7 +641,10 @@ 91 + @@ -616,7 +635,10 @@ 92 92 // Step 5 93 93 (Some(DomRoot::from_ref(self.top())), false) 94 94 }, ··· 100 100 _ => { 101 101 // Step 6. 102 102 // TODO: expand the search to all 'familiar' bc, 103 - @@ -630,7 +652,10 @@ 103 + @@ -624,7 +646,10 @@ 104 104 // See https://html.spec.whatwg.org/multipage/#familiar-with 105 105 match ScriptThread::find_window_proxy_by_name(&name) { 106 106 Some(proxy) => (Some(proxy), false),
+1 -1
patches/components/script/links.rs.patch
··· 1 1 --- original 2 2 +++ modified 3 - @@ -435,7 +435,7 @@ 3 + @@ -434,7 +434,7 @@ 4 4 let source = document.browsing_context().unwrap(); 5 5 let (maybe_chosen, history_handling) = match target_attribute_value { 6 6 Some(name) => {
+1 -1
patches/components/script/messaging.rs.patch
··· 1 1 --- original 2 2 +++ modified 3 - @@ -108,6 +108,10 @@ 3 + @@ -109,6 +109,10 @@ 4 4 ScriptThreadMessage::UpdatePinchZoomInfos(id, _) => Some(*id), 5 5 ScriptThreadMessage::SetAccessibilityActive(..) => None, 6 6 ScriptThreadMessage::TriggerGarbageCollection => None,
+2 -2
patches/components/script/navigation.rs.patch
··· 1 1 --- original 2 2 +++ modified 3 - @@ -177,6 +177,10 @@ 3 + @@ -175,6 +175,10 @@ 4 4 /// The [`Theme`] to use for this page, once it loads. 5 5 #[no_trace] 6 6 pub(crate) theme: Theme, ··· 11 11 } 12 12 13 13 impl InProgressLoad { 14 - @@ -199,6 +203,8 @@ 14 + @@ -196,6 +200,8 @@ 15 15 url_list: vec![url], 16 16 user_content_manager_id: new_pipeline_info.user_content_manager_id, 17 17 theme: new_pipeline_info.theme,
+14 -14
patches/components/script/script_thread.rs.patch
··· 9 9 }; 10 10 use encoding_rs::Encoding; 11 11 use fonts::{FontContext, SystemFontServiceProxy}; 12 - @@ -82,15 +82,16 @@ 13 - use servo_base::cross_process_instant::CrossProcessInstant; 12 + @@ -83,15 +83,16 @@ 14 13 use servo_base::generic_channel; 14 + use servo_base::generic_channel::GenericSender; 15 15 use servo_base::id::{ 16 16 - BrowsingContextId, HistoryStateId, PipelineId, PipelineNamespace, ScriptEventLoopId, 17 17 - TEST_WEBVIEW_ID, WebViewId, ··· 31 31 }; 32 32 use servo_url::{ImmutableOrigin, MutableOrigin, OriginSnapshot, ServoUrl}; 33 33 use storage_traits::StorageThreads; 34 - @@ -114,6 +115,8 @@ 34 + @@ -115,6 +116,8 @@ 35 35 use crate::dom::bindings::codegen::Bindings::DocumentBinding::{ 36 36 DocumentMethods, DocumentReadyState, 37 37 }; ··· 40 40 use crate::dom::bindings::codegen::Bindings::NavigatorBinding::NavigatorMethods; 41 41 use crate::dom::bindings::codegen::Bindings::WindowBinding::WindowMethods; 42 42 use crate::dom::bindings::conversions::{ 43 - @@ -132,9 +135,13 @@ 43 + @@ -133,9 +136,13 @@ 44 44 RenderingUpdateReason, 45 45 }; 46 46 use crate::dom::element::Element; ··· 54 54 use crate::dom::servoparser::{ParserContext, ServoParser}; 55 55 use crate::dom::types::DebuggerGlobalScope; 56 56 #[cfg(feature = "webgpu")] 57 - @@ -1917,11 +1924,22 @@ 57 + @@ -1921,11 +1928,22 @@ 58 58 self.handle_refresh_cursor(pipeline_id); 59 59 }, 60 60 ScriptThreadMessage::PreferencesUpdated(updates) => { ··· 81 81 }, 82 82 ScriptThreadMessage::ForwardKeyboardScroll(pipeline_id, scroll) => { 83 83 if let Some(document) = self.documents.borrow().find_document(pipeline_id) { 84 - @@ -1962,6 +1980,35 @@ 84 + @@ -1966,6 +1984,35 @@ 85 85 ScriptThreadMessage::TriggerGarbageCollection => unsafe { 86 86 JS_GC(*GlobalScope::get_cx(), GCReason::API); 87 87 }, ··· 117 117 } 118 118 } 119 119 120 - @@ -3002,6 +3049,9 @@ 120 + @@ -3007,6 +3054,9 @@ 121 121 .documents 122 122 .borrow() 123 123 .find_iframe(parent_pipeline_id, browsing_context_id); ··· 127 127 if let Some(frame_element) = frame_element { 128 128 frame_element.update_pipeline_id(new_pipeline_id, reason, cx); 129 129 } 130 - @@ -3021,6 +3071,7 @@ 130 + @@ -3026,6 +3076,7 @@ 131 131 // is no need to pass along existing opener information that 132 132 // will be discarded. 133 133 None, ··· 135 135 ); 136 136 } 137 137 } 138 - @@ -3299,6 +3350,155 @@ 138 + @@ -3304,6 +3355,155 @@ 139 139 } 140 140 } 141 141 ··· 291 291 fn ask_constellation_for_top_level_info( 292 292 &self, 293 293 sender_webview_id: WebViewId, 294 - @@ -3412,7 +3612,13 @@ 294 + @@ -3422,7 +3622,13 @@ 295 295 self.senders.pipeline_to_embedder_sender.clone(), 296 296 self.senders.constellation_sender.clone(), 297 297 incomplete.pipeline_id, ··· 306 306 incomplete.viewport_details, 307 307 origin.clone(), 308 308 final_url.clone(), 309 - @@ -3434,6 +3640,8 @@ 309 + @@ -3444,6 +3650,8 @@ 310 310 #[cfg(feature = "webgpu")] 311 311 self.gpu_id_hub.clone(), 312 312 incomplete.load_data.inherited_secure_context, ··· 315 315 incomplete.theme, 316 316 self.this.clone(), 317 317 ); 318 - @@ -3457,6 +3665,7 @@ 318 + @@ -3467,6 +3675,7 @@ 319 319 incomplete.webview_id, 320 320 incomplete.parent_info, 321 321 incomplete.opener, ··· 323 323 ); 324 324 if window_proxy.parent().is_some() { 325 325 // https://html.spec.whatwg.org/multipage/#navigating-across-documents:delaying-load-events-mode-2 326 - @@ -4271,6 +4480,24 @@ 326 + @@ -4287,6 +4496,24 @@ 327 327 document.event_handler().handle_refresh_cursor(); 328 328 } 329 329 ··· 348 348 pub(crate) fn is_servo_privileged(url: ServoUrl) -> bool { 349 349 with_script_thread(|script_thread| script_thread.privileged_urls.contains(&url)) 350 350 } 351 - @@ -4315,7 +4542,7 @@ 351 + @@ -4331,7 +4558,7 @@ 352 352 can_gc: CanGc, 353 353 ) { 354 354 let Some(window) = self.documents.borrow().find_window(pipeline_id) else {
+5 -7
patches/components/script/timers.rs.patch
··· 16 16 /// <https://html.spec.whatwg.org/multipage/#run-steps-after-a-timeout> 17 17 RunStepsAfterTimeout { 18 18 /// Step 1. timerKey 19 - @@ -154,6 +156,9 @@ 20 - OneshotTimerCallback::RefreshRedirectDue(callback) => { 21 - callback.invoke(CanGc::from_cx(cx)) 22 - }, 23 - + OneshotTimerCallback::LongPressContextMenu(callback) => { 24 - + callback.invoke(CanGc::from_cx(cx)) 25 - + }, 19 + @@ -152,6 +154,7 @@ 20 + #[cfg(feature = "testbinding")] 21 + OneshotTimerCallback::TestBindingCallback(callback) => callback.invoke(), 22 + OneshotTimerCallback::RefreshRedirectDue(callback) => callback.invoke(cx), 23 + + OneshotTimerCallback::LongPressContextMenu(callback) => callback.invoke(cx), 26 24 OneshotTimerCallback::RunStepsAfterTimeout { completion, .. } => { 27 25 // <https://html.spec.whatwg.org/multipage/#run-steps-after-a-timeout> 28 26 // Step 4.4 Perform completionSteps.
+2 -2
patches/components/shared/constellation/from_script_message.rs.patch
··· 198 198 /// Indicates whether this pipeline is currently running animations. 199 199 ChangeRunningAnimationsState(AnimationState), 200 200 /// Requests that a new 2D canvas thread be created. (This is done in the constellation because 201 - @@ -671,6 +800,10 @@ 201 + @@ -673,6 +802,10 @@ 202 202 ScriptNewIFrame(IFrameLoadInfoWithData), 203 203 /// Script has opened a new auxiliary browsing context. 204 204 CreateAuxiliaryWebView(AuxiliaryWebViewCreationRequest), ··· 209 209 /// Mark a new document as active 210 210 ActivateDocument, 211 211 /// Set the document state for a pipeline (used by screenshot / reftests) 212 - @@ -720,6 +853,79 @@ 212 + @@ -722,6 +855,79 @@ 213 213 RespondToScreenshotReadinessRequest(ScreenshotReadinessResponse), 214 214 /// Request the constellation to force garbage collection in all `ScriptThread`'s. 215 215 TriggerGarbageCollection,
+1 -1
patches/components/shared/script/lib.rs.patch
··· 35 35 } 36 36 37 37 /// When a pipeline is closed, should its browsing context be discarded too? 38 - @@ -319,6 +327,24 @@ 38 + @@ -322,6 +330,24 @@ 39 39 SetAccessibilityActive(PipelineId, bool), 40 40 /// Force a garbage collection in this script thread. 41 41 TriggerGarbageCollection,