2016-08-18 7 views
1

Wir haben Verlängerung mit wenigen Berechtigungen:Fordern Sie external_connectable mit optionalen_permissions?

"permissions": [ 
    "tabs", 
    "http://*/*", 
    "https://*/*" 
    ] 

für ein neues Feature hinzufügen, müssen wir externally_connectable permssion hinzufügen möchten, sollten wie:

"externally_connectable": { 
    "matches": ["*://*.example.com/*"] 
    }, 

Alle scheinen perfekt lokal zu arbeiten, aber wenn wir Laden Sie diese Änderung in Chrome Store hoch, die Erweiterung wird deaktiviert und zeigt die Warnung "Neue Berechtigungen" an, ich habe dies mit der benutzerdefinierten Update-URL getestet und dies ist leider passiert.

Gibt es eine Möglichkeit, diese Berechtigung zur Laufzeit unter Verwendung von optional_permissions und chrome.permissions.request anzufordern?

Edit:

Running:

chrome.permissions.request({ 
    permissions: ['externally_connectable'], 
    origins: ["*://*.example.com/*"] 
}, function(granted) { 
    console.log('permision:', granted); 
}); 

Return dieser Fehler:

Unchecked runtime.lastError while running permissions.request: 
    'externally_connectable' is not a recognized permission. 

Antwort

1

Nach chrome.permissions API docs und source code, externally_connectable kann nicht optional sein.

+0

Ja, das stimmt, ich frage mich, ob wir es umgehen können mit [dieser] (https://cschromium.org/chromium/src/extensions/common/permissions/extensions_api_permissions.cc?rcl=1471534131&l= 67), Code Review [hier] (https://codereview.chromium.org/599163003/) – ahmed

+1

Das wird nicht helfen, es erlaubt nur '' für ein Muster in einem [paar der Whitelist-Erweiterungen] (https: //codereview.chromium.org/599163003/diff/20001/extensions/common/api/_permission_features.json). – wOxxOm

Verwandte Themen