reject-importGlobalProperties

拒绝调用 Cu.importGlobalPropertiesXPCOMUtils.defineLazyGlobalGetters

在系统模块中,所有必需的属性都应该已经可用。在非模块代码或非系统模块中,WebIDL 定义的接口应该已经可用,因此不需要导入。

对于 sjs 测试文件,如果相关的全局变量尚不可用,请考虑扩展 httpd 服务器提供的全局变量列表

选项

  • “everything”: 完全禁止使用导入/获取器。

  • “allownonwebidl”: 禁止对 WebIDL 符号使用导入函数。允许其他符号。

everything

此选项的错误代码

Cu.importGlobalProperties(['TextEncoder']);
XPCOMUtils.defineLazyGlobalGetters(this, ['TextEncoder']);

allownonwebidl

此选项的错误代码

// AnimationEffect is a webidl property.
Cu.importGlobalProperties(['AnimationEffect']);
XPCOMUtils.defineLazyGlobalGetters(this, ['AnimationEffect']);

此选项的正确代码

// TextEncoder is not defined by webidl.
Cu.importGlobalProperties(['TextEncoder']);
XPCOMUtils.defineLazyGlobalGetters(this, ['TextEncoder']);