-
Notifications
You must be signed in to change notification settings - Fork 4
/
117.txt
112 lines (84 loc) · 5.57 KB
/
117.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
[5] [[WebIDL]] における [DFN[[CODE(IDL)@en[[[legacycaller]]]]]] は、オブジェクトを [CODE(DOMi)@en[[[Function]]]]
として実行したときに呼び出される[[メソッド]]です。
[6] [[コレクション]]を[[メソッド]]として呼び出すのはおそらく [[Microsoft]] によって [[IE4 DOM]] の一部として導入された機能で、
[[Visual Basic]] などにも同様の構文が存在しています。 [[Web]] ではあまり使われておらず、
互換性のために必要な場合に限って利用し、新機能には使わないことになっています。 (そのため
「legacy」と呼ばれています。)
* 仕様書
[REFS[
- [13] [CITE@en-GB-x-hixie[HTML Standard]] ([TIME[2015-05-06 10:42:35 +09:00]] 版) <https://html.spec.whatwg.org/#dom-embed-caller>
- [16] [CITE@en-GB-x-hixie[HTML Standard]] ([TIME[2015-05-06 10:42:35 +09:00]] 版) <https://html.spec.whatwg.org/#dom-object-caller>
]REFS]
* [CODE(IDL)@en[legacycaller]] の一覧
[8] 現存する [CODE(IDL)@en[[[legacycaller]]]] は次の[[インターフェイス]]のものです。
[FIG(list)[
- [CODE(DOMi)@en[[[HTMLAllCollection]]]]
]FIG]
[HISTORY[
[9] 次の[[インターフェイス]]には一時 [CODE(IDL)@en[[[legacycaller]]]] がありましたが、既に削除されています。
[FIG(list middle)[
- [CODE(DOMi)@en[[[HTMLPropertiesCollection]]]]
- [CODE(DOMi)@en[[[HTMLFormElement]]]]
- [CODE(DOMi)@en[[[HTMLFormControlsCollection]]]]
- [CODE(DOMi)@en[[[HTMLOptionsCollection]]]]
- [CODE(DOMi)@en[[[HTMLEmbedElement]]]]
- [CODE(DOMi)@en[[[HTMLObjectElement]]]]
]FIG]
]HISTORY]
* 歴史
[1] [CITE@en[Web Applications 1.0 r6781 compat with majority of browsers]]
( ([TIME[2011-10-29 08:05:00 +09:00]] 版))
<http://html5.org/tools/web-apps-tracker?from=6780&to=6781>
[2] [CITE@en[Web Applications 1.0 r7268 Remove some 'legacycaller's]]
( ([TIME[2012-08-25 04:31:00 +09:00]] 版))
<http://html5.org/tools/web-apps-tracker?from=7267&to=7268>
[3] [CITE@en[Web Applications 1.0 r8469 Remove some parts of document.all that data shows have virtually no usage.]]
( ([TIME[2014-02-07 04:35:00 +09:00]] 版))
<http://html5.org/tools/web-apps-tracker?from=8468&to=8469>
[4] [CITE@en[Web Applications 1.0 r8502 Restore document.all() legacycaller, for compat]]
( ([TIME[2014-02-22 07:12:00 +09:00]] 版))
<http://html5.org/tools/web-apps-tracker?from=8501&to=8502>
[7] [[DOM Perl Binding]] では [CODE(perl)@en[[[use overload]]]] の [CODE(perl)[[[&{}]]]]
[[演算子]]に対応することにされていましたが、後に削除されました。 ([[Perl]] では互換性のために必要がないため。)
[10] [CITE@en[909656 – Can we remove the legacycaller on <object>/<embed>?]]
([TIME[2015-01-30 17:46:30 +09:00]] 版)
<https://bugzilla.mozilla.org/show_bug.cgi?id=909656>
[11] [CITE[Intent to Remove: HTMLAppletElementLegacyCall - Google グループ]]
([TIME[2015-01-30 17:47:14 +09:00]] 版)
<https://groups.google.com/a/chromium.org/forum/#!topic/blink-dev/MuxvaXiyBxU>
[12] [CITE@en[Web Applications 1.0 r6915 Define the legacycaller behaviour of <embed> and <object>.]]
([TIME[2012-01-26 07:49:00 +09:00]] 版)
<https://html5.org/r/6915>
[22] [CITE@en[Remove legacycaller from two collections · whatwg/html@834a858]] ([TIME[2015-09-30 22:54:41 +09:00]] 版) <https://github.com/whatwg/html/commit/834a8589d2df1977ee8cb1e8b277fa87d5a69a0b>
** プラグインの legacycaller
[14] [CODE(DOMi)@en[[[HTMLEmbedElement]]]] [[インターフェイス]]は、
[[legacycaller]] 操作を実装しなければ[['''なりません''']] [SRC[>>13]]。
[15] その既定の動作は、 [CODE(DOMi)@en[[[NotSupportedError]]]] [[例外]]を[[投げる]]ものとすることが[RUBYB[提案]@en[suggest]]されています [SRC[>>13]]。
[17] [CODE(HTMLe)@en[[[object]]]] [[要素]]の [[legacycaller]] 操作は、
次のようにしなければ[['''なりません''']] [SRC[>>16]]。
[FIG(steps)[
= [18] [[実現値化]]された[[プラグイン]]を持つ場合で、
そのスクリプト可能インターフェイスに [[legacycaller]] 操作が定義されているなら、
== [19] それを呼び出します。
= [20] それ以外の場合、
== [21] [CODE(DOMe)@en[[[NotSupportedError]]]] [[例外]]を[[投げます]]。
]FIG]
[23] [CITE@en[Remove legacycaller from <object> and <embed>]]
([[zcorpan]]著, [TIME[2016-10-26 21:40:28 +09:00]])
<https://github.com/whatwg/html/commit/aaf2435a8cbaf7fa4e791bf86874854bb1b618af>
**
[24] [CITE@en[Add legacy platform objects. (#230)]]
([[tobie]]著, [TIME[2016-11-15 02:07:16 +09:00]])
<https://github.com/heycam/webidl/commit/379685767dce3f953e187a2a8f3cb492b9b56649>
[25] [CITE@en[API Deprecations and Removals in Chrome 57 | Web | Google Developers]]
([TIME[2017-02-23 00:20:53 +09:00]])
<https://developers.google.com/web/updates/2017/02/chrome-57-deprecations?utm_source=feed&utm_medium=>
[26] [CITE@en[Deprecations and Removals in Chrome 58 | Web | Google Developers]]
( ([TIME[2017-03-28 01:25:28 +09:00]]))
<https://developers.google.com/web/updates/2017/03/chrome-58-deprecations>
[27] [CITE@en[Editorial: switch HTMLAllCollection legacycaller to custom '''[''''''['''Call''']'''''']''']]
([[tobie]]著, [TIME[2017-09-09 06:21:15 +09:00]])
<https://github.com/whatwg/html/commit/0679448c59cb4cd69019be1e1f35fee1bcbc9c66>
[28] [CITE@en[Add HTMLAllCollection '''[''''''['''Call''']'''''']''', remove legacycaller special operation by tobie · Pull Request #2932 · whatwg/html]]
([TIME[2017-09-09 17:37:28 +09:00]])
<https://github.com/whatwg/html/pull/2932>