dart /
webdev /
3ab8fca3fa7907586aa09335cde24b5ba7948eb7 [DWDS] Don't send PauseInterrupted event during a hot reload (#2695)
Fixes https://github.com/dart-lang/sdk/issues/61560
We rely on a pause within a hot reload to pause execution so that we can reregister breakpoints. However, the existing pause mechanism always sends a PauseInterrupted event, which then triggers the client to think this is a normal pause event and not an internal detail. Instead, we should have the ChromeProxyService signal to the debugger that this is an "internal pause" and therefore it should not send a regular pause event and should use a completer to signal the pause is done.
Tests are refactored and updated to correctly check for the events when reregistering breakpoints. Specifically, it checks no other events besides the expected ones are sent.
6 files changed