Fire-IE
Fire-IE copied to clipboard
[plugin]支持OOPP
- 提供崩溃保护
- 部分改善主进程响应
- 可以支持异构plugin加载,例如64位浏览器使用32位插件
缺点:
- Cookie同步部分失效,当前的代码只能从IE->FF同步,反过来不行
此Issue用来跟踪开启OOPP的一些问题,如假死,崩溃等。
OOPP建议关闭,两个很难解决的问题:
- IE Cookie保护机制要求session cookie不得跨越进程共享,OOPP开启后,session Cookie无法在IE内核与Firefox间共享。
- 性能问题。 OOPP开启后,严重降低plugin与Firefox通信效率,同步大量Cookie时回导致Firefox假死(taobao.com似乎能重现这个问题)。
@patwonder 动作真快。
@yxl 我觉得是这样
- Session cookie问题,既然我们能拿到Cookie的内容,就完全可以在插件所在进程调用InternetSetCookie,这应该不难办到。
- 可以“攒”一定的Cookie一起发送,减少RPC调用次数,反正不需要做到即时嘛。
- 理论上我可以把Firefox产生的Cookie通过一定协议发送到插件进程,由插件进程设置到IE内核中,但这样开销太大,影响性能。
- Cookie攒在一起发会有问题。比如用户通过session cookie保持登录状态,切换内核时如果cookie没有实时同步, 可能会让cookie失效。
最初版本的插件是开启了OOPP,但后来发现带来很多问题,它的坏处远大于它的好处,所以决定禁用OOPP。OOPP开启后最大的问题是影响性能,特别是Cookie同步时,会产生假死;第二个问题是增大了Cookie同步的复杂度,现有的Cookie同步功能已经很复杂了,我不希望再增加复杂度,增加维护难度,还影响性能。OOPP开启后最大的好处是崩溃保护,现在插件本身已经很稳定,崩溃很少发生,我自己觉得用处不大。
Depends on #142: Click inside IE content area does not close popup menus Depends on #143: FireGestures' wheel gestures does not work in OOPP mode