Keep deferred extension trust state consistent
This commit is contained in:
1 parent
693fbad5dc
commit
8298bc37fa
2 files changed
+4
-1
No files matched your search
@@ -232,6 +232,7 @@
|
||||
function settingsForExtension(id,metadata){
|
||||
const clean=extensionId(id);
|
||||
const meta=metadata||schemas.get(clean)||{id:clean,name:clean,storage_owned:false,settings_schema:[]};
|
||||
const isTrusted=metadata?true:schemas.has(clean);
|
||||
const schema=supportsSettings(meta)?meta.settings_schema:[];
|
||||
const key=settingsKey(clean);
|
||||
function current(){
|
||||
@@ -249,7 +250,7 @@
|
||||
}
|
||||
return {
|
||||
extensionId:clean,
|
||||
trusted:schemas.has(clean),
|
||||
trusted:isTrusted,
|
||||
storageOwned:!!meta.storage_owned,
|
||||
supported:supportsSettings(meta),
|
||||
schema,
|
||||
|
||||
@@ -243,8 +243,10 @@ def test_hermes_ext_register_runtime_identity_and_reload_lifecycle():
|
||||
const deferred = window.hermesExt.register('deferred.ext');
|
||||
assert.ok(deferred);
|
||||
assert.deepStrictEqual(deferred.settings.values, {{enabled: false, mode: 'deferred'}});
|
||||
assert.strictEqual(deferred.settings.trusted, true);
|
||||
assert.strictEqual(deferred.storage.set('note', 'deferred-note'), true);
|
||||
assert.strictEqual(deferred.storage.get('note'), 'deferred-note');
|
||||
assert.strictEqual(window.hermesExt.settings.forExtension('deferred.ext').trusted, false);
|
||||
|
||||
assert.strictEqual(window.hermesExt.register('alpha.ext'), alpha);
|
||||
assert.strictEqual(alpha.settings.get('enabled'), true);
|
||||
|
||||
Reference in new issue
Block a user