Commit c76f5b0
committed
fix(webview):
Walk up the ancestor `<iframe>` chain, adding each frame's content-box
offset to the element's own quads. Each offset is computed in the parent
realm from `getBoundingClientRect()` plus the border/padding reported by
`describeIFrameStyle()`.
This also works for cross-origin iframes. The offsets are read from the
parent side, so no same-origin `contentDocument` access is needed; and
`getContentQuads` now propagates `error:notconnected`. A cross-origin
(out-of-process) frame's context is torn down and recreated on navigations
and process swaps, so the element handle can go stale mid-measurement.
Returning `error:notconnected` instead of `null` (which would read as
merely "not visible") lets the caller re-resolve the element in the fresh
context and retry instead of waiting out the timeout.page.getContentQuads should work for elements inside <iframe>
1 parent b5a45d9 commit c76f5b0
2 files changed
Lines changed: 56 additions & 3 deletions
File tree
- packages/playwright-core/src/server/webkit/webview
- tests/page
Lines changed: 26 additions & 3 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
824 | 824 | | |
825 | 825 | | |
826 | 826 | | |
827 | | - | |
| 827 | + | |
828 | 828 | | |
829 | 829 | | |
830 | 830 | | |
| |||
869 | 869 | | |
870 | 870 | | |
871 | 871 | | |
872 | | - | |
| 872 | + | |
873 | 873 | | |
874 | 874 | | |
875 | 875 | | |
| |||
886 | 886 | | |
887 | 887 | | |
888 | 888 | | |
| 889 | + | |
| 890 | + | |
889 | 891 | | |
890 | 892 | | |
891 | | - | |
| 893 | + | |
| 894 | + | |
| 895 | + | |
| 896 | + | |
| 897 | + | |
| 898 | + | |
| 899 | + | |
| 900 | + | |
| 901 | + | |
| 902 | + | |
| 903 | + | |
| 904 | + | |
| 905 | + | |
| 906 | + | |
| 907 | + | |
| 908 | + | |
| 909 | + | |
| 910 | + | |
| 911 | + | |
| 912 | + | |
| 913 | + | |
| 914 | + | |
892 | 915 | | |
893 | 916 | | |
894 | 917 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
84 | 84 | | |
85 | 85 | | |
86 | 86 | | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
| 101 | + | |
| 102 | + | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
| 108 | + | |
| 109 | + | |
| 110 | + | |
| 111 | + | |
| 112 | + | |
| 113 | + | |
| 114 | + | |
| 115 | + | |
| 116 | + | |
87 | 117 | | |
88 | 118 | | |
89 | 119 | | |
| |||
0 commit comments