( composition: WindowCompositionFunction, events: CompositorEventController, windowId: string, snapshot: WaylandWindowSnapshot, event: RuntimeWindowActivateRequestEvent, )
| 2981 | events.emitOpen(entry.cache.window); |
| 2982 | } |
| 2983 | events.emitFocus(entry.cache.window, snapshot.isFocused); |
| 2984 | if (!firstCommittedWindowIds.has(snapshot.id)) { |
| 2985 | firstCommittedWindowIds.add(snapshot.id); |
| 2986 | debugSSD("runtime-emit-first-commit", { |
| 2987 | windowId: snapshot.id, |
| 2988 | phase: "evaluate-new-cache", |
| 2989 | }); |
| 2990 | events.emitFirstCommit(entry.cache.window); |
| 2991 | } |
| 2992 | dirtyWindowIds.delete(snapshot.id); |
| 2993 | const dirtyNodeIds = takeDirtyCompositionNodeIds( |
| 2994 | snapshot.id, |
| 2995 | entry.cache, |
| 2996 | ); |
| 2997 | debugSSD("runtime-evaluate-new-cache-reevaluate", { |
| 2998 | windowId: snapshot.id, |
| 2999 | dirtyNodeIds, |
| 3000 | }); |
| 3001 | return { |
| 3002 | serialized: entry.cache.reevaluate(dirtyNodeIds).serialized, |
| 3003 | windowEffects: evaluateWindowEffects(effectConfig, snapshot.id, entry), |
| 3004 | }; |
| 3005 | } |
| 3006 | |
| 3007 | const wasPreconfigured = existing.preconfigured; |
| 3008 | if (wasPreconfigured) { |
| 3009 | debugSSD("runtime-evaluate-preconfigured-to-render", { |
| 3010 | nowMs, |
| 3011 | snapshot: snapshotForDebug(snapshot), |
| 3012 | }); |
| 3013 | existing.preconfigured = false; |
| 3014 | reanchorAnimationEntries(existing.animationEntries, nowMs); |
no test coverage detected