fix(context-menu): resolve direct CEF callback completion
- commit
- 6cb48b91ebeeb2ed61d254727725bed9251aa267
- author
- brice · · 2026-04-14 12:22 UTC
- parent
- 4d39f29
- signature
- GPG Verified
CD88F9E564E0102646FB6077A1A07C7C7C3E349D· arch-gpg Verified for the committer email
2 files · +5 -2
M internal/infrastructure/cef/context_menu.go +1 -0
| @@ -178,6 +178,7 @@ func dispatchContextMenuSelection( | |||
| 178 | 178 | return | |
| 179 | 179 | } | |
| 180 | 180 | log.Debug().Str("action", string(item.Action)).Msg("cef: context menu action executed directly") | |
| 181 | + | callback.Cont(0, 0) | |
| 181 | 182 | return | |
| 182 | 183 | } | |
| 183 | 184 | if cmdID, ok := commandIDByAction[item.Action]; ok { | |
| @@ -178,6 +178,7 @@ func dispatchContextMenuSelection( | |||||
| 178 | return | 178 | return | ||
| 179 | } | 179 | } | ||
| 180 | log.Debug().Str("action", string(item.Action)).Msg("cef: context menu action executed directly") | 180 | log.Debug().Str("action", string(item.Action)).Msg("cef: context menu action executed directly") | ||
| 181 | + | callback.Cont(0, 0) | |||
| 181 | return | 182 | return | ||
| 182 | } | 183 | } | ||
| 183 | if cmdID, ok := commandIDByAction[item.Action]; ok { | 184 | if cmdID, ok := commandIDByAction[item.Action]; ok { | ||
M internal/infrastructure/cef/context_menu_adapter_test.go +4 -2
| @@ -141,7 +141,8 @@ func TestContextMenuSelectionExecutesDirectActionWhenExecutorAvailable(t *testin | |||
| 141 | 141 | require.Equal(t, 1, executor.executeCalls) | |
| 142 | 142 | require.Equal(t, port.MenuActionReload, executor.action) | |
| 143 | 143 | require.Equal(t, menuContext, executor.menuContext) | |
| 144 | - | require.Zero(t, callback.contCalls) | |
| 144 | + | require.Equal(t, 1, callback.contCalls) | |
| 145 | + | require.Zero(t, callback.commandID) | |
| 145 | 146 | require.Zero(t, callback.cancelCalls) | |
| 146 | 147 | } | |
| 147 | 148 | ||
| @@ -162,7 +163,8 @@ func TestContextMenuSelectionExecutesCopyImageDirectlyWhenExecutorAvailable(t *t | |||
| 162 | 163 | require.Equal(t, 1, executor.executeCalls) | |
| 163 | 164 | require.Equal(t, port.MenuActionCopyImage, executor.action) | |
| 164 | 165 | require.Equal(t, menuContext, executor.menuContext) | |
| 165 | - | require.Zero(t, callback.contCalls) | |
| 166 | + | require.Equal(t, 1, callback.contCalls) | |
| 167 | + | require.Zero(t, callback.commandID) | |
| 166 | 168 | require.Zero(t, callback.cancelCalls) | |
| 167 | 169 | } | |
| 168 | 170 | ||
| @@ -141,7 +141,8 @@ func TestContextMenuSelectionExecutesDirectActionWhenExecutorAvailable(t *testin | |||||
| 141 | require.Equal(t, 1, executor.executeCalls) | 141 | require.Equal(t, 1, executor.executeCalls) | ||
| 142 | require.Equal(t, port.MenuActionReload, executor.action) | 142 | require.Equal(t, port.MenuActionReload, executor.action) | ||
| 143 | require.Equal(t, menuContext, executor.menuContext) | 143 | require.Equal(t, menuContext, executor.menuContext) | ||
| 144 | - | require.Zero(t, callback.contCalls) | 144 | + | require.Equal(t, 1, callback.contCalls) |
| 145 | + | require.Zero(t, callback.commandID) | |||
| 145 | require.Zero(t, callback.cancelCalls) | 146 | require.Zero(t, callback.cancelCalls) | ||
| 146 | } | 147 | } | ||
| 147 | 148 | ||||
| @@ -162,7 +163,8 @@ func TestContextMenuSelectionExecutesCopyImageDirectlyWhenExecutorAvailable(t *t | |||||
| 162 | require.Equal(t, 1, executor.executeCalls) | 163 | require.Equal(t, 1, executor.executeCalls) | ||
| 163 | require.Equal(t, port.MenuActionCopyImage, executor.action) | 164 | require.Equal(t, port.MenuActionCopyImage, executor.action) | ||
| 164 | require.Equal(t, menuContext, executor.menuContext) | 165 | require.Equal(t, menuContext, executor.menuContext) | ||
| 165 | - | require.Zero(t, callback.contCalls) | 166 | + | require.Equal(t, 1, callback.contCalls) |
| 167 | + | require.Zero(t, callback.commandID) | |||
| 166 | require.Zero(t, callback.cancelCalls) | 168 | require.Zero(t, callback.cancelCalls) | ||
| 167 | } | 169 | } | ||
| 168 | 170 | ||||