fang5566
管理员
管理员
  • UID3719
  • 注册日期2005-03-07
  • 最后登录2024-04-19
  • 发帖数18482
  • 经验4836枚
  • 威望5点
  • 贡献值4316点
  • 好评度1115点
  • 社区居民
  • 最爱沙发
  • 忠实会员
  • 终身成就
阅读:1995回复:3

Firefox 40 将取消对扩展二进制XPCOM组件的支持

楼主#
更多 发布于:2015-05-05 11:03
在以前老扩展中开发者常常会用到二进制 XPCOM组件(binary XPCOM component)来将二进制库添加到扩展,它的主要问题一个是一些代码不安全,第二个就是之前我们经常遇到的扩展一升级就失效,需要重新编译这个二进制组件才行。

Firefox 40 将取消对二进制组件的支持,官方提供的替代方案开发者基本上都在用了,一个是 js-ctypes,一个是 SDK 当中的 system/child_process,官方推荐用后者。
不过现在还用二进制组件的扩展已经很少了,哪怕是原来的老扩展基本也都使用 js-ctypes 了。



Dropping support for binary components in extensions
Firefox More than meets your experience
yfdyh000
千年狐狸
千年狐狸
  • UID29079
  • 注册日期2009-06-07
  • 最后登录2022-05-18
  • 发帖数2262
  • 经验1390枚
  • 威望0点
  • 贡献值52点
  • 好评度139点
  • 社区居民
  • 最爱沙发
  • 忠实会员
1楼#
发布于:2015-05-05 11:32
看标题吓了一跳,还以为严格到所有EXE、DLL都不允许了。仔细一对照原文,原来是binary XPCOM component。
这个不能说是“二进制组件”吧,二进制组件的范畴很大,编译过的内容都能算二进制组件。
只是这种类型的二进制组件放弃支持吧,大概因为非常用标准,使用率、架构设计、维护成本等因素。

SDK “system/child_process” pipe 是SDK的子进程管道通信机制吧。JS-ctypes 大概是一种调用DLL中API的机制。
只是个人猜测和理解,因为我也并没有用过这些东西。
fang5566
管理员
管理员
  • UID3719
  • 注册日期2005-03-07
  • 最后登录2024-04-19
  • 发帖数18482
  • 经验4836枚
  • 威望5点
  • 贡献值4316点
  • 好评度1115点
  • 社区居民
  • 最爱沙发
  • 忠实会员
  • 终身成就
2楼#
发布于:2015-05-05 12:14
yfdyh000:看标题吓了一跳,还以为严格到所有EXE、DLL都不允许了。仔细一对照原文,原来是binary XPCOM component。
这个不能说是“二进制组件”吧,二进制组件的范畴很大,编译过的内容都能算二进制组件。
只是这种类型的二进制组件...
回到原帖
嗯,是二进制 xpcom 组件,之前大多扩展都改用jsctypes了,40取消不会有什么太大影响
Firefox More than meets your experience
文科
千年狐狸
千年狐狸
  • UID39959
  • 注册日期2013-10-17
  • 最后登录2019-07-27
  • 发帖数2069
  • 经验1328枚
  • 威望4点
  • 贡献值340点
  • 好评度256点
  • 最爱沙发
  • 社区居民
  • 忠实会员
3楼#
发布于:2015-05-06 23:05
还以为xthunder和fireie要不能用了,看了yf的解释才反应过来
游客

返回顶部