JavaScript驱动Blink:安全与灵活性的DOM特性实现
需积分: 9 78 浏览量
更新于2024-07-17
收藏 414KB PDF 举报
本文档主要介绍了"Blink-in-JavaScript",一种在Chromium项目中采用的创新方法,允许Blink开发者使用JavaScript而非C++来实现DOM(Document Object Model)特性。Blink是Chromium浏览器渲染引擎的核心部分,这一转变旨在提高代码的安全性和维护性。
首先,动机源于C++带来的问题。由于C++代码更复杂,容易引入安全漏洞,并且维护起来相对困难。通过转向JavaScript,可以减轻这些挑战,使Blink变得更安全、更易于管理。实施策略是将核心部分保持在C++,而其他可以利用现有Web暴露的JavaScript API扩展的功能则由JavaScript负责。
目标包括:
1. 高级DOM特性:这些特性可以直接基于现有的JavaScript API轻松实现,比如XSLT(可扩展样式语言),它增添了复杂的转换功能,适合JavaScript的动态环境。
2. 不受欢迎或需要重构的DOM特性:这些可能是由于设计或性能原因,需要从C++代码库中分离出来,以便更好地利用JavaScript进行优化。
3. 将被废弃的DOM特性:随着技术发展,一些特性不再被推荐使用,将其迁移到JavaScript可以避免维护负担并确保向新的标准迁移。
4. 预计未来在C++中实现的特性:这部分可能包含polyfill(对不兼容功能的填充),这些功能可以先用JavaScript开发,待C++实现后逐步过渡。
例如,编辑API中的`execCommand()`函数以及一系列复杂的编辑接口也被视为适合JavaScript实现的目标。此外,JavaScript还被用来处理如`Node.normalize()`这样的操作,以及提供基础的编码解码功能,如`DOMWindow.atob()`和`btoa()`。
Blink-in-JavaScript是一种战略性的转变,通过引入JavaScript来增强Blink的灵活性和安全性,同时保持核心引擎的简洁。它涉及一系列DOM特性,旨在简化开发流程,降低安全风险,并适应Web技术的发展趋势。通过明确的规划和选择合适的目标,Blink团队致力于创造一个更强大、更易于维护的浏览器渲染环境。
2019-07-09 上传
2019-04-26 上传
2020-12-08 上传
2010-04-08 上传
152 浏览量
2009-09-11 上传
2009-04-08 上传
2020-11-22 上传
云水木石
- 粉丝: 1929
- 资源: 3
最新资源
- Haskell编写的C-Minus编译器针对TM架构实现
- 水电模拟工具HydroElectric开发使用Matlab
- Vue与antd结合的后台管理系统分模块打包技术解析
- 微信小游戏开发新框架:SFramework_LayaAir
- AFO算法与GA/PSO在多式联运路径优化中的应用研究
- MapleLeaflet:Ruby中构建Leaflet.js地图的简易工具
- FontForge安装包下载指南
- 个人博客系统开发:设计、安全与管理功能解析
- SmartWiki-AmazeUI风格:自定义Markdown Wiki系统
- USB虚拟串口驱动助力刻字机高效运行
- 加拿大早期种子投资通用条款清单详解
- SSM与Layui结合的汽车租赁系统
- 探索混沌与精英引导结合的鲸鱼优化算法
- Scala教程详解:代码实例与实践操作指南
- Rails 4.0+ 资产管道集成 Handlebars.js 实例解析
- Python实现Spark计算矩阵向量的余弦相似度