From 80afac0233cc7aa6e2a7825635f6ca6b4aa6105d Mon Sep 17 00:00:00 2001 From: Elliott Brooks <21270878+elliette@users.noreply.github.com> Date: Fri, 24 May 2024 13:42:10 -0700 Subject: [PATCH] Register a restart handler directly over the VM service connection --- dwds/lib/src/dwds_vm_client.dart | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/dwds/lib/src/dwds_vm_client.dart b/dwds/lib/src/dwds_vm_client.dart index 1235ba6b3..b5a89f579 100644 --- a/dwds/lib/src/dwds_vm_client.dart +++ b/dwds/lib/src/dwds_vm_client.dart @@ -28,6 +28,7 @@ typedef VmResponse = Map; enum _NamespacedServiceExtension { extDwdsEmitEvent(method: 'ext.dwds.emitEvent'), + extDwdsRestart(method: 'ext.dwds.restart'), extDwdsScreenshot(method: 'ext.dwds.screenshot'), extDwdsSendEvent(method: 'ext.dwds.sendEvent'), flutterListViews(method: '_flutter.listViews'); @@ -193,6 +194,8 @@ class DwdsVmClient { response = await _flutterListViewsHandler(chromeProxyService); } else if (method == _NamespacedServiceExtension.extDwdsEmitEvent.method) { response = _extDwdsEmitEventHandler(request); + } else if (method == _NamespacedServiceExtension.extDwdsRestart.method) { + response = await _extDwdsRestartHandler(chromeProxyService); } else if (method == _NamespacedServiceExtension.extDwdsSendEvent.method) { response = await _extDwdsSendEventHandler(request, dwdsStats); } else if (method == _NamespacedServiceExtension.extDwdsScreenshot.method) { @@ -262,6 +265,13 @@ class DwdsVmClient { return {'result': Success().toJson()}; } + static Future> _extDwdsRestartHandler( + ChromeProxyService chromeProxyService, + ) async { + await _fullReload(chromeProxyService); + return {'result': Success().toJson()}; + } + static Future _registerServiceExtensions({ required VmService client, required ChromeProxyService chromeProxyService,