24 import Utilities.crypto |
24 import Utilities.crypto |
25 import Preferences |
25 import Preferences |
26 |
26 |
27 import WebBrowser.WebBrowserWindow |
27 import WebBrowser.WebBrowserWindow |
28 from ..Tools import Scripts |
28 from ..Tools import Scripts |
|
29 from ..WebBrowserPage import WebBrowserPage |
29 |
30 |
30 |
31 |
31 class PasswordManager(QObject): |
32 class PasswordManager(QObject): |
32 """ |
33 """ |
33 Class implementing the password manager. |
34 Class implementing the password manager. |
48 |
49 |
49 # setup userscript to monitor forms |
50 # setup userscript to monitor forms |
50 script = QWebEngineScript() |
51 script = QWebEngineScript() |
51 script.setName("_eric_passwordmonitor") |
52 script.setName("_eric_passwordmonitor") |
52 script.setInjectionPoint(QWebEngineScript.DocumentReady) |
53 script.setInjectionPoint(QWebEngineScript.DocumentReady) |
53 script.setWorldId(QWebEngineScript.MainWorld) |
54 script.setWorldId(WebBrowserPage.SafeJsWorld) |
54 script.setRunsOnSubFrames(True) |
55 script.setRunsOnSubFrames(True) |
55 script.setSourceCode(Scripts.setupFormObserver()) |
56 script.setSourceCode(Scripts.setupFormObserver()) |
56 profile = WebBrowser.WebBrowserWindow.WebBrowserWindow.webProfile() |
57 profile = WebBrowser.WebBrowserWindow.WebBrowserWindow.webProfile() |
57 profile.scripts().insert(script) |
58 profile.scripts().insert(script) |
58 |
59 |
368 return |
369 return |
369 |
370 |
370 postData = QByteArray(Utilities.crypto.pwConvert( |
371 postData = QByteArray(Utilities.crypto.pwConvert( |
371 form.postData, encode=False).encode("utf-8")) |
372 form.postData, encode=False).encode("utf-8")) |
372 script = Scripts.completeFormData(postData) |
373 script = Scripts.completeFormData(postData) |
373 page.runJavaScript(script) |
374 page.runJavaScript(script, WebBrowserPage.SafeJsWorld) |
374 |
375 |
375 def masterPasswordChanged(self, oldPassword, newPassword): |
376 def masterPasswordChanged(self, oldPassword, newPassword): |
376 """ |
377 """ |
377 Public slot to handle the change of the master password. |
378 Public slot to handle the change of the master password. |
378 |
379 |