From 6f8f4589548005e686071e1fd656dda521506f19 Mon Sep 17 00:00:00 2001 From: Jackson Gardner Date: Tue, 16 Apr 2024 13:04:47 -0700 Subject: [PATCH 1/2] Migrate to new bootstrapping methods. --- .../devtools_app/web/flutter_bootstrap.js | 46 ++++++++++++ packages/devtools_app/web/index.html | 72 +------------------ 2 files changed, 47 insertions(+), 71 deletions(-) create mode 100644 packages/devtools_app/web/flutter_bootstrap.js diff --git a/packages/devtools_app/web/flutter_bootstrap.js b/packages/devtools_app/web/flutter_bootstrap.js new file mode 100644 index 00000000000..85ddc9e6853 --- /dev/null +++ b/packages/devtools_app/web/flutter_bootstrap.js @@ -0,0 +1,46 @@ +{{flutter_js}} +{{flutter_build_config}} + +// Unregister the old custom DevTools service worker (if it exists). It was +// removed in: https://github.com/flutter/devtools/pull/5331 +function unregisterDevToolsServiceWorker() { + if ('serviceWorker' in navigator) { + const DEVTOOLS_SW = 'service_worker.js'; + const FLUTTER_SW = 'flutter_service_worker.js'; + navigator.serviceWorker.getRegistrations().then(function(registrations) { + for (let registration of registrations) { + const activeWorker = registration.active; + if (activeWorker != null) { + const url = activeWorker.scriptURL; + if (url.includes(DEVTOOLS_SW) && !url.includes(FLUTTER_SW)) { + registration.unregister(); + } + } + } + }); + } +} + +// Bootstrap app for 3P environments: +function bootstrapAppFor3P() { + _flutter.loader.load({ + serviceWorkerSettings: { + serviceWorkerVersion: {{flutter_service_worker_version}}, + }, + config: { + canvasKitBaseUrl: 'canvaskit/' + } + }); +} + +// Bootstrap app for 1P environments: +function bootstrapAppFor1P() { + _flutter.loader.load({ + config: { + canvasKitBaseUrl: 'canvaskit/' + } + }); +} + +unregisterDevToolsServiceWorker(); +bootstrapAppFor3P(); diff --git a/packages/devtools_app/web/index.html b/packages/devtools_app/web/index.html index 1d22daece3a..751de90acc6 100644 --- a/packages/devtools_app/web/index.html +++ b/packages/devtools_app/web/index.html @@ -50,83 +50,13 @@ } - - - - - - + From 96199d123f69cff5c602a703aafd273b2a58dffb Mon Sep 17 00:00:00 2001 From: Jackson Gardner Date: Tue, 16 Apr 2024 13:29:01 -0700 Subject: [PATCH 2/2] Don't use local canvaskit URL in 1p bootstrap. --- packages/devtools_app/web/flutter_bootstrap.js | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/packages/devtools_app/web/flutter_bootstrap.js b/packages/devtools_app/web/flutter_bootstrap.js index 85ddc9e6853..bcb75f5cb1a 100644 --- a/packages/devtools_app/web/flutter_bootstrap.js +++ b/packages/devtools_app/web/flutter_bootstrap.js @@ -35,11 +35,7 @@ function bootstrapAppFor3P() { // Bootstrap app for 1P environments: function bootstrapAppFor1P() { - _flutter.loader.load({ - config: { - canvasKitBaseUrl: 'canvaskit/' - } - }); + _flutter.loader.load(); } unregisterDevToolsServiceWorker();