当前位置: 首页 > news >正文

结合FireBreath在Chrome/FireFox的多进程模式下崩溃一例


FireBreath是跨浏览器跨操作系统的插件方案,它封装了ActiveX和NPAPI的插件接口,使用统一的API来暴露JSAPI。Chrome和FireFox使用NPAPI,IE使用ActiveX。

值得注意的是Chrome和FireFox在多进程模式下和单进程模式下调用NPAPI的行为不一致,这也是最近遇到的这个崩溃bug的原因。


在Win32下,可以设置窗口过程:

lpfnOldProc = (WNDPROC)SetWindowLong(GetSafeHwnd(), DWL_DLGPROC, (DWORD)MyWndProc);

结合CallWindowProc可以对消息处理做些定制:

CallWindowProc


在IE下,没有任何问题。在Chrome/FireFox的单进程模式下也没有问题。但在Chrome/FireFox多进程下,当改变窗口大小的时候,窗口过程会被浏览器自动设置,导致渲染进程死循环。



转载于:https://www.cnblogs.com/aiwz/p/6333109.html

相关文章:

  • Java多线程之Wait()和Notify()
  • [java面试]宇信易诚 广州分公司 java笔试题目回忆录
  • 忘记scott密码解决
  • 采集/自动登录啊都可以用这两个方法实现 asp.net
  • windows phone随笔
  • [CLR via C#]11. 事件
  • Welcome to Swift (苹果官方Swift文档初译与注解九)---58~62页(第二章)
  • 高级mask应用
  • 义隆单片机学习笔记之(四) 编程及烧录
  • ASP.NET MD5加密
  • topcoder SRM 618 DIV2 MovingRooksDiv2
  • 微信公众号自定义菜单与回车
  • 协议分析-迅雷镜象服务器下载
  • 一个硬件高手的设计经验分享
  • log4j 将日志记录到数据库
  • Google 是如何开发 Web 框架的
  • 收藏网友的 源程序下载网
  • 「前端早读君006」移动开发必备:那些玩转H5的小技巧
  • C++回声服务器_9-epoll边缘触发模式版本服务器
  • CAP 一致性协议及应用解析
  • Django 博客开发教程 16 - 统计文章阅读量
  • JavaScript 一些 DOM 的知识点
  • java取消线程实例
  • Laravel Mix运行时关于es2015报错解决方案
  • leetcode388. Longest Absolute File Path
  • markdown编辑器简评
  • miniui datagrid 的客户端分页解决方案 - CS结合
  • mysql常用命令汇总
  • Mysql数据库的条件查询语句
  • puppeteer stop redirect 的正确姿势及 net::ERR_FAILED 的解决
  • SAP云平台运行环境Cloud Foundry和Neo的区别
  • Sass 快速入门教程
  • uva 10370 Above Average
  • Vue2.x学习三:事件处理生命周期钩子
  • webpack入门学习手记(二)
  • 二维平面内的碰撞检测【一】
  • 前端设计模式
  • 手写一个CommonJS打包工具(一)
  • 用jQuery怎么做到前后端分离
  • 微龛半导体获数千万Pre-A轮融资,投资方为国中创投 ...
  • ​LeetCode解法汇总2670. 找出不同元素数目差数组
  • ​Linux·i2c驱动架构​
  • #define
  • (13)[Xamarin.Android] 不同分辨率下的图片使用概论
  • (20050108)又读《平凡的世界》
  • (NSDate) 时间 (time )比较
  • (二)正点原子I.MX6ULL u-boot移植
  • (附源码)ssm码农论坛 毕业设计 231126
  • (利用IDEA+Maven)定制属于自己的jar包
  • (六)Hibernate的二级缓存
  • (免费领源码)Java#Springboot#mysql农产品销售管理系统47627-计算机毕业设计项目选题推荐
  • (译)2019年前端性能优化清单 — 下篇
  • **Java有哪些悲观锁的实现_乐观锁、悲观锁、Redis分布式锁和Zookeeper分布式锁的实现以及流程原理...
  • .net core IResultFilter 的 OnResultExecuted和OnResultExecuting的区别
  • .NET Core/Framework 创建委托以大幅度提高反射调用的性能