Chrome v 25.0.1364.97 m上的无窗口渲染问题

时间:2013-02-26 07:01:20

标签: google-chrome firebreath

Chrome的最新更新(25.0.1364.97米)似乎在我的FireBreath插件(FireBreath v1.7)中混淆了对无窗口渲染的支持。为了检查我的代码是否是问题,我尝试使用以下HTML代码的FBTestPlugin:

<object id="plugin0" type="application/x-fbtestplugin" width="300" height="300">
    <param name="windowless" value="true" />
</object><br />
<object id="plugin1" type="application/x-fbtestplugin" width="300" height="300">
</object><br />"

无窗口插件(id="plugin0")无法在Chrome中呈现;窗口的(id="plugin1")确实如此。两者都适用于Firefox和IE。问题发生在winXP和win7 x86上,不确定其他平台。

这是Chrome中的错误吗?还是在FireBreath?真的希望有关于浏览器插件的知识比我更多的人可以提供一些建议。

更新 我在使用我的FireBreath插件时遇到了同样的问题(在blitting到屏幕时颜色混乱)在https://code.google.com/p/chromium/issues/detail?id=178598报告。该帖子中建议了一种解决方法,即将插件<object>或父容器的背景颜色设置为黑色。令人高兴的是,我试过了,现在它正在运作。

1 个答案:

答案 0 :(得分:0)

正如我原来问题的更新中所示,我在https://code.google.com/p/chromium/issues/detail?id=178598找到了合适的解决方法。 Chrome似乎将某些RGB像素数据误解为Alpha通道(透明度),因此在我的FireBreath插件中呈现给屏幕的颜色会混淆。解决方法是将插件对象的背景颜色设置为黑色(background-color: #000000;)(在css文件或object标签本身中)。

另一种解决方法是切换到窗口化插件(问题只发生在无窗口),但这会引入其他问题(例如需要从单独的线程等渲染)。

顺便说一下,用于将像素数据渲染到屏幕的代码来自https://gist.github.com/taxilian/1099740处的示例。