From d49032372e1ad262a313dc974d8de6bb6efbf784 Mon Sep 17 00:00:00 2001 From: MDN Date: Tue, 16 Mar 2021 00:26:29 +0000 Subject: [CRON] sync translated content --- files/ja/_redirects.txt | 10 +- files/ja/_wikihistory.json | 50 +++++----- .../web/api/documentorshadowroot/index.html | 79 ++++++++++++++++ .../web/api/document/elementfrompoint/index.html | 51 ++++++++++ .../web/api/document/elementsfrompoint/index.html | 103 +++++++++++++++++++++ .../elementfrompoint/index.html | 51 ---------- .../elementsfrompoint/index.html | 102 -------------------- files/ja/web/api/documentorshadowroot/index.html | 78 ---------------- 8 files changed, 264 insertions(+), 260 deletions(-) create mode 100644 files/ja/orphaned/web/api/documentorshadowroot/index.html create mode 100644 files/ja/web/api/document/elementfrompoint/index.html create mode 100644 files/ja/web/api/document/elementsfrompoint/index.html delete mode 100644 files/ja/web/api/documentorshadowroot/elementfrompoint/index.html delete mode 100644 files/ja/web/api/documentorshadowroot/elementsfrompoint/index.html delete mode 100644 files/ja/web/api/documentorshadowroot/index.html (limited to 'files/ja') diff --git a/files/ja/_redirects.txt b/files/ja/_redirects.txt index 9a1cd3bdfd..9eace6107e 100644 --- a/files/ja/_redirects.txt +++ b/files/ja/_redirects.txt @@ -46,7 +46,7 @@ /ja/docs/API/Document/documentURI /ja/docs/Web/API/Document/documentURI /ja/docs/API/Document/documentURIObject /ja/docs/Web/API/Document/documentURIObject /ja/docs/API/Document/domConfig /ja/docs/Web/API/Document -/ja/docs/API/Document/elementFromPoint /ja/docs/Web/API/DocumentOrShadowRoot/elementFromPoint +/ja/docs/API/Document/elementFromPoint /ja/docs/Web/API/Document/elementFromPoint /ja/docs/API/Document/embeds /ja/docs/Web/API/Document/embeds /ja/docs/API/Document/enableStyleSheetsForSet /ja/docs/Web/API/Document/enableStyleSheetsForSet /ja/docs/API/Document/evaluate /ja/docs/Web/API/Document/evaluate @@ -1435,7 +1435,7 @@ /ja/docs/DOM/document.documentURI /ja/docs/Web/API/Document/documentURI /ja/docs/DOM/document.documentURIObject /ja/docs/Web/API/Document/documentURIObject /ja/docs/DOM/document.domConfig /ja/docs/Web/API/Document -/ja/docs/DOM/document.elementFromPoint /ja/docs/Web/API/DocumentOrShadowRoot/elementFromPoint +/ja/docs/DOM/document.elementFromPoint /ja/docs/Web/API/Document/elementFromPoint /ja/docs/DOM/document.embeds /ja/docs/Web/API/Document/embeds /ja/docs/DOM/document.fgColor /ja/docs/Web/API/Document/fgColor /ja/docs/DOM/document.firstChild /ja/docs/Web/API/Node/firstChild @@ -1770,7 +1770,7 @@ /ja/docs/DOM:document.createEvent /ja/docs/Web/API/Document/createEvent /ja/docs/DOM:document.documentElement /ja/docs/Web/API/Document/documentElement /ja/docs/DOM:document.documentURIObject /ja/docs/Web/API/Document/documentURIObject -/ja/docs/DOM:document.elementFromPoint /ja/docs/Web/API/DocumentOrShadowRoot/elementFromPoint +/ja/docs/DOM:document.elementFromPoint /ja/docs/Web/API/Document/elementFromPoint /ja/docs/DOM:document.firstChild /ja/docs/Web/API/Node/firstChild /ja/docs/DOM:document.forms /ja/docs/Web/API/Document/forms /ja/docs/DOM:document.getElementById /ja/docs/Web/API/Document/getElementById @@ -3746,11 +3746,13 @@ /ja/docs/Web/API/Document/async /ja/docs/Web/API/XMLDocument/async /ja/docs/Web/API/Document/defaultView/storage_event /ja/docs/Web/API/Window/storage_event /ja/docs/Web/API/Document/domConfig /ja/docs/Web/API/Document -/ja/docs/Web/API/Document/elementFromPoint /ja/docs/Web/API/DocumentOrShadowRoot/elementFromPoint /ja/docs/Web/API/Document/inputEncoding /ja/docs/conflicting/Web/API/Document/characterSet /ja/docs/Web/API/Document/onselectionchange /ja/docs/Web/API/GlobalEventHandlers/onselectionchange +/ja/docs/Web/API/DocumentOrShadowRoot /ja/docs/orphaned/Web/API/DocumentOrShadowRoot /ja/docs/Web/API/DocumentOrShadowRoot/activeElement /ja/docs/Web/API/Document/activeElement /ja/docs/Web/API/DocumentOrShadowRoot/caretPositionFromPoint /ja/docs/Web/API/Document/caretPositionFromPoint +/ja/docs/Web/API/DocumentOrShadowRoot/elementFromPoint /ja/docs/Web/API/Document/elementFromPoint +/ja/docs/Web/API/DocumentOrShadowRoot/elementsFromPoint /ja/docs/Web/API/Document/elementsFromPoint /ja/docs/Web/API/DocumentOrShadowRoot/fullscreenElement /ja/docs/Web/API/Document/fullscreenElement /ja/docs/Web/API/DocumentOrShadowRoot/getAnimations /ja/docs/Web/API/Document/getAnimations /ja/docs/Web/API/DocumentOrShadowRoot/getSelection /ja/docs/Web/API/Document/getSelection diff --git a/files/ja/_wikihistory.json b/files/ja/_wikihistory.json index 6a622d201e..0cff7990b3 100644 --- a/files/ja/_wikihistory.json +++ b/files/ja/_wikihistory.json @@ -12725,18 +12725,6 @@ "AshfaqHossain" ] }, - "Web/API/DocumentOrShadowRoot": { - "modified": "2020-10-15T22:12:34.663Z", - "contributors": [ - "mfuji09" - ] - }, - "Web/API/DocumentOrShadowRoot/elementsFromPoint": { - "modified": "2020-10-15T22:29:40.404Z", - "contributors": [ - "mfuji09" - ] - }, "Web/API/DocumentType": { "modified": "2020-10-15T22:09:56.256Z", "contributors": [ @@ -52764,19 +52752,6 @@ "Okome" ] }, - "Web/API/DocumentOrShadowRoot/elementFromPoint": { - "modified": "2019-03-23T23:50:29.105Z", - "contributors": [ - "mfuji09", - "fscholz", - "khalid32", - "ethertank", - "Mgjbot", - "Shoot", - "Potappo", - "Norah" - ] - }, "conflicting/Web/API/DocumentOrShadowRoot/getSelection": { "modified": "2019-03-23T23:38:33.748Z", "contributors": [ @@ -53496,5 +53471,30 @@ "contributors": [ "eltociear" ] + }, + "Web/API/Document/elementFromPoint": { + "modified": "2019-03-23T23:50:29.105Z", + "contributors": [ + "mfuji09", + "fscholz", + "khalid32", + "ethertank", + "Mgjbot", + "Shoot", + "Potappo", + "Norah" + ] + }, + "Web/API/Document/elementsFromPoint": { + "modified": "2020-10-15T22:29:40.404Z", + "contributors": [ + "mfuji09" + ] + }, + "orphaned/Web/API/DocumentOrShadowRoot": { + "modified": "2020-10-15T22:12:34.663Z", + "contributors": [ + "mfuji09" + ] } } \ No newline at end of file diff --git a/files/ja/orphaned/web/api/documentorshadowroot/index.html b/files/ja/orphaned/web/api/documentorshadowroot/index.html new file mode 100644 index 0000000000..6f4eceb73f --- /dev/null +++ b/files/ja/orphaned/web/api/documentorshadowroot/index.html @@ -0,0 +1,79 @@ +--- +title: DocumentOrShadowRoot +slug: orphaned/Web/API/DocumentOrShadowRoot +tags: + - API + - Document + - DocumentOrShadowRoot + - Reference + - ShadowRoot + - インターフェイス + - シャドウ DOM +translation_of: Web/API/DocumentOrShadowRoot +original_slug: Web/API/DocumentOrShadowRoot +--- +
{{APIRef("Web Components")}}
+ +

DocumentOrShadowRootShadow DOM API のミックスインで、文書とシャドウルートで共有される API を提供します。以下の機能は {{DOMxRef("Document")}} と {{DOMxRef("ShadowRoot")}} の両方に含まれています。

+ +

プロパティ

+ +
+
{{DOMxRef("DocumentOrShadowRoot.activeElement")}}{{ReadOnlyInline}}
+
シャドウツリー内でフォーカスを持っている {{DOMxRef('Element')}} を返します。
+
{{DOMxRef("DocumentOrShadowRoot.fullscreenElement")}}{{ReadOnlyInline}}
+
この文書で現在全画面モードになっている {{DOMxRef('Element')}} を返します。
+
{{DOMxRef("DocumentOrShadowRoot.pointerLockElement")}} {{Experimental_Inline}}{{ReadOnlyInline}}
+
ポインターがロックされている間、マウスイベントのターゲットとして設定された要素を返します。ロック待ちの場合、ポインターがロックされていない場合、ターゲットが別な文書である場合は null を返します。
+
{{DOMxRef("DocumentOrShadowRoot.styleSheets")}}{{ReadOnlyInline}}
+
文書に明示的にリンクされているか、埋め込まれているスタイルシートの {{DOMxRef('CSSStyleSheet')}} オブジェクトの {{DOMxRef('StyleSheetList')}} を返します。
+
+ +

メソッド

+ +
+
{{DOMxRef("DocumentOrShadowRoot.caretPositionFromPoint()")}}
+
キャレットを含んでいる DOM ノードと、そのノード内におけるキャレットの文字のオフセットを含む {{DOMxRef('CaretPosition')}} オブジェクトを返します。
+
{{DOMxRef("DocumentOrShadowRoot.elementFromPoint()")}}
+
指定された座標にある最上位の要素を返します。
+
{{DOMxRef("DocumentOrShadowRoot.elementsFromPoint()")}}
+
指定された座標にあるすべての要素の配列を返します。
+
{{DOMxRef("DocumentOrShadowRoot.getSelection()")}}
+
ユーザーによって選択されているテキストの範囲、またはキャレットの現在の位置を表す {{DOMxRef('Selection')}} オブジェクトを返します。
+
{{DOMxRef("DocumentOrShadowRoot.nodeFromPoint()")}} {{non-standard_inline}}
+
指定された座標にある最上位のノードを返します。
+
{{DOMxRef("DocumentOrShadowRoot.nodesFromPoint()")}} {{non-standard_inline}}
+
指定された座標にあるすべてのノードの配列を返します。
+
+ +

仕様書

+ + + + + + + + + + + + + + + + + + + + + +
仕様書状態備考
{{SpecName('Shadow DOM','#extensions-to-the-documentorshadowroot-mixin','DocumentOrShadowRoot')}}{{Spec2('Shadow DOM')}}Shadow DOM で実装。
{{SpecName('DOM WHATWG','#mixin-documentorshadowroot','DocumentOrShadowRoot')}}{{Spec2('DOM WHATWG')}}初回定義
+ +

ブラウザーの対応

+ + + +

{{Compat("api.DocumentOrShadowRoot")}}

+ +

[1] このインターフェイスの機能は {{DOMxRef("Document")}} オブジェクトにも実装されています。

diff --git a/files/ja/web/api/document/elementfrompoint/index.html b/files/ja/web/api/document/elementfrompoint/index.html new file mode 100644 index 0000000000..662260e4ae --- /dev/null +++ b/files/ja/web/api/document/elementfrompoint/index.html @@ -0,0 +1,51 @@ +--- +title: document.elementFromPoint +slug: Web/API/Document/elementFromPoint +tags: + - DOM + - Gecko + - Gecko DOM Reference +translation_of: Web/API/DocumentOrShadowRoot/elementFromPoint +translation_of_original: Web/API/Document/elementFromPoint +original_slug: Web/API/DocumentOrShadowRoot/elementFromPoint +--- +
+ {{ApiRef()}} {{Fx_minversion_header(3)}}
+

概要

+

文書の左上を基点として指定された座標上にある要素を返します。

+

構文

+
element = document.elementFromPoint(x,y);
+ +

+
<!DOCTYPE html>
+<html lang="ja">
+<head>
+<title>elementFromPoint の使用例</title>
+
+<script>
+function changeColor(newColor) {
+  elem = document.elementFromPoint(2, 2);
+  elem.style.color = newColor;
+}
+</script>
+</head>
+
+
+<body>
+<p id="para1">色は匂へど 散りぬるを……</p>
+<button onclick="changeColor('blue');">blue</button>
+<button onclick="changeColor('red');">red</button>
+</body>
+</html>
+
+

注記

+

指定された座標にある要素が別のドキュメント(例えば iframe 内にあるサブドキュメント) に属する場合、指定された座標にあるドキュメントの DOM 要素 (iframe) を返します。もし指定された座標にある要素が匿名あるいは textbox のスクロールバーのように XBL によって生成された内容の場合、指定された座標にある要素を基点として、匿名ではない最初の親要素(例えば textbox)が返されます。

+

指定された座標がドキュメントの表示外にあるか、座標のどちらかに負の値が設定されている場合は NULL を返します。

+

{{Note("XUL ドキュメントからは onload イベントが発生するまでは、このメソッドを使用してはいけません。")}}

+

仕様

+ diff --git a/files/ja/web/api/document/elementsfrompoint/index.html b/files/ja/web/api/document/elementsfrompoint/index.html new file mode 100644 index 0000000000..a885ce197f --- /dev/null +++ b/files/ja/web/api/document/elementsfrompoint/index.html @@ -0,0 +1,103 @@ +--- +title: DocumentOrShadowRoot.elementsFromPoint() +slug: Web/API/Document/elementsFromPoint +tags: + - API + - Document + - DocumentOrShadowRoot + - Method + - Reference + - ShadowRoot + - elementsFromPoint + - elementsFromPoint() + - shadow dom + - メソッド +translation_of: Web/API/DocumentOrShadowRoot/elementsFromPoint +original_slug: Web/API/DocumentOrShadowRoot/elementsFromPoint +--- +
{{APIRef("DOM")}}{{SeeCompatTable}}
+ +

elementsFromPoint() は {{domxref("DocumentOrShadowRoot")}} インターフェイスのメソッドで、指定された座標 (ビューポートからの相対) にあるすべての要素の配列を返します。

+ +

これは {{domxref("DocumentOrShadowRoot.elementFromPoint", "elementFromPoint()")}} メソッドと同じような方法で動作します。

+ +

構文

+ +
const elements = document.elementsFromPoint(x, y);
+ +

引数

+ +
+
x
+
点の水平座標です。
+
y
+
点の垂直座標です。
+
+ +

返値

+ +

{{domxref("Element")}} オブジェクトの配列です。

+ +

+ +

HTML

+ +
<div>
+  <p>Some text</p>
+</div>
+<p>Elements at point 30, 20:</p>
+<div id="output"></div>
+
+ +

JavaScript

+ +
let output = document.getElementById("output");
+if (document.elementsFromPoint) {
+  let elements = document.elementsFromPoint(30, 20);
+  for (var i = 0; i < elements.length; i++) {
+    output.textContent += elements[i].localName;
+    if (i < elements.length - 1) {
+      output.textContent += " < ";
+    }
+  }
+} else {
+  output.innerHTML = "<span style=\"color: red;\">" +
+     "Browser does not support <code>document.elementsFromPoint()</code>" +
+     "</span>";
+}
+ +

{{EmbedLiveSample('Example', '420', '120')}}

+ +

仕様書

+ + + + + + + + + + + + + + + + + + +
仕様書状態
{{SpecName('Shadow DOM','#dom-documentorshadowroot-elementsfrompoint','elementsFromPoint()')}}{{Spec2('Shadow DOM')}}
{{SpecName('CSSOM View', '#dom-document-elementsfrompoint', 'elementsFromPoint()')}}{{Spec2('CSSOM View')}}
+ +

ブラウザーの互換性

+ + + +

{{Compat("api.DocumentOrShadowRoot.elementsFromPoint")}}

+ +

関連情報

+ + diff --git a/files/ja/web/api/documentorshadowroot/elementfrompoint/index.html b/files/ja/web/api/documentorshadowroot/elementfrompoint/index.html deleted file mode 100644 index e041d4592d..0000000000 --- a/files/ja/web/api/documentorshadowroot/elementfrompoint/index.html +++ /dev/null @@ -1,51 +0,0 @@ ---- -title: document.elementFromPoint -slug: Web/API/DocumentOrShadowRoot/elementFromPoint -tags: - - DOM - - Gecko - - Gecko DOM Reference -translation_of: Web/API/DocumentOrShadowRoot/elementFromPoint -translation_of_original: Web/API/Document/elementFromPoint -original_slug: Web/API/Document/elementFromPoint ---- -
- {{ApiRef()}} {{Fx_minversion_header(3)}}
-

概要

-

文書の左上を基点として指定された座標上にある要素を返します。

-

構文

-
element = document.elementFromPoint(x,y);
- -

-
<!DOCTYPE html>
-<html lang="ja">
-<head>
-<title>elementFromPoint の使用例</title>
-
-<script>
-function changeColor(newColor) {
-  elem = document.elementFromPoint(2, 2);
-  elem.style.color = newColor;
-}
-</script>
-</head>
-
-
-<body>
-<p id="para1">色は匂へど 散りぬるを……</p>
-<button onclick="changeColor('blue');">blue</button>
-<button onclick="changeColor('red');">red</button>
-</body>
-</html>
-
-

注記

-

指定された座標にある要素が別のドキュメント(例えば iframe 内にあるサブドキュメント) に属する場合、指定された座標にあるドキュメントの DOM 要素 (iframe) を返します。もし指定された座標にある要素が匿名あるいは textbox のスクロールバーのように XBL によって生成された内容の場合、指定された座標にある要素を基点として、匿名ではない最初の親要素(例えば textbox)が返されます。

-

指定された座標がドキュメントの表示外にあるか、座標のどちらかに負の値が設定されている場合は NULL を返します。

-

{{Note("XUL ドキュメントからは onload イベントが発生するまでは、このメソッドを使用してはいけません。")}}

-

仕様

- diff --git a/files/ja/web/api/documentorshadowroot/elementsfrompoint/index.html b/files/ja/web/api/documentorshadowroot/elementsfrompoint/index.html deleted file mode 100644 index a5337f576f..0000000000 --- a/files/ja/web/api/documentorshadowroot/elementsfrompoint/index.html +++ /dev/null @@ -1,102 +0,0 @@ ---- -title: DocumentOrShadowRoot.elementsFromPoint() -slug: Web/API/DocumentOrShadowRoot/elementsFromPoint -tags: - - API - - Document - - DocumentOrShadowRoot - - Method - - Reference - - ShadowRoot - - elementsFromPoint - - elementsFromPoint() - - shadow dom - - メソッド -translation_of: Web/API/DocumentOrShadowRoot/elementsFromPoint ---- -
{{APIRef("DOM")}}{{SeeCompatTable}}
- -

elementsFromPoint() は {{domxref("DocumentOrShadowRoot")}} インターフェイスのメソッドで、指定された座標 (ビューポートからの相対) にあるすべての要素の配列を返します。

- -

これは {{domxref("DocumentOrShadowRoot.elementFromPoint", "elementFromPoint()")}} メソッドと同じような方法で動作します。

- -

構文

- -
const elements = document.elementsFromPoint(x, y);
- -

引数

- -
-
x
-
点の水平座標です。
-
y
-
点の垂直座標です。
-
- -

返値

- -

{{domxref("Element")}} オブジェクトの配列です。

- -

- -

HTML

- -
<div>
-  <p>Some text</p>
-</div>
-<p>Elements at point 30, 20:</p>
-<div id="output"></div>
-
- -

JavaScript

- -
let output = document.getElementById("output");
-if (document.elementsFromPoint) {
-  let elements = document.elementsFromPoint(30, 20);
-  for (var i = 0; i < elements.length; i++) {
-    output.textContent += elements[i].localName;
-    if (i < elements.length - 1) {
-      output.textContent += " < ";
-    }
-  }
-} else {
-  output.innerHTML = "<span style=\"color: red;\">" +
-     "Browser does not support <code>document.elementsFromPoint()</code>" +
-     "</span>";
-}
- -

{{EmbedLiveSample('Example', '420', '120')}}

- -

仕様書

- - - - - - - - - - - - - - - - - - -
仕様書状態
{{SpecName('Shadow DOM','#dom-documentorshadowroot-elementsfrompoint','elementsFromPoint()')}}{{Spec2('Shadow DOM')}}
{{SpecName('CSSOM View', '#dom-document-elementsfrompoint', 'elementsFromPoint()')}}{{Spec2('CSSOM View')}}
- -

ブラウザーの互換性

- - - -

{{Compat("api.DocumentOrShadowRoot.elementsFromPoint")}}

- -

関連情報

- - diff --git a/files/ja/web/api/documentorshadowroot/index.html b/files/ja/web/api/documentorshadowroot/index.html deleted file mode 100644 index 41a6afbfa8..0000000000 --- a/files/ja/web/api/documentorshadowroot/index.html +++ /dev/null @@ -1,78 +0,0 @@ ---- -title: DocumentOrShadowRoot -slug: Web/API/DocumentOrShadowRoot -tags: - - API - - Document - - DocumentOrShadowRoot - - Reference - - ShadowRoot - - インターフェイス - - シャドウ DOM -translation_of: Web/API/DocumentOrShadowRoot ---- -
{{APIRef("Web Components")}}
- -

DocumentOrShadowRootShadow DOM API のミックスインで、文書とシャドウルートで共有される API を提供します。以下の機能は {{DOMxRef("Document")}} と {{DOMxRef("ShadowRoot")}} の両方に含まれています。

- -

プロパティ

- -
-
{{DOMxRef("DocumentOrShadowRoot.activeElement")}}{{ReadOnlyInline}}
-
シャドウツリー内でフォーカスを持っている {{DOMxRef('Element')}} を返します。
-
{{DOMxRef("DocumentOrShadowRoot.fullscreenElement")}}{{ReadOnlyInline}}
-
この文書で現在全画面モードになっている {{DOMxRef('Element')}} を返します。
-
{{DOMxRef("DocumentOrShadowRoot.pointerLockElement")}} {{Experimental_Inline}}{{ReadOnlyInline}}
-
ポインターがロックされている間、マウスイベントのターゲットとして設定された要素を返します。ロック待ちの場合、ポインターがロックされていない場合、ターゲットが別な文書である場合は null を返します。
-
{{DOMxRef("DocumentOrShadowRoot.styleSheets")}}{{ReadOnlyInline}}
-
文書に明示的にリンクされているか、埋め込まれているスタイルシートの {{DOMxRef('CSSStyleSheet')}} オブジェクトの {{DOMxRef('StyleSheetList')}} を返します。
-
- -

メソッド

- -
-
{{DOMxRef("DocumentOrShadowRoot.caretPositionFromPoint()")}}
-
キャレットを含んでいる DOM ノードと、そのノード内におけるキャレットの文字のオフセットを含む {{DOMxRef('CaretPosition')}} オブジェクトを返します。
-
{{DOMxRef("DocumentOrShadowRoot.elementFromPoint()")}}
-
指定された座標にある最上位の要素を返します。
-
{{DOMxRef("DocumentOrShadowRoot.elementsFromPoint()")}}
-
指定された座標にあるすべての要素の配列を返します。
-
{{DOMxRef("DocumentOrShadowRoot.getSelection()")}}
-
ユーザーによって選択されているテキストの範囲、またはキャレットの現在の位置を表す {{DOMxRef('Selection')}} オブジェクトを返します。
-
{{DOMxRef("DocumentOrShadowRoot.nodeFromPoint()")}} {{non-standard_inline}}
-
指定された座標にある最上位のノードを返します。
-
{{DOMxRef("DocumentOrShadowRoot.nodesFromPoint()")}} {{non-standard_inline}}
-
指定された座標にあるすべてのノードの配列を返します。
-
- -

仕様書

- - - - - - - - - - - - - - - - - - - - - -
仕様書状態備考
{{SpecName('Shadow DOM','#extensions-to-the-documentorshadowroot-mixin','DocumentOrShadowRoot')}}{{Spec2('Shadow DOM')}}Shadow DOM で実装。
{{SpecName('DOM WHATWG','#mixin-documentorshadowroot','DocumentOrShadowRoot')}}{{Spec2('DOM WHATWG')}}初回定義
- -

ブラウザーの対応

- - - -

{{Compat("api.DocumentOrShadowRoot")}}

- -

[1] このインターフェイスの機能は {{DOMxRef("Document")}} オブジェクトにも実装されています。

-- cgit v1.2.3-54-g00ecf