Просмотр исходного кода

call browser.permissions.request only when needed

Former-commit-id: f2ffc7c45e927a52628d4cc8e3cf8f304e1b53a8
Gildas 6 лет назад
Родитель
Сommit
5a0d3587b6
2 измененных файлов с 4 добавлено и 2 удалено
  1. 1 1
      extension/core/bg/downloads.js
  2. 3 1
      lib/gdrive/gdrive.js

+ 1 - 1
extension/core/bg/downloads.js

@@ -132,7 +132,7 @@ singlefile.extension.core.bg.downloads = (() => {
 	async function getAuthInfo(force) {
 		let code, cancelled, authInfo = await singlefile.extension.core.bg.config.getAuthInfo();
 		gDrive.setAuthInfo(authInfo);
-		const options = { interactive: true, auto: true };
+		const options = { interactive: true, auto: true, requestPermissionIdentity: manifest.optional_permissions && manifest.optional_permissions.includes("identity") };
 		if (!authInfo || force || gDrive.managedToken()) {
 			try {
 				if (!gDrive.managedToken()) {

+ 3 - 1
lib/gdrive/gdrive.js

@@ -42,7 +42,9 @@ this.GDrive = this.GDrive || (() => {
 		}
 		async auth(options = {}) {
 			try {
-				await browser.permissions.request({ permissions: ["identity"] });
+				if (options.requestPermissionIdentity) {
+					await browser.permissions.request({ permissions: ["identity"] });
+				}
 			}
 			catch (error) {
 				// ignored;