diff options
-rw-r--r-- | Readme.md | 6 | ||||
-rw-r--r-- | package-lock.json | 316 | ||||
-rw-r--r-- | package.json | 68 | ||||
-rw-r--r-- | src/js/Classes/Utility.js | 2 | ||||
-rw-r--r-- | src/js/background.js | 7 | ||||
-rw-r--r-- | src/js/client.js | 33 |
6 files changed, 256 insertions, 176 deletions
@@ -1,4 +1,4 @@ -This WebExtension is a client for the [Passwords app for Nextcloud](https://github.com/marius-wieschollek/passwords-legacy) fore Firefox and Chromium based browsers. +This WebExtension is a client for the [Passwords app for Nextcloud](https://github.com/marius-wieschollek/passwords-legacy) for Firefox and Chromium based browsers. #### Passwords always at hand By clicking on the "Passwords"-icon, you will be presented with the login data that matches the current website. The desired user account can easily be inserted into existing login forms with one click. Alternatively, you can also copy the password to the clipboard. @@ -12,6 +12,10 @@ If you are unable to find a user account, the practical search function is guara #### Firefox for Android The client for Nextcloud Passwords is optimized for mobile devices and also works with Firefox for Android. +### Downloads +* [Firefox Extension on AMO](https://addons.mozilla.org/de/firefox/addon/nextcloud-passwords/) +* [Chromium Builds Page](https://github.com/marius-wieschollek/passwords-webextension/wiki/chromium-builds). + ### Development See [contributing](Contributing.md). diff --git a/package-lock.json b/package-lock.json index 18568d3..1a30417 100644 --- a/package-lock.json +++ b/package-lock.json @@ -175,9 +175,9 @@ } }, "assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.2.0.tgz", + "integrity": "sha1-104bh+ev/A24qttwIfP+SBAasjQ=", "dev": true }, "async": { @@ -222,9 +222,9 @@ } }, "aws-sign2": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", - "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=", + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.6.0.tgz", + "integrity": "sha1-FDQt0428yU0OW4fXY81jYSwOeU8=", "dev": true }, "aws4": { @@ -300,12 +300,12 @@ "dev": true }, "boom": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/boom/-/boom-4.3.1.tgz", - "integrity": "sha1-T4owBctKfjiJ90kDD9JbluAdLjE=", + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz", + "integrity": "sha1-OciRjO/1eZ+D+UkqhI9iWt0Mdm8=", "dev": true, "requires": { - "hoek": "4.2.0" + "hoek": "2.16.3" } }, "brace-expansion": { @@ -508,9 +508,9 @@ "dev": true }, "caseless": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", - "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.11.0.tgz", + "integrity": "sha1-cVuW6phBWTzDMGeSP17GDr2k99c=", "dev": true }, "center-align": { @@ -886,23 +886,12 @@ } }, "cryptiles": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-3.1.2.tgz", - "integrity": "sha1-qJ+7Ig9c4l7FboxKqKT9e1sNKf4=", + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz", + "integrity": "sha1-O9/s3GCBR8HGcgL6KR59ylnqo7g=", "dev": true, "requires": { - "boom": "5.2.0" - }, - "dependencies": { - "boom": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/boom/-/boom-5.2.0.tgz", - "integrity": "sha512-Z5BTk6ZRe4tXXQlkqftmsAUANpXmuwlsF5Oov8ThoMbQRzdGTA1ngYRW160GexgOgjsFOKJz0LYhoNi+2AMBUw==", - "dev": true, - "requires": { - "hoek": "4.2.0" - } - } + "boom": "2.10.1" } }, "crypto-browserify": { @@ -1050,6 +1039,14 @@ "dev": true, "requires": { "assert-plus": "1.0.0" + }, + "dependencies": { + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "dev": true + } } }, "date-now": { @@ -1529,9 +1526,9 @@ "dev": true }, "form-data": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.1.tgz", - "integrity": "sha1-b7lPvXGIUwbXPRXMSX/kzE7NRL8=", + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.1.4.tgz", + "integrity": "sha1-M8GDrPGTJ27KqYFDpp6Uv+4XUNE=", "dev": true, "requires": { "asynckit": "0.4.0", @@ -1621,6 +1618,21 @@ "globule": "1.2.0" } }, + "generate-function": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/generate-function/-/generate-function-2.0.0.tgz", + "integrity": "sha1-aFj+fAlpt9TpCTM3ZHrHn2DfvnQ=", + "dev": true + }, + "generate-object-property": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/generate-object-property/-/generate-object-property-1.2.0.tgz", + "integrity": "sha1-nA4cQDCM6AT0eDYYuTf6iPmdUNA=", + "dev": true, + "requires": { + "is-property": "1.0.2" + } + }, "get-caller-file": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.2.tgz", @@ -1646,6 +1658,14 @@ "dev": true, "requires": { "assert-plus": "1.0.0" + }, + "dependencies": { + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "dev": true + } } }, "glob": { @@ -1698,20 +1718,16 @@ "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=", "dev": true }, - "har-schema": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", - "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", - "dev": true - }, "har-validator": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.0.3.tgz", - "integrity": "sha1-ukAsJmGU8VlW7xXg/PJCmT9qff0=", + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-2.0.6.tgz", + "integrity": "sha1-zcvAgYgmWtEZtqWnyKtw7s+10n0=", "dev": true, "requires": { - "ajv": "5.3.0", - "har-schema": "2.0.0" + "chalk": "1.1.3", + "commander": "2.11.0", + "is-my-json-valid": "2.16.1", + "pinkie-promise": "2.0.1" } }, "has": { @@ -1770,15 +1786,15 @@ } }, "hawk": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/hawk/-/hawk-6.0.2.tgz", - "integrity": "sha512-miowhl2+U7Qle4vdLqDdPt9m09K6yZhkLDTWGoUiUzrQCn+mHHSmfJgAyGaLRZbPmTqfFFjRV1QWCW0VWUJBbQ==", + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/hawk/-/hawk-3.1.3.tgz", + "integrity": "sha1-B4REvXwWQLD+VA0sm3PVlnjo4cQ=", "dev": true, "requires": { - "boom": "4.3.1", - "cryptiles": "3.1.2", - "hoek": "4.2.0", - "sntp": "2.1.0" + "boom": "2.10.1", + "cryptiles": "2.0.5", + "hoek": "2.16.3", + "sntp": "1.0.9" } }, "he": { @@ -1805,9 +1821,9 @@ } }, "hoek": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/hoek/-/hoek-4.2.0.tgz", - "integrity": "sha512-v0XCLxICi9nPfYrS9RL8HbYnXi9obYAeLbSP00BmnZwCK9+Ih9WOjoZ8YoHCoav2csqn4FOz4Orldsy2dmDwmQ==", + "version": "2.16.3", + "resolved": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz", + "integrity": "sha1-ILt0A9POo5jpHcRxCo/xuCdKJe0=", "dev": true }, "hosted-git-info": { @@ -1823,12 +1839,12 @@ "dev": true }, "http-signature": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", - "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.1.1.tgz", + "integrity": "sha1-33LiZwZs0Kxn+3at+OE0qPvPkb8=", "dev": true, "requires": { - "assert-plus": "1.0.0", + "assert-plus": "0.2.0", "jsprim": "1.4.1", "sshpk": "1.13.1" } @@ -2077,6 +2093,18 @@ "is-extglob": "1.0.0" } }, + "is-my-json-valid": { + "version": "2.16.1", + "resolved": "https://registry.npmjs.org/is-my-json-valid/-/is-my-json-valid-2.16.1.tgz", + "integrity": "sha512-ochPsqWS1WXj8ZnMIV0vnNXooaMhp7cyL4FMSIPKTtnV0Ha/T19G2b9kkhcNsabV9bxYkze7/aLZJb/bYuFduQ==", + "dev": true, + "requires": { + "generate-function": "2.0.0", + "generate-object-property": "1.2.0", + "jsonpointer": "4.0.1", + "xtend": "4.0.1" + } + }, "is-number": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz", @@ -2104,6 +2132,12 @@ "integrity": "sha1-IHurkWOEmcB7Kt8kCkGochADRXU=", "dev": true }, + "is-property": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-property/-/is-property-1.0.2.tgz", + "integrity": "sha1-V/4cTkhHTt1lsJkR8msc1Ald2oQ=", + "dev": true + }, "is-stream": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", @@ -2238,6 +2272,12 @@ "graceful-fs": "4.1.11" } }, + "jsonpointer": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-4.0.1.tgz", + "integrity": "sha1-T9kss04OnbPInIYi7PUfm5eMbLk=", + "dev": true + }, "jsprim": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", @@ -2248,6 +2288,14 @@ "extsprintf": "1.3.0", "json-schema": "0.2.3", "verror": "1.10.0" + }, + "dependencies": { + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "dev": true + } } }, "katex": { @@ -2735,7 +2783,7 @@ "flush-write-stream": "1.0.2", "from2": "2.3.0", "parallel-transform": "1.1.0", - "pump": "1.0.2", + "pump": "1.0.3", "pumpify": "1.3.5", "stream-each": "1.2.2", "through2": "2.0.3" @@ -2793,7 +2841,7 @@ "nopt": "3.0.6", "npmlog": "4.1.2", "osenv": "0.1.4", - "request": "2.83.0", + "request": "2.79.0", "rimraf": "2.6.2", "semver": "5.3.0", "tar": "2.2.1", @@ -2840,9 +2888,9 @@ } }, "node-sass": { - "version": "4.6.1", - "resolved": "https://registry.npmjs.org/node-sass/-/node-sass-4.6.1.tgz", - "integrity": "sha512-0zQQ7tjEK5W8RfW9LiQrkzfo7uLZ0QtZGV69rdKn5cFzdweHLJ14lR6xLPvI6UimkXMO8m0qDsXwUCNdnqV3sA==", + "version": "4.7.1", + "resolved": "https://registry.npmjs.org/node-sass/-/node-sass-4.7.1.tgz", + "integrity": "sha512-WUG10FNj6E3bXpAy7f3bXVdLVUJuNn8pRbT4oo5ez9Zp5ZfqPFKsVJuDEEUmkpdyGa8P9JwifEr5dhNgZT2FpQ==", "dev": true, "requires": { "async-foreach": "0.1.3", @@ -2860,9 +2908,10 @@ "nan": "2.8.0", "node-gyp": "3.6.2", "npmlog": "4.1.2", - "request": "2.83.0", + "request": "2.79.0", "sass-graph": "2.2.4", - "stdout-stream": "1.4.0" + "stdout-stream": "1.4.0", + "true-case-path": "1.0.2" }, "dependencies": { "cross-spawn": { @@ -3165,12 +3214,6 @@ "sha.js": "2.4.9" } }, - "performance-now": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", - "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", - "dev": true - }, "pify": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", @@ -3868,9 +3911,9 @@ } }, "pump": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/pump/-/pump-1.0.2.tgz", - "integrity": "sha1-Oz7mUS+U8OV1U4wXmV+fFpkKXVE=", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/pump/-/pump-1.0.3.tgz", + "integrity": "sha512-8k0JupWme55+9tCVE+FS5ULT3K6AbgqrGa58lTT49RpyfwwcGedHqaC5LlQNdEAumn/wFsu6aPwkuPMioy8kqw==", "dev": true, "requires": { "end-of-stream": "1.4.0", @@ -3885,7 +3928,7 @@ "requires": { "duplexify": "3.5.1", "inherits": "2.0.3", - "pump": "1.0.2" + "pump": "1.0.3" } }, "punycode": { @@ -3907,9 +3950,9 @@ "dev": true }, "qs": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.1.tgz", - "integrity": "sha512-eRzhrN1WSINYCDCbrz796z37LOe3m5tmW7RQf6oBntukAG1nmovJvhnwHHRMAfeoItc1m2Hk02WER2aQ/iqs+A==", + "version": "6.3.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.3.2.tgz", + "integrity": "sha1-51vV9uJoEioqDgvaYwslUMFmUCw=", "dev": true }, "query-string": { @@ -4141,32 +4184,30 @@ } }, "request": { - "version": "2.83.0", - "resolved": "https://registry.npmjs.org/request/-/request-2.83.0.tgz", - "integrity": "sha512-lR3gD69osqm6EYLk9wB/G1W/laGWjzH90t1vEa2xuxHD5KUrSzp9pUSfTm+YC5Nxt2T8nMPEvKlhbQayU7bgFw==", + "version": "2.79.0", + "resolved": "https://registry.npmjs.org/request/-/request-2.79.0.tgz", + "integrity": "sha1-Tf5b9r6LjNw3/Pk+BLZVd3InEN4=", "dev": true, "requires": { - "aws-sign2": "0.7.0", + "aws-sign2": "0.6.0", "aws4": "1.6.0", - "caseless": "0.12.0", + "caseless": "0.11.0", "combined-stream": "1.0.5", "extend": "3.0.1", "forever-agent": "0.6.1", - "form-data": "2.3.1", - "har-validator": "5.0.3", - "hawk": "6.0.2", - "http-signature": "1.2.0", + "form-data": "2.1.4", + "har-validator": "2.0.6", + "hawk": "3.1.3", + "http-signature": "1.1.1", "is-typedarray": "1.0.0", "isstream": "0.1.2", "json-stringify-safe": "5.0.1", "mime-types": "2.1.17", "oauth-sign": "0.8.2", - "performance-now": "2.1.0", - "qs": "6.5.1", - "safe-buffer": "5.1.1", + "qs": "6.3.2", "stringstream": "0.0.5", "tough-cookie": "2.3.3", - "tunnel-agent": "0.6.0", + "tunnel-agent": "0.4.3", "uuid": "3.1.0" } }, @@ -4393,12 +4434,12 @@ } }, "sntp": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/sntp/-/sntp-2.1.0.tgz", - "integrity": "sha512-FL1b58BDrqS3A11lJ0zEdnJ3UOKqVxawAkF3k7F0CVN7VQ34aZrV+G8BZ1WC9ZL7NyrwsW0oviwsWDgRuVYtJg==", + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz", + "integrity": "sha1-ZUEYTMkK7qbG57NeJlkIJEPGYZg=", "dev": true, "requires": { - "hoek": "4.2.0" + "hoek": "2.16.3" } }, "sort-keys": { @@ -4463,6 +4504,14 @@ "getpass": "0.1.7", "jsbn": "0.1.1", "tweetnacl": "0.14.5" + }, + "dependencies": { + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "dev": true + } } }, "ssri": { @@ -4665,6 +4714,30 @@ "integrity": "sha1-WIeWa7WCpFA6QetST301ARgVphM=", "dev": true }, + "true-case-path": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/true-case-path/-/true-case-path-1.0.2.tgz", + "integrity": "sha1-fskRMJJHZsf1c74wIMNPj9/QDWI=", + "dev": true, + "requires": { + "glob": "6.0.4" + }, + "dependencies": { + "glob": { + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/glob/-/glob-6.0.4.tgz", + "integrity": "sha1-DwiGD2oVUSey+t1PnOJLGqtuTSI=", + "dev": true, + "requires": { + "inflight": "1.0.6", + "inherits": "2.0.3", + "minimatch": "3.0.4", + "once": "1.4.0", + "path-is-absolute": "1.0.1" + } + } + } + }, "tty-browserify": { "version": "0.0.0", "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz", @@ -4672,13 +4745,10 @@ "dev": true }, "tunnel-agent": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", - "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", - "dev": true, - "requires": { - "safe-buffer": "5.1.1" - } + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.4.3.tgz", + "integrity": "sha1-Y3PbdpCf5XDgjXNYM2Xtgop07us=", + "dev": true }, "tweetnacl": { "version": "0.14.5", @@ -4706,9 +4776,9 @@ "dev": true }, "uglify-es": { - "version": "3.1.9", - "resolved": "https://registry.npmjs.org/uglify-es/-/uglify-es-3.1.9.tgz", - "integrity": "sha512-wVSiJKHDgDDFmxTVVvnbAH6IpamAFHYDI+5JvwPdaqIMnk8kRTX2JKwq1Fx7gb2+Jj5Dus8kzvIpKkWOMNU51w==", + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/uglify-es/-/uglify-es-3.1.10.tgz", + "integrity": "sha512-RwBX0aOeHvO8MKKUeLCArQGb9OZ6xA+EqfVxsE9wqK0saFYFVLIFvHeeCOg61C6NO6KCuSiG9OjNjCA+OB4nzg==", "dev": true, "requires": { "commander": "2.11.0", @@ -4731,18 +4801,26 @@ "optional": true }, "uglifyjs-webpack-plugin": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/uglifyjs-webpack-plugin/-/uglifyjs-webpack-plugin-1.0.1.tgz", - "integrity": "sha512-3IJhab8Xq7s6XqoPiVFuDpijefJsIrzACT4ggDErSxJAsB9GLDyuWpN7vuX4Lslu/nzIRz2NyXNX/fRMOgqRFw==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/uglifyjs-webpack-plugin/-/uglifyjs-webpack-plugin-1.1.0.tgz", + "integrity": "sha512-x5+BK4OvEZZvaoXln/Z1JMGq3Nvp5A8d7oQ7Xpyf17lqZV9NYvugfj5aTaYcxDWNoILgVdnlPWNpAWgVdwT1/g==", "dev": true, "requires": { "cacache": "10.0.1", "find-cache-dir": "1.0.0", "schema-utils": "0.3.0", - "source-map": "0.5.7", - "uglify-es": "3.1.9", + "source-map": "0.6.1", + "uglify-es": "3.1.10", "webpack-sources": "1.0.2", "worker-farm": "1.5.2" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } } }, "uniq": { @@ -4887,6 +4965,14 @@ "assert-plus": "1.0.0", "core-util-is": "1.0.2", "extsprintf": "1.3.0" + }, + "dependencies": { + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "dev": true + } } }, "vm-browserify": { @@ -4899,9 +4985,9 @@ } }, "vue": { - "version": "2.5.3", - "resolved": "https://registry.npmjs.org/vue/-/vue-2.5.3.tgz", - "integrity": "sha512-C8O5ZtR9jpwm6sCre3k42/WvuAcil5hH1+c3mJks8kNCYKh57sQh6I5U7m9L0fD89OKkIofmebUORngZkLedNA==", + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/vue/-/vue-2.5.6.tgz", + "integrity": "sha512-EnTiSZKkaQmsbpgsWN01VrGYisBXvjU1iqoK2xpUOLdri8vxQyYi5CjRtT33K3JI49WaiG8XnsIGEhNnROj2fQ==", "dev": true }, "vue-hot-reload-api": { @@ -5013,7 +5099,7 @@ "dev": true, "requires": { "qrcode-js-package": "1.0.4", - "vue": "2.5.3" + "vue": "2.5.6" } }, "vue-router": { @@ -5033,9 +5119,9 @@ } }, "vue-template-compiler": { - "version": "2.5.3", - "resolved": "https://registry.npmjs.org/vue-template-compiler/-/vue-template-compiler-2.5.3.tgz", - "integrity": "sha512-C7yWPyT8ZPyXv9AL1eZEZSp72qDHGSgfD80Rf2A9s2vKmMbUuRInfsDsOfYtoiN2hK4hMGMQ71xaZs2e8RnucQ==", + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/vue-template-compiler/-/vue-template-compiler-2.5.6.tgz", + "integrity": "sha512-YjjYpDHzZfKDRvufLPTgL33tRoTuRllnck99tzkBAu1cjdDqBsdUH5Zd9cX8Q16m4liyIRXa+L6UHp/MNxPMbw==", "dev": true, "requires": { "de-indent": "1.0.2", diff --git a/package.json b/package.json index ace1e5d..1d51ec4 100644 --- a/package.json +++ b/package.json @@ -1,48 +1,48 @@ { - "name" : "passwords", - "version" : "1.0.0", - "description" : "Easy to use yet feature-rich and secure password manager for Nextcloud", - "private" : true, - "scripts" : { - "watch" : "webpack --env.production=0 --progress --colors --watch", + "name": "passwords", + "version": "1.0.0", + "description": "Easy to use yet feature-rich and secure password manager for Nextcloud", + "private": true, + "scripts": { + "watch": "webpack --env.production=0 --progress --colors --watch", "watch-chrome": "build=chrome webpack --env.production=0 --progress --colors --watch", - "build" : "webpack --env.production --progress", + "build": "webpack --env.production --progress", "build-chrome": "build=chrome webpack --env.production --progress" }, - "dependencies" : { }, + "dependencies": {}, "devDependencies": { - "copy-webpack-plugin" : "^4.2.1", - "css-loader" : "^0.28.7", - "extract-text-webpack-plugin" : "^3.0.0", - "file-loader" : "^1.1.4", - "font-awesome" : "^4.7.0", - "jquery" : "^3.2.1", - "node-sass" : "^4.5.0", + "copy-webpack-plugin": "^4.2.1", + "css-loader": "^0.28.7", + "extract-text-webpack-plugin": "^3.0.0", + "file-loader": "^1.1.4", + "font-awesome": "^4.7.0", + "jquery": "^3.2.1", + "node-sass": "^4.7.1", "optimize-css-assets-webpack-plugin": "^3.2.0", - "sass-loader" : "^5.0.1", - "sass-resources-loader" : "^1.3.1", - "simplemde" : "^1.11.2", - "uglify-es" : "^3.1.9", - "uglifyjs-webpack-plugin" : "^1.0.1", - "url-loader" : "^0.5.9", - "vue" : "^2.4.4", - "vue-loader" : "^13.0.5", - "vue-markdown" : "^2.2.4", - "vue-qrcode-component" : "^2.1.1", - "vue-router" : "^2.7.0", - "vue-style-loader" : "^3.0.3", - "vue-template-compiler" : "^2.4.4", - "webpack" : "^3.6.0" + "sass-loader": "^5.0.1", + "sass-resources-loader": "^1.3.1", + "simplemde": "^1.11.2", + "uglify-es": "^3.1.10", + "uglifyjs-webpack-plugin": "^1.1.0", + "url-loader": "^0.5.9", + "vue": "^2.5.6", + "vue-loader": "^13.0.5", + "vue-markdown": "^2.2.4", + "vue-qrcode-component": "^2.1.1", + "vue-router": "^2.7.0", + "vue-style-loader": "^3.0.3", + "vue-template-compiler": "^2.5.6", + "webpack": "^3.6.0" }, - "repository" : { + "repository": { "type": "git", - "url" : "ssh://git@git.mdns.eu:2024/nextcloud/passwords-webextension.git" + "url": "ssh://git@git.mdns.eu:2024/nextcloud/passwords-webextension.git" }, - "keywords" : [ + "keywords": [ "passwords", "nextcloud", "security" ], - "author" : "Marius Wieschollek", - "license" : "GPL" + "author": "Marius Wieschollek", + "license": "GPL" } diff --git a/src/js/Classes/Utility.js b/src/js/Classes/Utility.js index f52ec1b..767622b 100644 --- a/src/js/Classes/Utility.js +++ b/src/js/Classes/Utility.js @@ -22,7 +22,7 @@ export default class Utility { */ static copyToClipboard(text) { let id = 'ctc-' + Math.random(), - $element = $('<textarea id="' + id + '">' + text + '</textarea>'); + $element = $('<textarea id="' + id + '" style="position:absolute">' + text + '</textarea>'); $('body').append($element); $element.select(); diff --git a/src/js/background.js b/src/js/background.js index 6588bcb..bd13a9f 100644 --- a/src/js/background.js +++ b/src/js/background.js @@ -199,6 +199,7 @@ function updatePasswordMenu() { contextMenuAccounts = []; browser.tabs.query({currentWindow: true, active: true}).then((tabs) => { + if (!tabs[0]) return; let host = Utility.analyzeUrl(tabs[0].url, 'hostname'); if (host.length === 0) return; @@ -224,7 +225,7 @@ function updatePasswordMenu() { id : 'open-browser-action', icons : {16: 'img/passwords-dark.svg'}, title : Utility.translate('contextMenuTitle'), - contexts: ['page', 'password'], + contexts: ['page', 'password', 'editable'], command : "_execute_browser_action" } ); @@ -241,7 +242,7 @@ function updatePasswordMenu() { { id : menuId, title : Utility.translate('contextMenuTitle'), - contexts: ['page', 'browser_action'], + contexts: ['page', 'browser_action', 'editable'], } ); } else { @@ -266,7 +267,7 @@ function updatePasswordMenu() { parentId: menuId, id : id, title : entry.user, - contexts: ['page', 'browser_action'], + contexts: ['page', 'browser_action', 'editable'], onclick : insertContextMenuPassword } ); diff --git a/src/js/client.js b/src/js/client.js index 3122a38..4529f1b 100644 --- a/src/js/client.js +++ b/src/js/client.js @@ -1,6 +1,5 @@ const NcPasswordClient = new function () { let isChrome = navigator.userAgent.indexOf('Chrome') !== -1; - const extensionId = 'iekefncfcnkpjkldggojdaaeeempljfa'; function getPasswordFields() { let fields = document.getElementsByTagName('input'), @@ -82,27 +81,17 @@ const NcPasswordClient = new function () { if (form.user) user = form.user.value; if (user !== '' && pass !== '') { - if (isChrome) { - chrome.runtime.sendMessage( - extensionId, - { - type : 'mine-password', - url : location.href, - user : user, - password: pass - } - ); - } else { - browser.runtime.sendMessage( - 'ncpasswords@mdns.eu', - { - type : 'mine-password', - url : location.href, - user : user, - password: pass - } - ) - } + let runtime = isChrome ? chrome.runtime:browser.runtime; + + runtime.sendMessage( + runtime.id, + { + type : 'mine-password', + url : location.href, + user : user, + password: pass + } + ); } } |