Skip to content

Commit bd3ab2f

Browse files
author
Anna Gringauze
authored
Add screen field to DebuggerReady event (#1552)
* Add screen field to DebuggerReady event * Updated changelog * Report DebuggerReady event for embedded DevTools
1 parent 6381f97 commit bd3ab2f

File tree

5 files changed

+15
-7
lines changed

5 files changed

+15
-7
lines changed

dwds/CHANGELOG.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,8 @@
1414
- Update `vm_service` version to `^8.2.0`.
1515
- Migrate .packages to package_config.json.
1616
- Update error message on expression evaluation using unloaded libraries.
17+
- Add `screen` field to the `DebuggerReady` event.
18+
- Report `DebuggerReady` events for DevTools embedded into Chrome Devtools.
1719

1820
**Breaking changes:**
1921
- `Dwds.start` and `ExpressionCompilerService` now take

dwds/lib/src/dwds_vm_client.dart

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -151,21 +151,22 @@ void _processSendEvent(Map<String, dynamic> event,
151151
case 'DevtoolsEvent':
152152
{
153153
_logger.finest('Received DevTools event: $event');
154-
var action = payload == null ? null : payload['action'];
154+
var action = payload == null ? null : payload['action'] as String;
155+
var screen = payload == null ? null : payload['screen'] as String;
155156
if (action == 'pageReady') {
156157
if (dwdsStats.isFirstDebuggerReady) {
157158
if (dwdsStats.devToolsStart != null) {
158159
var time = DateTime.now()
159160
.difference(dwdsStats.devToolsStart)
160161
.inMilliseconds;
161-
emitEvent(DwdsEvent.devToolsLoad(time));
162+
emitEvent(DwdsEvent.devToolsLoad(time, screen));
162163
_logger.fine('DevTools load time: $time ms');
163164
}
164165
if (dwdsStats.debuggerStart != null) {
165166
var time = DateTime.now()
166167
.difference(dwdsStats.debuggerStart)
167168
.inMilliseconds;
168-
emitEvent(DwdsEvent.debuggerReady(time));
169+
emitEvent(DwdsEvent.debuggerReady(time, screen));
169170
_logger.fine('Debugger ready time: $time ms');
170171
}
171172
} else {

dwds/lib/src/events.dart

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -94,14 +94,16 @@ class DwdsEvent {
9494

9595
DwdsEvent.fullReload() : this(DwdsEventKind.fullReload, {});
9696

97-
DwdsEvent.debuggerReady(int elapsedMilliseconds)
97+
DwdsEvent.debuggerReady(int elapsedMilliseconds, String screen)
9898
: this(DwdsEventKind.debuggerReady, {
9999
'elapsedMilliseconds': elapsedMilliseconds,
100+
'screen': screen,
100101
});
101102

102-
DwdsEvent.devToolsLoad(int elapsedMilliseconds)
103+
DwdsEvent.devToolsLoad(int elapsedMilliseconds, String screen)
103104
: this(DwdsEventKind.devToolsLoad, {
104105
'elapsedMilliseconds': elapsedMilliseconds,
106+
'screen': screen,
105107
});
106108

107109
DwdsEvent.httpRequestException(String server, String exception)

dwds/lib/src/handlers/dev_handler.dart

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -530,6 +530,9 @@ class DevHandler {
530530
final appServices = _servicesByAppId[appId];
531531
final encodedUri = await appServices.debugService.encodedUri;
532532

533+
appServices.dwdsStats.updateLoadTime(
534+
debuggerStart: debuggerStart, devToolsStart: DateTime.now());
535+
533536
// If we only want the URI, this means we are embedding Dart DevTools in
534537
// Chrome DevTools. Therefore return early.
535538
if (devToolsRequest.uriOnly != null && devToolsRequest.uriOnly) {
@@ -544,8 +547,6 @@ class DevHandler {
544547
encodedUri,
545548
ideQueryParam: 'DebugExtension',
546549
);
547-
appServices.dwdsStats.updateLoadTime(
548-
debuggerStart: debuggerStart, devToolsStart: DateTime.now());
549550
await _launchDevTools(extensionDebugger, devToolsUri);
550551
});
551552
}

dwds/test/events_test.dart

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -136,9 +136,11 @@ void main() {
136136
[
137137
matchesEvent(DwdsEventKind.debuggerReady, {
138138
'elapsedMilliseconds': isNotNull,
139+
'screen': equals('debugger'),
139140
}),
140141
matchesEvent(DwdsEventKind.devToolsLoad, {
141142
'elapsedMilliseconds': isNotNull,
143+
'screen': equals('debugger'),
142144
}),
143145
],
144146
() => keyboard.sendChord([Keyboard.alt, 'd']),

0 commit comments

Comments
 (0)