Commit 67a5031
authored
fix(cdk/overlay): guard against null document.body before popover support check (#33403)
The WHATWG spec allows document.body to be null when the document element
is not <html> or has no <body>/<frameset> child, which can happen during
page navigation or unload cycles. Using the 'in' operator against null
throws "Cannot use 'in' operator to search for 'showPopover' in null".
TypeScript types document.body as non-nullable HTMLElement so the issue
is invisible at compile time but surfaces at runtime in edge cases.
Creating a minimal reproduction is impractical, as the issue occurs
during edge cases in page navigation/unload cycles in a large application.
Added a null check before the 'in' expression so that when document.body
is unavailable, usePopover falls back to false — the same result as when
the browser doesn't support the Popover API at all.
Spec: https://html.spec.whatwg.org/multipage/dom.html#dom-document-body
Related: microsoft/TypeScript#500781 parent 6e95d70 commit 67a5031
1 file changed
Lines changed: 4 additions & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
69 | 69 | | |
70 | 70 | | |
71 | 71 | | |
72 | | - | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
73 | 76 | | |
74 | 77 | | |
75 | 78 | | |
| |||
0 commit comments