移除扩展进程管理器中的原始SiteInstance基础设施
Minor
提交哈希:
46af92035a3247c822aa234d0f44ddd152a8139d
提交时间: 2025-07-08 01:28:04+00:00
影响等级: Minor
生成工具: webview2-upstream-sentry
上游审核链接:
查看上游审核 🔗
📋 摘要
本次提交移除了extensions::ProcessManager中用于管理所有扩展SiteInstance的单一"核心"SiteInstance基础设施,该特性通过kRemoveCoreSiteInstance特性标志控制,已于2024年11月(Chrome 133)默认启用超过7个月。此次变更移除了所有相关的旧代码基础设施,包括传递给ExtensionHost及相关类的SiteInstance参数(在实际使用中始终为null)。变更涉及20个文件,主要包括:移除ProcessManager::GetSiteInstanceForURL()方法、简化ExtensionHost、ExtensionViewHost、OffscreenDocumentHost等类的构造函数参数、移除相关的feature flag定义、以及更新相关测试代码和工厂方法。
🎯 影响分析
由于kRemoveCoreSiteInstance特性已默认启用超过7个月,此次变更应该不会对终端用户和开发者产生功能性影响。这是一次纯粹的代码清理工作,移除了已不再使用的代码路径。对终端用户而言,扩展的加载、运行和生命周期管理保持不变,不会影响扩展的功能性或性能表现。对开发者而言,这简化了扩展开发的底层架构,移除了复杂的SiteInstance管理逻辑,但不会影响扩展开发API的使用。唯一的潜在影响是,如果有开发者或第三方代码直接依赖ProcessManager::GetSiteInstanceForURL()方法或相关的内部API,可能需要适配代码,但这些都是内部API,不应被外部直接使用。整体而言,这次变更提高了代码的可维护性,减少了技术债务。
受影响的类:
ProcessManager
ExtensionHost
ExtensionViewHost
OffscreenDocumentHost
ExtensionWebContentsObserver
MimeHandlerViewGuest
OffscreenDocumentManager