File tree Expand file tree Collapse file tree 1 file changed +18
-2
lines changed Expand file tree Collapse file tree 1 file changed +18
-2
lines changed Original file line number Diff line number Diff line change @@ -38,6 +38,8 @@ export class StartupService {
38
38
return this . INSTANCE ;
39
39
}
40
40
41
+ private _initialized = false ;
42
+
41
43
/**
42
44
* For important initializations.
43
45
*/
@@ -48,12 +50,26 @@ export class StartupService {
48
50
*/
49
51
public readonly onStartup = new EventSink < browser . Runtime . OnInstalledDetailsType > ( ) ;
50
52
53
+ private callHandlers ( details : browser . Runtime . OnInstalledDetailsType ) {
54
+ if ( this . _initialized ) return ;
55
+ this . _initialized = true ;
56
+ this . onBeforeStartup . dispatch ( ) ;
57
+ this . onStartup . dispatch ( details ) ;
58
+ }
59
+
51
60
private constructor ( ) {
52
61
if ( extensionService . isBackgroundPage ( ) ) {
53
62
Asserts . assertTopLevel ( ) ;
54
63
browser . runtime . onInstalled . addListener ( ( details ) => {
55
- this . onBeforeStartup . dispatch ( ) ;
56
- this . onStartup . dispatch ( details ) ;
64
+ this . callHandlers ( details ) ;
65
+ } ) ;
66
+ browser . runtime . onStartup . addListener ( ( ) => {
67
+ const details : browser . Runtime . OnInstalledDetailsType = {
68
+ reason : 'install' ,
69
+ previousVersion : browser . runtime . getManifest ( ) . version ,
70
+ temporary : false ,
71
+ } ;
72
+ this . callHandlers ( details ) ;
57
73
} ) ;
58
74
}
59
75
}
You can’t perform that action at this time.
0 commit comments