webextension.dll 是 Windows 中承载 WebExtension 扩展运行时的动态链接库,通常位于 System32 目录,并与 Microsoft Edge、WebView2、Windows Shell 以及 Chromium 扩展宿主协同工作。它不是普通业务模块,而是扩展模型、浏览器内核与操作系统服务之间的接口层。
该模块参与扩展注册、manifest 解析、权限声明读取、后台页与服务工作线程的启动、挂起、恢复和卸载。浏览器启动时,它会根据配置文件、策略和用户配置加载已安装扩展,并维护扩展进程或线程的状态。
它把 browser.*、chrome.* 等扩展 API 映射到系统服务与浏览器内核接口,例如 tabs、runtime、storage、permissions、notifications、downloads 和 webRequest。调用过程中涉及序列化、异步回调、Promise 封装和错误码转换。
扩展需要向网页注入 JavaScript 和 CSS 时,webextension.dll 负责创建隔离世界,处理目标框架、文档生命周期、CSP 限制和注入时序,避免内容脚本直接污染页面全局上下文。它还会协调 DOM 访问、样式注入和页面事件监听。
扩展内部的后台页、内容脚本、弹出页、选项页之间需要通信。该模块提供消息端口、事件总线、跨进程通信和原生消息主机桥接,确保 runtime.sendMessage、tabs.sendMessage、connect 等调用能够被正确路由。
它参与扩展存储读写、同步配置、权限校验、主机权限匹配、内容安全策略、沙箱边界和扩展签名验证。若权限模型异常,扩展可能无法访问标签页、剪贴板、下载、通知或本地文件。
在 Windows 生态中,它还可能连接 Shell、Edge 更新通道、WebView2 运行时、企业策略、通知中心和代理配置,使扩展能力与系统级功能保持一致。
webextension.dll。处置时优先使用系统文件检查、Windows 更新、Edge/WebView2 修复安装或企业部署包恢复,不要从不可信下载站替换系统 DLL。若文件被安全软件隔离,应核对签名与路径后再恢复。