@@ -75,14 +75,16 @@ def self.supports?(feature)
75
75
when 'Window.send (Asynchronous)'
76
76
if defined? ( `window.postMessage` ) && !defined? ( `window.importScripts` )
77
77
%x{
78
- var ok = true,
79
- old = window.onmessage;
78
+ (function() {
79
+ var ok = true,
80
+ old = window.onmessage;
80
81
81
- window.onmessage = function() { ok = false; };
82
- window.postMessage("", "*")
83
- window.onmessage = old;
82
+ window.onmessage = function() { ok = false; };
83
+ window.postMessage("", "*")
84
+ window.onmessage = old;
84
85
85
- return ok;
86
+ return ok;
87
+ })()
86
88
}
87
89
end
88
90
@@ -106,45 +108,55 @@ def self.supports?(feature)
106
108
107
109
when 'Attr.isId'
108
110
%x{
109
- var div = document.createElement('div');
110
- div.setAttribute('id', 'xxxxxxxxxxxxx');
111
+ (function() {
112
+ var div = document.createElement('div');
113
+ div.setAttribute('id', 'xxxxxxxxxxxxx');
111
114
112
- return typeof(div.attributes['id'].isId) !== "undefined";
115
+ return typeof(div.attributes['id'].isId) !== "undefined";
116
+ })()
113
117
}
114
118
115
119
when 'Element.addBehavior'
116
120
defined? ( `document.documentElement.addBehavior` )
117
121
118
122
when 'Element.className'
119
123
%x{
120
- var div = document.createElement("div");
121
- div.setAttribute('className', 'x');
124
+ (function() {
125
+ var div = document.createElement("div");
126
+ div.setAttribute('className', 'x');
122
127
123
- return div.className === 'x';
128
+ return div.className === 'x';
129
+ })()
124
130
}
125
131
126
132
when 'Element.class'
127
133
%x{
128
- var div = document.createElement("div");
129
- div.setAttribute('class', 'x');
134
+ (function() {
135
+ var div = document.createElement("div");
136
+ div.setAttribute('class', 'x');
130
137
131
- return div.className === 'x';
138
+ return div.className === 'x';
139
+ })()
132
140
}
133
141
134
142
when 'Element.for'
135
143
%x{
136
- var label = document.createElement("label");
137
- label.setAttribute('for', 'x');
144
+ (function() {
145
+ var label = document.createElement("label");
146
+ label.setAttribute('for', 'x');
138
147
139
- return label.htmlFor === 'x';
148
+ return label.htmlFor === 'x';
149
+ })()
140
150
}
141
151
142
152
when 'Element.htmlFor'
143
153
%x{
144
- var label = document.createElement("label");
145
- label.setAttribute('htmlFor', 'x');
154
+ (function() {
155
+ var label = document.createElement("label");
156
+ label.setAttribute('htmlFor', 'x');
146
157
147
- return label.htmlFor === 'x';
158
+ return label.htmlFor === 'x';
159
+ })()
148
160
}
149
161
150
162
when 'Element.clientSize'
0 commit comments