Skip to content

fix(input): preserve activation and navigation semantics across input sequences - #727

Closed
lanyue-llk wants to merge 1 commit into
codex/layout-geometry-visibilityfrom
codex/input-activation-lifecycle
Closed

lanyue-llk wants to merge 1 commit into
codex/layout-geometry-visibilityfrom
codex/input-activation-lifecycle

Conversation

@lanyue-llk

@lanyue-llk lanyue-llk commented Sep 22, 2026 •

Copy link
Copy Markdown
Contributor

Enter 已送达输入框却没有触发表单默认提交,或者按键/点击触发导航后,收尾事件被错误地当作失败。WebDriver 还需要与原生输入共享焦点、命中和默认激活语义。

修复机制

将协议转换留在适配边界,核心输入层负责焦点和默认激活;输入阶段使用事件类型表达。点击预检验证遮挡与 frame 祖先关系,导航切换后的收尾按所属生命周期处理,不吞掉无关错误。 ClassicClickPreparation 在协议边界将动态值转换为 Dom / Pointer { point, viewport },使指针路径所需数据随状态一起携带;这符合 Rust API Guidelines 的类型表达语义原则。

Enter 隐式提交

导航期间的按键收尾

WebDriver 点击路径

以上图片为原报告中的机制示意,非本 PR 的实测截图,也不代表本 PR 已通过验收。来源:五方法报告解读。图片链接固定到证据提交,避免报告更新改变 PR 内容。

对应验收

历史 1.1.9 失败 case:274、465、731

额外回归验收:386(1.1.9 通过,在 main@de109 的完整基线中因 Enter 与导航切换冲突失败;不计入历史 34 个失败 case)。

这些编号描述验收责任,不代表已证明本 PR 独立修复。原大 PR 的历史 90/90 不作为本 PR 的测试结果。

功能回归覆盖:Enter/换行、焦点、取消默认动作、遮挡、跨 frame、默认 Mock 和真实布局、导航前后输入失败边界。

原报告对应 Enter 默认提交及导航收尾错误;本轮 main 完整基线中 274、465、731、386 均失败。独立分区不借用组合版本的通过结果。

验证项 范围与状态
当前 HEAD a25a2c7b
直接基线 #726 · 63242ebd → #725 · f13e9f42 → main 72413280
格式 / Clippy / 全量 Rust 测试 本 PR CI 验证当前 HEAD
历史真实任务对照 main@de109 完整基线:55/90;原 1.1.9 的 34 个失败均仍失败
本分区真实任务 尚未重复执行;上列 case 是明确验收责任,不宣称已经独立通过

后续真实任务仅针对历史失败集合,保留固定动作与评分规则。功能验收范围为原 1.1.9 的 34 题加 1.1.8 已失败的 386,共 35 题;历史 67 的传输超时另存证据,不归因本 PR 修复。原 11 类分组与原测试改名/替代对应可供审查。

范围与依赖

从 #640 拆出,原 PR 和原分支保留。本 PR 依赖布局 #726,并以其分支为目标;diff 只展示输入层修改。几何查询必须反映 DOM 和样式变化,输入层的点击预检依赖 #726 提供的通用布局快照失效机制。

独立 CI 已揭示该依赖:旧输入 HEAD 1fb7c73f 在插入遮挡 iframe 后仍允许点击、隐藏遮挡层后仍拒绝点击,两项测试均失败。现保留测试与输入修改不变(rebase 前后 patch-id 相同),将基线改为布局分区;新 HEAD 的 CI 和真实 4 题验收确认修复结果。未加入 iframe 特例。

完整对应关系:拆分 PR 索引、逐 case 历史失败及归属。

@lanyue-llk
lanyue-llk force-pushed the codex/input-activation-lifecycle branch from 1fb7c73 to a25a2c7 Compare September 22, 2026 04:23
@lanyue-llk
lanyue-llk changed the base branch from codex/browser-engineering-reliability to codex/layout-geometry-visibility September 22, 2026 04:23
@lanyue-llk

Copy link
Copy Markdown
Contributor Author

由 #736 替代:基于 main@2793b2407,PR 作者和所有新增提交的 GitHub author/committer 已核验关联 lanyue-llk。原分支、提交和本 PR 的讨论保留;这里只关闭被替代的 PR,不删除分支。新的 CI 与逐 case 验收记录归属替代 PR,旧版本测试结果不冒认为新版本结果。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant