将 UIDevtools 控制代码从 /chrome/browser/ 移出,创建独立的 ServerHolder 类

提交: 352564fc | 2025-07-09 14:00:14+00:00

← 返回列表

将 UIDevtools 控制代码从 /chrome/browser/ 移出,创建独立的 ServerHolder 类

Minor
提交哈希: 352564fc0154f1ffb877b5a879991a0b4926f847
提交时间: 2025-07-09 14:00:14+00:00
影响等级: Minor
生成工具: webview2-upstream-sentry
上游审核链接: 查看上游审核 🔗

📋 摘要

本次提交将 UIDevtools 相关的控制代码从 chrome/browser/ui/views/chrome_browser_main_extra_parts_views.h 移动到新创建的 components/ui_devtools/views/server_holder.h 和 server_holder.cc 文件中。主要目的是消除 ChromeShellDelegateAsh 对 chrome_browser_main_extra_parts_views.h 的依赖。新的 ServerHolder 类采用单例模式,封装了三个主要的 UIDevtools 相关功能:CreateUiDevTools、GetUiDevToolsServerInstance 和 DestroyUiDevTools。同时更新了相关的构建文件和头文件包含关系,使得代码结构更加模块化。

🎯 影响分析

此次代码重构主要是架构层面的改进,对终端用户和开发者的直接影响极小。对于终端用户,UIDevtools 的功能保持完全一致,不会影响 Chrome 浏览器的任何用户界面或性能表现。对于开发者而言,这种重构提供了以下好处:1) 提高了代码的模块化程度,减少了组件间的依赖关系;2) 使得 UIDevtools 功能更容易在不同平台和组件中复用;3) 简化了构建依赖,特别是对于 ChromeOS/Ash 相关的开发。由于只是移动了现有代码到新的类中,而没有改变实际的业务逻辑,因此不会对调试工具的功能产生任何影响。

受影响的类:

ServerHolder ChromeBrowserMainExtraPartsViews ChromeShellDelegate UiDevToolsServer DevtoolsProcessObserver UiDevtoolsConnector