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
//! Read-side IME snapshot consumed by `WindowImeDelegate`, plus the deferred
//! mutation queue drained by `AppState` after dispatch unwinds.
use Range;
use ;
// ---------------------------------------------------------------------------
// CachedImeQuery (read-side snapshot for WindowImeDelegate)
// ---------------------------------------------------------------------------
/// Snapshot of the focused element's `ImeState` consumed by the platform
/// `WindowImeDelegate` query channel. Republished at deterministic points
/// (end of `dispatch_ime_preedit`, end of every paint); never traversed
/// directly by the OS query callbacks.
///
/// All fields are `None` when no element claims IME this frame.
// ---------------------------------------------------------------------------
// PendingImeOp (deferred mutation queue)
// ---------------------------------------------------------------------------
/// Deferred IME mutation queued during dispatch. Drained by `AppState` after
/// the per-element handler chain unwinds, BEFORE `pending_focus_op` so a
/// Tab-during-composition lands its synthetic commit on the still-focused
/// element.