浏览器扩展 API 实施规划
概述
本文档列出了 ChainlessChain 浏览器扩展可新增的浏览器 API 项目。当前实现(第 25 阶段已完成)覆盖主要浏览器 API 的 400+ 项操作。
实施状态汇总
已完成阶段(第 1–25 阶段)
| 阶段 | 分类 | 操作数 | 状态 |
|---|---|---|---|
| 1–10 | 核心 API | ~120 | ✅ 已完成 |
| 11–15 | DOM 与事件 | ~80 | ✅ 已完成 |
| 16–19 | 存储与网络 | ~60 | ✅ 已完成 |
| 20–21 | Web API 与系统 | ~45 | ✅ 已完成 |
| 22 | WebRTC 与组件 | ~35 | ✅ 已完成 |
| 23 | 现代 Web API | ~56 | ✅ 已完成 |
| 24 | 硬件与媒体 | ~51 | ✅ 已完成 |
| 25 | 检测与实用工具 | ~47 | ✅ 已完成 |
合计:已实现 400+ 项操作
后续阶段待实现 API
第 26 阶段:性能与分析 API(约 30 项操作)
Performance Observer API(扩展)
createPerformanceObserver— 创建性能观察器observePerformanceEntries— 观察指定类型的条目getPerformanceMarks— 获取性能标记getPerformanceMeasures— 获取性能测量值clearPerformanceMarks— 清除标记clearPerformanceMeasures— 清除测量值
User Timing API
createPerformanceMark— 创建命名标记createPerformanceMeasure— 在标记之间创建测量getResourceTimings— 获取资源加载计时getNavigationTiming— 获取页面导航计时数据
Long Tasks API
observeLongTasks— 观察长任务getLongTaskEntries— 获取长任务条目
Element Timing API
observeElementTiming— 观察元素渲染时机markElementForTiming— 标记元素以供观察
Layout Instability API(CLS)
observeLayoutShifts— 观察布局偏移事件getLayoutShiftScore— 获取累积布局偏移分值
权限级别:NORMAL 至 PUBLIC
第 27 阶段:实验性与新兴 API(约 35 项操作)
Eyedropper API
openEyedropper— 打开颜色拾取器isEyedropperSupported— 检查是否支持
Screen Capture API(增强)
getDisplayMedia— 捕获屏幕/窗口selectDisplay— 选择要捕获的显示器stopScreenCapture— 停止捕获
File Handling API
registerFileHandler— 注册为文件处理程序unregisterFileHandler— 注销处理程序getFileHandlerState— 获取注册状态
Web Share Target API
registerShareTarget— 注册为分享目标getShareData— 获取分享数据
Contact Picker API
selectContacts— 打开联系人选择器getContactProperties— 获取可用属性
Content Index API
addToContentIndex— 将内容添加到离线索引removeFromContentIndex— 从索引中移除getContentIndexItems— 列出已索引项目
Periodic Background Sync API
registerPeriodicSync— 注册定期同步unregisterPeriodicSync— 注销同步getPeriodicSyncTags— 获取已注册的标签
App Badging API(扩展)
setAppBadge— 设置应用角标clearAppBadge— 清除角标setClientBadge— 设置客户端角标
权限级别:NORMAL 至 ADMIN
第 28 阶段:安全与隐私 API(约 25 项操作)
Credential Management API(扩展)
createCredential— 创建新凭证getCredentials— 获取已存储凭证preventSilentAccess— 阻止静默凭证访问
WebAuthn API
createPublicKeyCredential— 创建 WebAuthn 凭证getPublicKeyCredential— 获取 WebAuthn 凭证isUserVerifyingPlatformAuthenticatorAvailable— 检查 UVPA 可用性
Trusted Types API
createTrustedTypePolicy— 创建受信任类型策略isTrustedTypesSupported— 检查是否支持getTrustedTypePolicies— 获取策略列表
Content Security Policy API
getSecurityPolicyViolations— 获取 CSP 违规记录observeCSPViolations— 观察违规事件
子资源完整性(SRI)
validateResourceIntegrity— 验证 SRIgenerateIntegrityHash— 生成 SRI 哈希值
权限级别:ADMIN 至 ROOT
第 29 阶段:图形与渲染 API(约 40 项操作)
WebGPU API
getGPUAdapter— 获取 GPU 适配器requestGPUDevice— 请求 GPU 设备createGPUBuffer— 创建 GPU 缓冲区createGPUTexture— 创建纹理createGPUShaderModule— 创建着色器模块createGPURenderPipeline— 创建渲染管线createGPUComputePipeline— 创建计算管线submitGPUCommands— 提交命令缓冲区isWebGPUSupported— 检查是否支持
WebGL2 扩展
getWebGL2Extensions— 获取 WebGL2 扩展列表createWebGL2Context— 创建 WebGL2 上下文compileWebGLShader— 编译着色器linkWebGLProgram— 链接程序
OffscreenCanvas API
createOffscreenCanvas— 创建离屏画布transferToOffscreenCanvas— 转移到离屏画布getOffscreenContext— 获取离屏上下文
ImageBitmap API
createImageBitmap— 创建图像位图transferImageBitmap— 转移位图closeImageBitmap— 关闭/释放位图
权限级别:NORMAL 至 ADMIN
第 30 阶段:通信与消息传递 API(约 25 项操作)
MessageChannel API
createMessageChannel— 创建消息通道postMessageToPort— 向端口发送消息closeMessagePort— 关闭端口
MessagePort API
startMessagePort— 启动端口closeMessagePort— 关闭端口
CompressionStream API(扩展)
createCompressionStream— 创建压缩流createDecompressionStream— 创建解压缩流pipeCompression— 通过压缩流传输数据
TransformStream API
createTransformStream— 创建转换流chainTransformStreams— 串联多个转换流
ReadableStream API(扩展)
createReadableStream— 创建可读流readFromStream— 从流中读取数据cancelStream— 取消流pipeToWritable— 导向可写流
WritableStream API
createWritableStream— 创建可写流writeToStream— 向流写入数据closeWritableStream— 关闭流
权限级别:NORMAL
第 31 阶段:设备与硬件 API(约 35 项操作)
Generic Sensor API
getAccelerometer— 获取加速度计数据getGyroscope— 获取陀螺仪数据getMagnetometer— 获取磁力计数据getAmbientLightSensor— 获取环境光传感器数据
Geolocation API(增强)
getCurrentPosition— 获取当前位置watchPosition— 监听位置变化clearWatch— 清除位置监听getGeolocationPermission— 获取权限状态
DeviceOrientation API
getDeviceOrientation— 获取设备方向watchDeviceOrientation— 监听方向变化getDeviceMotion— 获取运动数据
Battery Status API(扩展)
getBatteryManager— 获取电池管理器watchBatteryStatus— 监听电池状态变化
Network Information API(扩展)
getNetworkType— 获取网络类型getEffectiveType— 获取有效连接类型watchNetworkChanges— 监听网络变化getDownlinkMax— 获取最大下行速率
Vibration API
vibrate— 触发振动cancelVibration— 取消振动
权限级别:NORMAL 至 ADMIN
第 32 阶段:无障碍与国际化(约 20 项操作)
Selection API(扩展)
getSelection— 获取文本选区setSelection— 设置选区范围collapseSelection— 折叠选区extendSelection— 扩展选区
Range API
createRange— 创建范围setRangeStart— 设置起始位置setRangeEnd— 设置结束位置surroundContents— 用元素包围内容
Intl API
formatNumber— 格式化数字formatDate— 格式化日期formatRelativeTime— 格式化相对时间listFormat— 格式化列表pluralRules— 获取复数规则segmentText— 文本分段
权限级别:PUBLIC 至 NORMAL
实施指南
每个新阶段的操作步骤
修改 background.js
- 在
handleCommandswitch 中添加命令处理器 - 使用
chrome.scripting.executeScript实现功能函数
- 在
修改 browser-extension-server.js
- 在
ExtensionBrowserHandler.handle中添加路由分支
- 在
修改 permission-gate.js
- 为每项操作配置相应权限级别
添加单元测试
- 在 browser-extension-server.test.js 中测试路由逻辑
更新文档
- 更新本规划文档
- 如有必要更新 CLAUDE.md
安全注意事项
- PUBLIC:只读、非敏感操作
- NORMAL:标准浏览器操作
- ADMIN:敏感数据访问、硬件控制
- ROOT:系统级操作、凭证管理
优先级建议
高优先级(优先实施)
- 第 26 阶段 — 性能 API(调试辅助,实用性高)
- 第 29 阶段 — 图形 API(WebGPU 正成为新标准)
中优先级
- 第 31 阶段 — 设备 API(移动优先特性)
- 第 27 阶段 — 实验性 API(面向未来)
较低优先级
- 第 28 阶段 — 安全 API(专项用途)
- 第 30 阶段 — 通信 API(高级模式)
- 第 32 阶段 — 无障碍/国际化(细分场景)
工作量估算
每个阶段大约需要:
- 开发:2–4 小时
- 测试:1–2 小时
- 文档:30 分钟
剩余总量:7 个阶段约 210 项操作
参考资料
最后更新:2026-02-28当前版本:第 25 阶段已完成
