@@ -154,6 +154,7 @@ fn send_user_message<T: UserEvent>(context: &Context<T>, message: Message<T>) ->
154154 & context. main_thread . window_target ,
155155 message,
156156 UserMessageContext {
157+ webview_id_map : context. webview_id_map . clone ( ) ,
157158 window_event_listeners : & context. window_event_listeners ,
158159 global_shortcut_manager : context. main_thread . global_shortcut_manager . clone ( ) ,
159160 clipboard_manager : context. main_thread . clipboard_manager . clone ( ) ,
@@ -2105,6 +2106,7 @@ pub struct EventLoopIterationContext<'a, T: UserEvent> {
21052106}
21062107
21072108struct UserMessageContext < ' a > {
2109+ webview_id_map : WebviewIdStore ,
21082110 window_event_listeners : & ' a WindowEventListeners ,
21092111 global_shortcut_manager : Arc < Mutex < WryShortcutManager > > ,
21102112 clipboard_manager : Arc < Mutex < Clipboard > > ,
@@ -2121,6 +2123,7 @@ fn handle_user_message<T: UserEvent>(
21212123 web_context : & WebContextStore ,
21222124) -> RunIteration {
21232125 let UserMessageContext {
2126+ webview_id_map,
21242127 window_event_listeners,
21252128 menu_event_listeners,
21262129 global_shortcut_manager,
@@ -2368,6 +2371,8 @@ fn handle_user_message<T: UserEvent>(
23682371 . unwrap ( )
23692372 . insert ( window_id, WindowMenuEventListeners :: default ( ) ) ;
23702373
2374+ webview_id_map. insert ( window. id ( ) , window_id) ;
2375+
23712376 let w = Arc :: new ( window) ;
23722377
23732378 windows. lock ( ) . expect ( "poisoned webview collection" ) . insert (
@@ -2698,6 +2703,7 @@ fn handle_event_loop<T: UserEvent>(
26982703 event_loop,
26992704 message,
27002705 UserMessageContext {
2706+ webview_id_map,
27012707 window_event_listeners,
27022708 global_shortcut_manager,
27032709 clipboard_manager,
0 commit comments