[6] [DFN[[CODE(DOMi)@en[[[MimeType]]]]]] [[オブジェクト]]は、
[[プラグイン]]が対応する [[MIME型]]を表します。

* 仕様書

[REFS[
- [4] [CITE@en-GB-x-hixie[HTML Standard]] ([TIME[2015-05-06 10:42:35 +09:00]] 版) <https://html.spec.whatwg.org/#plugins-2>
-- [2] [[HTML Standard]] <http://www.whatwg.org/specs/web-apps/current-work/#mimetype>
]REFS]

* 意味

[7] [CODE(DOMi)@en[[[MimeType]]]] [[オブジェクト]]は、
[[プラグイン]]が[[明示的に対応]]している、またはしていた[[MIME型]]を表します [SRC[>>4]]。

* メンバー

[1] [CODE(DOMi)@en[[[MimeType]]]] [[インターフェイス]]には、
次の[[メンバー]]があります。
[FIG(list short)[
-[CODE(DOMa)@en[[[description]]]]
-[CODE(DOMa)@en[[[enabledPlugin]]]]
-[CODE(DOMa)@en[[[suffixes]]]]
-[CODE(DOMa)@en[[[type]]]]
]FIG]

[9] [CODE(DOMi)@en[[[MimeType]]]] [[インターフェイス]]の [DFN[[CODE(DOMa)@en[[[type]]]]]]
[[属性]]は、[[文脈オブジェクト]]が表す [[MIME型]]を説明する、
[[妥当な引数なきMIME型]]を返さなければ[['''なりません''']] [SRC[>>4]]。

;; [13] [[小文字]]で返されるのが普通ですが、必ずそうなのかどうかは不明です。

[10] [CODE(DOMi)@en[[[MimeType]]]] [[インターフェイス]]の 
[DFN[[CODE(DOMa)@en[[[description]]]]]] [[属性]]は、[[プラグイン]]定義の文字列を返さなければ[['''なりません''']] [SRC[>>4]]。
[CODE(DOMa)@en[[[type]]]] と同じ値とすることが[RUBYB[強く[['''推奨''']]]@en[highly [['''recommended''']]]]されています [SRC[>>4]]。
実際には[[英語]]の長くない文字列を返すのが一般的です。

[11] [CODE(DOMi)@en[[[MimeType]]]] [[インターフェイス]]の 
[DFN[[CODE(DOMa)@en[[[suffixes]]]]]] [[属性]]は、[[プラグイン]]定義の文字列を返さなければ[['''なりません''']] [SRC[>>4]]。
[[空文字列]]とすることが[RUBYB[強く[['''推奨''']]]@en[highly [['''recommended''']]]]されています [SRC[>>4]]。
実際には [CODE[htm,html]] のように [CODE[,]] 区切りの[[拡張子]]のリストが指定されることがよくあります。

[14] [CODE(DOMi)@en[[[MimeType]]]] [[インターフェイス]]の 
[DFN[[CODE(DOMa)@en[[[enabledPlugin]]]]]]
[[属性]]は、 (直近の作成・[CODE(DOMm)@en[[[refresh]]]] の時点で) 
当該[[MIME型]]を[[明示的に対応]]している[[プラグイン]]を返さなければ[['''なりません''']]
[SRC[>>4]]。

;; [CODE(DOMi)@en[[[Plugin]]]] [[オブジェクト]]の [[named getter]]/[[indexed getter]]
の逆方向の参照です。

[8] [CODE(DOMi)@en[[[MimeType]]]] [[オブジェクト]]は、[[live]]
であっては[['''なりません''']] [SRC[>>4]]。作成や [CODE(DOMm)@en[[[refresh]]]]
を除き、[[属性値]]を変更しては[['''なりません''']] [SRC[>>4]]。

[12] 本オブジェクトおよび[[属性値]]は [[fingerprinting vector]] です。
[[プライバシー]]と[[セキュリティー]]に配慮する必要があります。

;; [CODE(DOMi)@en[[[PluginArray]]]] も参照。

* 歴史

[3] [CODE(DOMi)@en[[[MimeType]]]] [[インターフェイス]]と4つの [[IDL属性]]は、
[[JavaScript 1.1]] で追加されました。

[5] 15年以上仕様書が存在しない状態でしたが、
2013年にようやく [[HTML Standard]] によって仕様が明文化されました。

[15] [CITE@en[Editorial: update usage of the MIME Sniffing Standard]]
([[domenic]]著, [TIME[2018-02-17 03:42:58 +09:00]])
<https://github.com/whatwg/html/commit/fc82f4f8774a2e7e80f6c9477bd881f6c783b186>

[16] [CITE@en[Editorial: update usage of the MIME Sniffing Standard by domenic · Pull Request #3455 · whatwg/html]]
([TIME[2018-02-17 18:46:01 +09:00]])
<https://github.com/whatwg/html/pull/3455>