@@ -27,13 +27,6 @@ class LocalStorageCredentialsProvider implements ICredentialsProvider {
2727
2828 static readonly CREDENTIALS_OPENED_KEY = 'credentials.provider' ;
2929
30- constructor ( credentials : ICredential [ ] ) {
31- this . _credentials = credentials ;
32- for ( const { service, account, password } of this . _credentials ) {
33- this . setPassword ( service , account , password ) ;
34- }
35- }
36-
3730 private _credentials : ICredential [ ] | undefined ;
3831 private get credentials ( ) : ICredential [ ] {
3932 if ( ! this . _credentials ) {
@@ -437,16 +430,20 @@ class WindowIndicator implements IWindowIndicator {
437430 window . location . href = `${ window . location . origin } ?${ queryString } ` ;
438431 } ;
439432
440- // Find credentials from DOM
433+ // Credentials (with support of predefined ones via meta element)
434+ const credentialsProvider = new LocalStorageCredentialsProvider ( ) ;
435+
441436 const credentialsElement = document . getElementById ( 'vscode-workbench-credentials' ) ;
442437 const credentialsElementAttribute = credentialsElement ? credentialsElement . getAttribute ( 'data-settings' ) : undefined ;
443438 let credentials = undefined ;
444439 if ( credentialsElementAttribute ) {
445440 try {
446441 credentials = JSON . parse ( credentialsElementAttribute ) ;
442+ for ( const { service, account, password } of credentials ) {
443+ credentialsProvider . setPassword ( service , account , password ) ;
444+ }
447445 } catch ( error ) { /* Invalid credentials are passed. Ignore. */ }
448446 }
449- const credentialsProvider = new LocalStorageCredentialsProvider ( credentials || [ ] ) ;
450447
451448 // Finally create workbench
452449 create ( document . body , {
0 commit comments