blob: 7b4e141e88e2d10ab9b27e516ebb17006b87ed0f (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
|
import RecommendationManager from "@js/Manager/RecommendationManager";
import MessageService from "@js/Services/MessageService";
import TabManager from "@js/Manager/TabManager";
import ErrorManager from "@js/Manager/ErrorManager";
import SettingsService from "@js/Services/SettingsService";
export default new class AutofillManager {
constructor() {
this._recommendationListener = (recommendations) => {
this._sendAutofillPassword(recommendations);
};
}
/**
*
*/
init() {
RecommendationManager.listen.on(this._recommendationListener);
}
/**
*
* @param {Password[]} recommendations
* @private
*/
async _sendAutofillPassword(recommendations) {
if(recommendations.length === 0 || await SettingsService.getValue('paste.autofill') === false) return;
let password = recommendations[0];
let ids = TabManager.get('autofill.ids', []);
if(ids.indexOf(password.getId()) === -1) {
ids.push(password.getId());
TabManager.set('autofill.ids', ids);
}
MessageService.send(
{
type : 'autofill.password',
receiver: 'client',
channel : 'tabs',
tab : TabManager.currentTabId,
silent : true,
payload : {
user : password.getUserName(),
password: password.getPassword(),
submit : false
}
}
).catch(ErrorManager.catchEvt);
}
};
|