【发布时间】:2015-03-06 21:53:22
【问题描述】:
我和我的团队创建了一个 Chrome 扩展程序,它捆绑了一个 PNaCl 应用程序来处理多媒体编码和复用,它改编自 Pepper SDK(版本 39)示例和在线 SDK 教程。应用程序的目的是从用户的桌面、选项卡和网络摄像头捕获内容,以创建多媒体文件。
扩展程序在可见时按预期工作,但在隐藏扩展程序时 PNaCl 进程停止/卸载。我需要知道当 Chrome 扩展程序不再可见时保持 PNaCl 进程的最佳策略是什么。
PNaCl 应用程序嵌入在我的主 UI 代码中(在我的例子中,它设置为 index.html)。该扩展包含Background Pages,它在隐藏时继续处理请求,因此我相信 manifest.json 权限和进程按预期工作。此外,也不例外。
到目前为止,我已经尝试过:
- 将后台 JavaScript 页面设置为 PNaCl 应用程序的接口,使其引用存储在后台页面中,该页面应保持不变。
- 创建一个Chrome Window 以保持 PNaCl 应用程序并在隐藏扩展程序时呈现捕获的流的实时预览。
- (进行中)将 PNaCl 容器嵌入一个背景 HTML 页面,而不是代表扩展 UI 的主 HTML 页面。
到目前为止,他们都没有坚持 PNaCl 过程。
我的 manifest.json 的相关部分:
{
"manifest_version": 2,
"minimum_chrome_version": "39.0.0.0",
"offline_enabled": true,
"permissions":[
"desktopCapture",
"tabCapture",
"tabs",
"unlimitedStorage"
],
"browser_action":{
"default_popup": "index.html"
},
"background":{
"scripts": ["helpers.js", "background.js", "capture_state.js"],
"persistent": true
}
}
如果我能够在收到回复之前解决问题,我会回复解决方案。
【问题讨论】:
标签: google-chrome-extension google-nativeclient