1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
//! Multi-window seam probe (TODO 3.5): two headless `VirtualDom`s on one
//! thread stand in for two dioxus-desktop windows (which is exactly what
//! they are - desktop polls every window's vdom on the main thread).
//! Verifies the two load-bearing assumptions of the shared-world design:
//!
//! 1. A `Signal` created in window A's runtime, handed to window B via
//! `with_root_context`, re-renders B when A writes it.
//! 2. A `Callback` created in window B can be invoked from window A's
//! runtime context, and its signal writes still re-render B.
//!
//! What this cannot cover: the desktop waker actually waking a parked
//! window (verified by source reading of dioxus-desktop's tao proxy), and
//! anything webview/OS-level. Those stay in the display-session probe.
use NoOpMutations;
use *;
use RefCell;
thread_local!
/// Window A: owns the shared signal, parks a handle for the test to grab.
/// Window B: joins the signal it was handed through root context.
/// Window B for the callback test: exposes an `on_drop`-shaped callback
/// that writes one of B's own signals.