| 292 | } |
| 293 | |
| 294 | void EmbeddedProcess::_update_embedded_process() { |
| 295 | if (!_is_embedded_process_updatable()) { |
| 296 | return; |
| 297 | } |
| 298 | |
| 299 | bool must_grab_focus = false; |
| 300 | bool focus = has_focus(); |
| 301 | if (last_updated_embedded_process_focused != focus) { |
| 302 | if (focus) { |
| 303 | must_grab_focus = true; |
| 304 | } |
| 305 | last_updated_embedded_process_focused = focus; |
| 306 | } |
| 307 | |
| 308 | DisplayServer::get_singleton()->embed_process(window->get_window_id(), current_process_id, get_screen_embedded_window_rect(), is_visible_in_tree(), must_grab_focus); |
| 309 | emit_signal(SNAME("embedded_process_updated")); |
| 310 | } |
| 311 | |
| 312 | void EmbeddedProcess::_timer_embedding_timeout() { |
| 313 | _try_embed_process(); |
nothing calls this directly
no test coverage detected