Fire-IE icon indicating copy to clipboard operation
Fire-IE copied to clipboard

[plugin]支持OOPP

Open patwonder opened this issue 13 years ago • 5 comments

  1. 提供崩溃保护
  2. 部分改善主进程响应
  3. 可以支持异构plugin加载,例如64位浏览器使用32位插件

缺点:

  1. Cookie同步部分失效,当前的代码只能从IE->FF同步,反过来不行

此Issue用来跟踪开启OOPP的一些问题,如假死,崩溃等。

patwonder avatar Sep 29 '12 09:09 patwonder

OOPP建议关闭,两个很难解决的问题:

  1. IE Cookie保护机制要求session cookie不得跨越进程共享,OOPP开启后,session Cookie无法在IE内核与Firefox间共享。
  2. 性能问题。 OOPP开启后,严重降低plugin与Firefox通信效率,同步大量Cookie时回导致Firefox假死(taobao.com似乎能重现这个问题)。

yxl avatar Sep 30 '12 02:09 yxl

@patwonder 动作真快。

yxl avatar Sep 30 '12 02:09 yxl

@yxl 我觉得是这样

  1. Session cookie问题,既然我们能拿到Cookie的内容,就完全可以在插件所在进程调用InternetSetCookie,这应该不难办到。
  2. 可以“攒”一定的Cookie一起发送,减少RPC调用次数,反正不需要做到即时嘛。

patwonder avatar Oct 01 '12 03:10 patwonder

  1. 理论上我可以把Firefox产生的Cookie通过一定协议发送到插件进程,由插件进程设置到IE内核中,但这样开销太大,影响性能。
  2. Cookie攒在一起发会有问题。比如用户通过session cookie保持登录状态,切换内核时如果cookie没有实时同步, 可能会让cookie失效。

最初版本的插件是开启了OOPP,但后来发现带来很多问题,它的坏处远大于它的好处,所以决定禁用OOPP。OOPP开启后最大的问题是影响性能,特别是Cookie同步时,会产生假死;第二个问题是增大了Cookie同步的复杂度,现有的Cookie同步功能已经很复杂了,我不希望再增加复杂度,增加维护难度,还影响性能。OOPP开启后最大的好处是崩溃保护,现在插件本身已经很稳定,崩溃很少发生,我自己觉得用处不大。

yxl avatar Oct 03 '12 16:10 yxl

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

patwonder avatar Jan 26 '15 18:01 patwonder