You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
fix(fillField): prevent rich-editor keystroke leak to sibling inputs
The IFRAME branch typed via the root-page keyboard against an iframe body
that's not contenteditable (Monaco-style editors), so keystrokes landed on
whatever the outer document had focused. Detection also climbed the DOM
when the matched element looked hidden, which could pick up unrelated
editors elsewhere on the page.
Now: detection only walks down from the user's locator, the IFRAME branch
re-detects the real input surface inside the iframe, and every focus/click
is verified against document.activeElement before typing — a failed focus
throws instead of leaking. Backing-textarea fixtures (TinyMCE legacy,
CKEditor 4/5, CodeMirror 5, Summernote) wrapped so #editor is the visible
container. Adds sibling-input regression coverage for IFRAME, CONTENTEDITABLE
and HIDDEN_TEXTAREA paths plus a negative test for hidden backing locators.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
thrownewError('fillField: rich editor target did not accept focus. Locator must point at the visible editor surface (a wrapper, iframe, or contenteditable) — not a hidden backing element.')
92
+
}
93
+
}
94
+
79
95
asyncfunctionfindMarked(helper){
80
96
constroot=helper.page||helper.browser
81
97
constraw=awaitroot.$('['+MARKER+']')
@@ -97,16 +113,29 @@ export async function fillRichEditor(helper, el, value) {
0 commit comments