Set Ready For Review
CQ dry run passed! Sending for review (automated via send_after_cq_dryrun.py).
| Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
| Code-Review | +1 |
Browser* browser_ptr = &browser();Why can't we pass this directly? The browser shouldn't be affected by the widget closing, no?
| Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
| Commit-Queue | +2 |
Browser* browser_ptr = &browser();Why can't we pass this directly? The browser shouldn't be affected by the widget closing, no?
We can, but I was concerned that closing the menu would destroy `this`, and then it is not safe to call `browser()` (UaF). In practice it seems that `CloseWithReason()` is in fact asynchronous, but I don't know if it's guaranteed to remain that way. To be extra sure I preferred copying the pointer on the stack.
| Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
[Views] Close profile menu prior to showing sync passphrase dialog
When the sync error button is clicked and a passphrase is needed, a
synchronous modal dialog is spawned. However, the profile menu bubble
Widget was not closed before launching it. On certain platforms like
Linux Wayland, this caused the profile menu to remain in focus or on
top, resulting in the passphrase dialog being uninteractible.
This change explicitly closes the profile menu widget first so that
the sync passphrase dialog can acquire the correct window focus.
TAG=agy
CONV=45a0a20c-3d44-4fb4-946a-a967172bb529
| Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |