@@ -24,8 +24,9 @@ const mainExtensionMarker = '/* MAIN_EXTENSION_MARKER */';
2424const _clientScript = 'dwds/src/injected/client' ;
2525
2626Handler Function (Handler ) createInjectedHandler (
27- ReloadConfiguration configuration,
28- ) =>
27+ ReloadConfiguration configuration,
28+ {String extensionHostname,
29+ int extensionPort}) =>
2930 (innerHandler) {
3031 return (Request request) async {
3132 if (request.url.path == '$_clientScript .js' ) {
@@ -66,7 +67,9 @@ Handler Function(Handler) createInjectedHandler(
6667 .replaceAll ('(' , '' )
6768 .replaceAll (')' , '' )
6869 .trim ();
69- body += _injectedClientJs (configuration, appId, mainFuntion);
70+ body += _injectedClientJs (configuration, appId, mainFuntion,
71+ extensionHostname: extensionHostname,
72+ extensionPort: extensionPort);
7073 body += bodyLines.sublist (extensionIndex + 2 ).join ('\n ' );
7174 // Change the hot restart handler to re-assign
7275 // `window.$dartRunMain` to the new main, instead of invoking it.
@@ -86,11 +89,20 @@ Handler Function(Handler) createInjectedHandler(
8689 };
8790
8891String _injectedClientJs (
89- ReloadConfiguration configuration, String appId, String mainFunction) =>
90- '''\n
91- // Injected by webdev for build results support.
92- window.\$ dartAppId = "$appId ";
93- window.\$ dartRunMain = $mainFunction ;
94- window.\$ dartReloadConfiguration = "$configuration ";
95- window.\$ dartLoader.forceLoadModule('$_clientScript ');
96- ''' ;
92+ ReloadConfiguration configuration, String appId, String mainFunction,
93+ {String extensionHostname, int extensionPort}) {
94+ var injectedBody = '''\n
95+ // Injected by webdev for build results support.
96+ window.\$ dartAppId = "$appId ";
97+ window.\$ dartRunMain = $mainFunction ;
98+ window.\$ dartReloadConfiguration = "$configuration ";
99+ window.\$ dartLoader.forceLoadModule('$_clientScript ');
100+ ''' ;
101+ if (extensionPort != null && extensionHostname != null ) {
102+ injectedBody += '''
103+ window.\$ extensionHostname = "$extensionHostname ";
104+ window.\$ extensionPort = "$extensionPort ";
105+ ''' ;
106+ }
107+ return injectedBody;
108+ }
0 commit comments