iframe の高さをコンテンツの内容にあわせるという、少し前から話題になっていた機能だが、Chrome 154 で正式に使えるようになった。
表示する側は iframe に次のように指定することで、その iframe の高さがコンテンツに沿ったものになる。
iframe {
frame-sizing: content-height;
}
frame-sizing にはこれ以外にも content-width content-inline-size content-block-size があり、width だけで使うことはなかなかなさそうだが、他は使いたいシーンがありそう。
注意点として、表示される側の HTML で responsive-embedded-sizing を設定する必要がある。allow-origins=* でも特段問題はなさそうだが、利用側を制限することが可能。
<meta name="responsive-embedded-sizing" content="allow-origins=*">
また、コンテンツのサイズが変更になった場合、表示される側から window.requestResize() を呼び出すことでリサイズを要求できる。

