@@ -171,11 +171,14 @@ module('Integration | Injection', function (hooks) {
171171 let contentChromeApi , inspectorChromeApi , backgroundChromeApi ;
172172 const olddefine = window . define ;
173173 const olddrequireModule = window . requireModule ;
174+ const oldEmber = window . Ember ;
174175
175176 let injected ;
177+ let EmberService = Service ;
176178
177179 async function inject ( owner , assert ) {
178180 if ( injected ) return ;
181+
179182 const backgroundScript = await ( await fetch ( '/background.js' ) ) . text ( ) ;
180183 {
181184 const chrome = backgroundChromeApi ;
@@ -208,6 +211,14 @@ module('Integration | Injection', function (hooks) {
208211
209212 window . chrome = inspectorChromeApi ;
210213
214+ owner . register ( 'service:port' , class extends EmberService { } ) ;
215+ owner . lookup ( 'service:adapters/web-extension' ) ;
216+ window . requireModule = null ;
217+ Object . defineProperty ( window , 'Ember' , {
218+ value : null ,
219+ writable : true ,
220+ } ) ;
221+
211222 const emberDebugStarted = new Promise ( ( resolve ) => {
212223 inspectorChromeApi . runtime . onMessage . addListener ( ( msg ) => {
213224 if ( msg . type === 'general:applicationBooted' ) {
@@ -223,8 +234,21 @@ module('Integration | Injection', function (hooks) {
223234 }
224235 } ) ;
225236 } ) ;
226- owner . register ( 'service:port' , class extends Service { } ) ;
227- owner . lookup ( 'service:adapters/web-extension' ) ;
237+
238+ // check that we do not have any errors
239+ await new Promise ( ( resolve , reject ) => {
240+ window . addEventListener ( 'error' , reject ) ;
241+ contentChromeApi . runtime . onMessage . addListener ( ( message ) => {
242+ if ( message ?. type === 'inject-ember-debug' ) {
243+ setTimeout ( resolve , 200 ) ;
244+ }
245+ } ) ;
246+ } ) ;
247+
248+ window . requireModule = olddrequireModule ;
249+ window . Ember = oldEmber ;
250+ window . dispatchEvent ( new Event ( 'Ember' ) ) ;
251+
228252 await p ;
229253 await emberDebugStarted ;
230254 injected = true ;
0 commit comments