@@ -14,7 +14,13 @@ const contentMethods = require('./contentMethods');
1414const TOP_FRAME_ID = 0 ;
1515
1616class TabManager extends EventEmitter {
17- constructor ( { runtime : browserRuntime , windows : browserWindows , tabs : browserTabs , webNavigation : browserWebNavigation } ) {
17+ constructor ( {
18+ runtime : browserRuntime ,
19+ windows : browserWindows ,
20+ tabs : browserTabs ,
21+ webNavigation : browserWebNavigation ,
22+ scriptApiVersion,
23+ } ) {
1824 super ( ) ;
1925 this . _attached = false ;
2026 this . browserRuntime = browserRuntime ;
@@ -30,6 +36,7 @@ class TabManager extends EventEmitter {
3036 context : 'runner-modules/tabs' ,
3137 onRpcInitialize : obj => this . handleRpcInitialize ( obj ) ,
3238 } ) ;
39+ this . scriptApiVersion = scriptApiVersion ;
3340 this . _navigationCommittedWait = new WaitForEvent ( ) ; // key is [browserTabId, browserFrameId]
3441
3542 this . handleTabCreated = this . handleTabCreated . bind ( this ) ;
@@ -142,7 +149,7 @@ class TabManager extends EventEmitter {
142149 }
143150 }
144151
145- handleTabMainContentInitialized ( browserTabId , browserFrameId ) {
152+ async handleTabMainContentInitialized ( browserTabId , browserFrameId ) {
146153 const tab = this . myTabs . getByBrowserTabId ( browserTabId ) ;
147154 const isMyTab = Boolean ( tab ) ;
148155 log . info ( { browserTabId, browserFrameId, isMyTab} , 'Main tab content script has been initialized' ) ;
@@ -157,6 +164,10 @@ class TabManager extends EventEmitter {
157164 this . myTabs . expectInitToken ( browserTabId , browserFrameId , 'tabs' ) ;
158165 const rpc = this . tabContentRPC . get ( browserTabId , browserFrameId ) ;
159166
167+ await rpc . call ( 'tabs.initializedMainTabContent' , {
168+ scriptApiVersion : this . scriptApiVersion ,
169+ } ) ;
170+
160171 const files = [ ] ;
161172 const executeContentScript = ( initToken , file ) => {
162173 log . debug ( { browserTabId, browserFrameId, initToken, file} , 'Executing content script for runner module' ) ;
0 commit comments