为 DevTools 添加强制打开弹出层的 API
Minor
提交哈希:
4851f65faec3ba48a79fdcb32e633fd155ce7cd1
提交时间: 2025-07-15 09:34:50+00:00
影响等级: Minor
生成工具: webview2-upstream-sentry
上游审核链接:
查看上游审核 🔗
📋 摘要
本次提交为 DevTools 添加了一个新的调试功能,允许强制保持弹出层(popover)处于打开状态。该功能解决了开发者在调试弹出层时遇到的问题:当焦点移动到 DevTools 窗口时,弹出层通常会自动关闭,导致难以调试。新增的
forceShowPopover
API 可以强制某个弹出层保持打开状态,并抑制所有 hidePopover
调用,直到通过 DevTools API 明确关闭为止。该功能包括:新增了特性标志 kDevToolsAllowPopoverForcing
、在 DOM 协议中添加了 forceShowPopover
命令、修改了 popover 隐藏逻辑以支持强制打开状态、以及相应的测试用例。
🎯 影响分析
对终端用户:此次变更对普通终端用户没有直接影响,因为这是一个专门为开发者工具设计的调试功能。普通用户在浏览网页时不会感知到任何变化,网页的弹出层行为保持不变。该功能仅在开发者打开 DevTools 并使用相关 API 时才会激活。
对开发者:这个功能显著改善了 Web 开发者的调试体验。之前开发者在调试弹出层时面临一个常见困扰:当他们试图在 DevTools 中检查弹出层的样式或 DOM 结构时,弹出层会因为失去焦点而自动关闭。新的
对开发者:这个功能显著改善了 Web 开发者的调试体验。之前开发者在调试弹出层时面临一个常见困扰:当他们试图在 DevTools 中检查弹出层的样式或 DOM 结构时,弹出层会因为失去焦点而自动关闭。新的
forceShowPopover
API 解决了这个问题,允许开发者强制保持弹出层打开状态进行调试。开发者可以通过 DevTools 协议的 DOM.forceShowPopover
命令来控制这一行为,提高了调试效率和开发体验。此功能对于需要调试复杂弹出层交互的开发者特别有价值。
受影响的类:
HTMLElement
InspectorDOMAgent
CSSPopoverElementForAppearanceBase