プラットフォームオブジェクト

プラットフォームオブジェクト (Web IDL)

仕様書

意味

[2] プラットフォームオブジェクトは、

... です >>1

[7] プラットフォームオブジェクトかどうかは、ある実装についての区分となります。 例えば Webブラウザーが読み込んだページが JavaScriptDOM を実装している場合は、その JavaScript が実装する Node オブジェクトは、その JavaScript ライブラリーにとってはプラットフォームオブジェクトですが、 Webブラウザーにとってはプラットフォームオブジェクトではありません。

[8] プラットフォームオブジェクトは、非コールバックインターフェイスのみ実装できます >>1

状態

[11] 次の状態を持ちます。

関連付けられた大域環境
関連する設定群オブジェクト
関連Realm
関連大域オブジェクト

処理

[6] Web IDL の実装は、プラットフォームオブジェクトC++ その他の言語で実装しても構いませんし、 JavaScript で実装しても構いません。いずれにせよ、実装は自身のプラットフォームオブジェクトを認識できる必要があります。 これは何らかの内部状態をオブジェクトに持たせることでも構いませんし、 C++クラスによって区別するのでも構いませんし、他の方法でも構いません。 >>1

[10] それも含め、実装は自身のプラットフォームオブジェクトの内部状態 (JavaScript の通常の操作で直接アクセスできない状態) を操作できる必要があります。

特殊なオブジェクト

[13] 次のオブジェクトは特殊な性質を持ちます。

関連

[9] プラットフォームオブジェクトの定義に大域環境は影響しません。 従って他の大域環境で作成されたオブジェクトであっても、 プラットフォームオブジェクトには違いありません。

歴史

[12] Use platform object rather than IDL-defined object · whatwg/html@a38e8c3 ( 版) https://github.com/whatwg/html/commit/a38e8c37f4784c65e0a0de4e49b6f9af44830b42

[14] Prevent [[SetPrototypeOf]] on all globals (#209) (domenic著, ) https://github.com/heycam/webidl/commit/d8901f68a717240c43e33b71837b153896db64e5

[15] Add legacy platform objects. (#230) (tobie著, ) https://github.com/heycam/webidl/commit/379685767dce3f953e187a2a8f3cb492b9b56649

[16] Editorial: cleanup platform and legacy platform object descriptions (#… (tobie著, ) https://github.com/heycam/webidl/commit/2953a97d605c7ff823285fa64f36cdc2b351e967

[17] Editorial: cleanup platform and legacy platform object descriptions by tobie · Pull Request #493 · heycam/webidl () https://github.com/heycam/webidl/pull/493

[18] Editorial: clarify the definition of the class string of a platform o… (Ms2ger著, ) https://github.com/heycam/webidl/commit/72560be78bd0341681d6fbad2bda96fc940e04d7

[19] Include the legacy namespace identifier in both interface prototype objects and platform objects. by Ms2ger · Pull Request #577 · heycam/webidl () https://github.com/heycam/webidl/pull/577