Rewild Your Web
18
fork

Configure Feed

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

chore: update Servo to 627f2dfe7f5d9c1ce12e6b8bbfca46328313e2fd

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

webbeef f1a250dc 67847948

+70 -59
+1 -1
forkme.lock
··· 1 - db3daa43241106a78351ead49752bb0b8601c31a 1 + 627f2dfe7f5d9c1ce12e6b8bbfca46328313e2fd
+13 -15
patches/components/constellation/constellation.rs.patch
··· 376 376 }, 377 377 #[cfg(feature = "webgpu")] 378 378 ScriptToConstellationMessage::RequestAdapter(response_sender, options, ids) => self 379 - @@ -2045,9 +2190,412 @@ 379 + @@ -2045,6 +2190,409 @@ 380 380 let _ = event_loop.send(ScriptThreadMessage::TriggerGarbageCollection); 381 381 } 382 382 }, ··· 611 611 + ScriptToConstellationMessage::AtProto(request, response) => { 612 612 + self.at_proto.process_request(request, response); 613 613 + }, 614 - } 615 - } 616 - 614 + + } 615 + + } 616 + + 617 617 + fn handle_pairing_event(&mut self, event: PairingEvent) { 618 618 + if let PairingEvent::MessageReceived { ref from, ref data } = event { 619 619 + debug!("P2P message received from {from}, {} bytes", data.len()); ··· 783 783 + if self.embedder_error_listeners.contains(&event_loop.id()) { 784 784 + let _ = event_loop.send(ScriptThreadMessage::DispatchPairingEvent(event.clone())); 785 785 + } 786 - + } 787 - + } 788 - + 789 - /// Check the origin of a message against that of the pipeline it came from. 790 - /// Note: this is still limited as a security check, 791 - /// see <https://github.com/servo/servo/issues/11722> 786 + } 787 + } 788 + 792 789 @@ -2364,6 +2912,29 @@ 793 790 TransferState::TransferInProgress(queue) => queue.push_back(task), 794 791 TransferState::CompletionFailed(queue) => queue.push_back(task), ··· 819 816 } 820 817 } 821 818 822 - @@ -3243,6 +3814,13 @@ 819 + @@ -3249,6 +3820,13 @@ 823 820 /// <https://html.spec.whatwg.org/multipage/#destroy-a-top-level-traversable> 824 821 fn handle_close_top_level_browsing_context(&mut self, webview_id: WebViewId) { 825 822 debug!("{webview_id}: Closing"); ··· 833 830 let browsing_context_id = BrowsingContextId::from(webview_id); 834 831 // Step 5. Remove traversable from the user agent's top-level traversable set. 835 832 let browsing_context = 836 - @@ -3519,8 +4097,27 @@ 833 + @@ -3525,8 +4103,27 @@ 837 834 opener_webview_id, 838 835 opener_pipeline_id, 839 836 response_sender, ··· 861 858 let Some((webview_id_sender, webview_id_receiver)) = generic_channel::channel() else { 862 859 warn!("Failed to create channel"); 863 860 let _ = response_sender.send(None); 864 - @@ -3619,6 +4216,396 @@ 861 + @@ -3626,6 +4223,397 @@ 865 862 }); 866 863 } 867 864 ··· 1158 1155 + self.webviews.insert( 1159 1156 + new_webview_id, 1160 1157 + ConstellationWebView::new( 1158 + + &self.embedder_proxy, 1161 1159 + new_webview_id, 1162 1160 + new_pipeline_id, 1163 1161 + new_browsing_context_id, ··· 1258 1256 #[servo_tracing::instrument(skip_all)] 1259 1257 fn handle_refresh_cursor(&self, pipeline_id: PipelineId) { 1260 1258 let Some(pipeline) = self.pipelines.get(&pipeline_id) else { 1261 - @@ -4744,7 +5731,7 @@ 1259 + @@ -4752,7 +5740,7 @@ 1262 1260 } 1263 1261 1264 1262 #[servo_tracing::instrument(skip_all)] ··· 1267 1265 // Send a flat projection of the history to embedder. 1268 1266 // The final vector is a concatenation of the URLs of the past 1269 1267 // entries, the current entry and the future entries. 1270 - @@ -4847,9 +5834,23 @@ 1268 + @@ -4855,9 +5843,23 @@ 1271 1269 ); 1272 1270 self.embedder_proxy.send(EmbedderMsg::HistoryChanged( 1273 1271 webview_id,
+7 -7
patches/components/constellation/constellation_webview.rs.patch
··· 12 12 } 13 13 14 14 impl ConstellationWebView { 15 - @@ -65,6 +70,22 @@ 16 - focused_browsing_context_id: BrowsingContextId, 17 - user_content_manager_id: Option<UserContentManagerId>, 18 - ) -> Self { 15 + @@ -71,6 +76,22 @@ 16 + active_top_level_pipeline_id.into(), 17 + )); 18 + 19 19 + Self::new_with_hide_focus( 20 20 + webview_id, 21 21 + active_top_level_pipeline_id, ··· 35 35 Self { 36 36 webview_id, 37 37 user_content_manager_id, 38 - @@ -75,6 +96,7 @@ 38 + @@ -81,6 +102,7 @@ 39 39 session_history: JointSessionHistory::new(), 40 40 theme: Theme::Light, 41 41 accessibility_active: false, ··· 43 43 } 44 44 } 45 45 46 - @@ -94,12 +116,41 @@ 46 + @@ -100,12 +122,41 @@ 47 47 event: &ConstellationInputEvent, 48 48 browsing_contexts: &FxHashMap<BrowsingContextId, BrowsingContext>, 49 49 ) -> Option<PipelineId> { ··· 87 87 let browsing_context_id = if matches!(event.event.event, InputEvent::MouseLeftViewport(_)) { 88 88 self.hovered_browsing_context_id 89 89 .unwrap_or(self.focused_browsing_context_id) 90 - @@ -169,11 +220,9 @@ 90 + @@ -175,11 +226,9 @@ 91 91 92 92 if let InputEvent::MouseMove(_) = &event.event.event { 93 93 update_hovered_browsing_context(Some(pipeline.browsing_context_id), true);
+13
patches/components/net/image_cache.rs.patch
··· 1 + --- original 2 + +++ modified 3 + @@ -560,7 +560,9 @@ 4 + self.key_cache.cache = KeyCacheState::PendingBatch 5 + } 6 + } else { 7 + - unreachable!("A batch was received while we didn't request one") 8 + + // warn instead of crashing. 9 + + // TODO: figure out the root cause... 10 + + warn!("A batch was received while we didn't request one") 11 + } 12 + } 13 +
+1 -1
patches/components/script/dom/debugger/debuggerglobalscope.rs.patch
··· 1 1 --- original 2 2 +++ modified 3 - @@ -109,9 +109,11 @@ 3 + @@ -112,9 +112,11 @@ 4 4 None, 5 5 #[cfg(feature = "webgpu")] 6 6 gpu_id_hub,
+1 -1
patches/components/script/dom/html/htmlformelement.rs.patch
··· 1 1 --- original 2 2 +++ modified 3 - @@ -869,7 +869,7 @@ 3 + @@ -870,7 +870,7 @@ 4 4 // form's node navigable, and noopener. 5 5 let source = doc.browsing_context().unwrap(); 6 6 let (maybe_chosen, _new) =
+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 - @@ -882,6 +894,11 @@ 39 + @@ -887,6 +899,11 @@ 40 40 for (request, resource_type) in pending_requests { 41 41 self.fetch_and_show_when_ready(request, resource_type); 42 42 }
+1 -1
patches/components/script/dom/workers/workerglobalscope.rs.patch
··· 1 1 --- original 2 2 +++ modified 3 - @@ -348,6 +348,8 @@ 3 + @@ -353,6 +353,8 @@ 4 4 gpu_id_hub, 5 5 init.inherited_secure_context, 6 6 init.unminify_js,
+2 -2
patches/components/script/script_thread.rs.patch
··· 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 - @@ -4324,6 +4533,24 @@ 326 + @@ -4331,6 +4540,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 - @@ -4368,7 +4595,7 @@ 351 + @@ -4375,7 +4602,7 @@ 352 352 can_gc: CanGc, 353 353 ) { 354 354 let Some(window) = self.documents.borrow().find_window(pipeline_id) else {
+5 -5
patches/components/servo/servo.rs.patch
··· 93 93 }, 94 94 EmbedderMsg::RequestDevtoolsConnection(response_sender) => { 95 95 self.delegate 96 - @@ -724,6 +754,47 @@ 96 + @@ -729,6 +759,47 @@ 97 97 .notify_accessibility_tree_update(webview, tree_update); 98 98 } 99 99 }, ··· 141 141 } 142 142 } 143 143 } 144 - @@ -862,6 +933,7 @@ 144 + @@ -867,6 +938,7 @@ 145 145 async_runtime, 146 146 public_storage_threads.clone(), 147 147 private_storage_threads.clone(), ··· 149 149 ); 150 150 151 151 if opts::get().multiprocess { 152 - @@ -958,6 +1030,14 @@ 152 + @@ -963,6 +1035,14 @@ 153 153 self.0.site_data_manager.borrow() 154 154 } 155 155 ··· 164 164 pub(crate) fn paint<'a>(&'a self) -> Ref<'a, Paint> { 165 165 self.0.paint.borrow() 166 166 } 167 - @@ -1059,6 +1139,7 @@ 167 + @@ -1064,6 +1144,7 @@ 168 168 async_runtime: Box<dyn net_traits::AsyncRuntime>, 169 169 public_storage_threads: StorageThreads, 170 170 private_storage_threads: StorageThreads, ··· 172 172 ) { 173 173 // Global configuration options, parsed from the command line. 174 174 let opts = opts::get(); 175 - @@ -1100,6 +1181,7 @@ 175 + @@ -1105,6 +1186,7 @@ 176 176 wgpu_image_map: paint.webgpu_image_map(), 177 177 async_runtime, 178 178 privileged_urls,
+3 -3
patches/components/servo/webview.rs.patch
··· 1 1 --- original 2 2 +++ modified 3 - @@ -228,6 +228,18 @@ 3 + @@ -235,6 +235,18 @@ 4 4 self.delegate().request_create_new(self.clone(), request); 5 5 } 6 6 ··· 19 19 pub(crate) fn viewport_details(&self) -> ViewportDetails { 20 20 // The division by 1 represents the page's default zoom of 100%, 21 21 // and gives us the appropriate CSSPixel type for the viewport. 22 - @@ -237,6 +249,7 @@ 22 + @@ -244,6 +256,7 @@ 23 23 ViewportDetails { 24 24 size: scaled_viewport_size / Scale::new(1.0), 25 25 hidpi_scale_factor: Scale::new(inner.hidpi_scale_factor.0), ··· 27 27 } 28 28 } 29 29 30 - @@ -761,6 +774,11 @@ 30 + @@ -768,6 +781,11 @@ 31 31 EmbedderControlRequest::FilePicker { .. } => { 32 32 unreachable!("This message should be routed through the FileManagerThread") 33 33 },
+7 -7
patches/components/shared/constellation/from_script_message.rs.patch
··· 30 30 }; 31 31 32 32 pub type ScriptToConstellationSender = 33 - @@ -397,11 +400,14 @@ 33 + @@ -401,11 +404,14 @@ 34 34 pub opener_webview_id: WebViewId, 35 35 /// The pipeline opener browsing context. 36 36 pub opener_pipeline_id: PipelineId, ··· 47 47 #[derive(Debug, Deserialize, Serialize)] 48 48 pub struct AuxiliaryWebViewCreationResponse { 49 49 /// The new webview ID. 50 - @@ -412,6 +418,38 @@ 50 + @@ -416,6 +422,38 @@ 51 51 pub user_content_manager_id: Option<UserContentManagerId>, 52 52 } 53 53 ··· 86 86 /// Specifies the information required to load an iframe. 87 87 #[derive(Debug, Deserialize, Serialize)] 88 88 pub struct IFrameLoadInfo { 89 - @@ -531,6 +569,90 @@ 89 + @@ -535,6 +573,90 @@ 90 90 NoLongerActive, 91 91 } 92 92 ··· 177 177 /// Messages from the script to the constellation. 178 178 #[derive(Deserialize, IntoStaticStr, Serialize)] 179 179 pub enum ScriptToConstellationMessage { 180 - @@ -575,6 +697,10 @@ 180 + @@ -579,6 +701,10 @@ 181 181 NewBroadcastChannelNameInRouter(BroadcastChannelRouterId, String, ImmutableOrigin), 182 182 /// A global stopped managing broadcast channels for a given channel-name. 183 183 RemoveBroadcastChannelNameInRouter(BroadcastChannelRouterId, String, ImmutableOrigin), ··· 188 188 /// Broadcast a message to all same-origin broadcast channels, 189 189 /// excluding the source of the broadcast. 190 190 ScheduleBroadcast(BroadcastChannelRouterId, BroadcastChannelMsg), 191 - @@ -587,6 +713,9 @@ 191 + @@ -591,6 +717,9 @@ 192 192 Option<String>, 193 193 Option<String>, 194 194 ), ··· 198 198 /// Indicates whether this pipeline is currently running animations. 199 199 ChangeRunningAnimationsState(AnimationState), 200 200 /// Requests that a new 2D canvas thread be created. (This is done in the constellation because 201 - @@ -667,6 +796,10 @@ 201 + @@ -671,6 +800,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 - @@ -716,6 +849,79 @@ 212 + @@ -720,6 +853,79 @@ 213 213 RespondToScreenshotReadinessRequest(ScreenshotReadinessResponse), 214 214 /// Request the constellation to force garbage collection in all `ScriptThread`'s. 215 215 TriggerGarbageCollection,
+3 -3
patches/components/shared/embedder/input_events.rs.patch
··· 1 1 --- original 2 2 +++ modified 3 - @@ -67,6 +67,17 @@ 3 + @@ -69,6 +69,17 @@ 4 4 pub id: InputEventId, 5 5 } 6 6 ··· 18 18 impl From<InputEvent> for InputEventAndId { 19 19 fn from(event: InputEvent) -> Self { 20 20 Self { 21 - @@ -99,6 +110,31 @@ 21 + @@ -101,6 +112,31 @@ 22 22 InputEvent::Wheel(event) => Some(event.point), 23 23 } 24 24 } ··· 50 50 } 51 51 52 52 #[derive(Clone, Debug, Default, Deserialize, Serialize)] 53 - @@ -233,7 +269,7 @@ 53 + @@ -240,7 +276,7 @@ 54 54 } 55 55 56 56 /// The type of input represented by a multi-touch event.
+12 -12
patches/components/shared/embedder/lib.rs.patch
··· 1 1 --- original 2 2 +++ modified 3 - @@ -32,7 +32,8 @@ 3 + @@ -33,7 +33,8 @@ 4 4 use servo_base::generic_channel::{ 5 5 GenericCallback, GenericSender, GenericSharedMemory, SendResult, 6 6 }; ··· 10 10 use servo_geometry::{DeviceIndependentIntRect, DeviceIndependentIntSize}; 11 11 use servo_url::ServoUrl; 12 12 use strum::{EnumMessage, IntoStaticStr}; 13 - @@ -67,6 +68,31 @@ 13 + @@ -68,6 +69,31 @@ 14 14 Self::Page(point) => *point * scale, 15 15 } 16 16 } ··· 42 42 } 43 43 44 44 impl From<DevicePoint> for WebViewPoint { 45 - @@ -319,9 +345,16 @@ 45 + @@ -320,9 +346,16 @@ 46 46 /// The size of the layout viewport. 47 47 pub size: Size2D<f32, CSSPixel>, 48 48 ··· 61 61 } 62 62 63 63 impl ViewportDetails { 64 - @@ -341,7 +374,7 @@ 64 + @@ -342,7 +375,7 @@ 65 65 } 66 66 67 67 /// An opaque identifier for a single history traversal operation. ··· 70 70 pub struct TraversalId(String); 71 71 72 72 impl TraversalId { 73 - @@ -351,6 +384,12 @@ 73 + @@ -352,6 +385,12 @@ 74 74 } 75 75 } 76 76 ··· 83 83 #[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, PartialEq, Serialize, MallocSizeOf)] 84 84 pub enum PixelFormat { 85 85 /// Luminance channel only 86 - @@ -430,6 +469,12 @@ 86 + @@ -431,6 +470,12 @@ 87 87 pub name: String, 88 88 } 89 89 ··· 96 96 /// Messages towards the embedder. 97 97 #[derive(Deserialize, IntoStaticStr, Serialize)] 98 98 pub enum EmbedderMsg { 99 - @@ -455,6 +500,21 @@ 99 + @@ -456,6 +501,21 @@ 100 100 ), 101 101 /// Whether or not to allow script to open a new tab/browser 102 102 AllowOpeningWebView(WebViewId, GenericSender<Option<NewWebViewDetails>>), ··· 118 118 /// A webview was destroyed. 119 119 WebViewClosed(WebViewId), 120 120 /// A webview potentially gained focus for keyboard events. 121 - @@ -540,6 +600,24 @@ 122 - InputEventsHandled(WebViewId, Vec<InputEventOutcome>), 121 + @@ -544,6 +604,24 @@ 122 + AccessibilityTreeIdChanged(WebViewId, TreeId), 123 123 /// Send the embedder an accessibility tree update. 124 - AccessibilityTreeUpdate(WebViewId, accesskit::TreeUpdate), 124 + AccessibilityTreeUpdate(WebViewId, TreeUpdate), 125 125 + /// Request from web content (via `navigator.embedder.openNewOSWindow()`) to open a new 126 126 + /// OS-level window with the given URL and features. 127 127 + OpenNewOSWindow(NewOSWindowParams), ··· 143 143 } 144 144 145 145 impl Debug for EmbedderMsg { 146 - @@ -1096,6 +1174,54 @@ 146 + @@ -1100,6 +1178,54 @@ 147 147 WebViewDoesNotExist, 148 148 } 149 149 ··· 198 198 #[derive(Clone, Copy, Debug, Deserialize, Serialize)] 199 199 pub struct RgbColor { 200 200 pub red: u8, 201 - @@ -1142,3 +1268,26 @@ 201 + @@ -1146,3 +1272,26 @@ 202 202 pub viewport_details: ViewportDetails, 203 203 pub user_content_manager_id: Option<UserContentManagerId>, 204 204 }