Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(288)

Side by Side Diff: third_party/WebKit/Source/bindings/tests/results/core/V8TestDictionary.cpp

Issue 2751263002: [Bindings] Cache handles for dictionary keys on V8PerIsolateData. (Closed)
Patch Set: findOrCreateEternalNameCache Created 3 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 // This file has been auto-generated by code_generator_v8.py. 5 // This file has been auto-generated by code_generator_v8.py.
6 // DO NOT MODIFY! 6 // DO NOT MODIFY!
7 7
8 // This file has been generated from the Jinja2 template in 8 // This file has been generated from the Jinja2 template in
9 // third_party/WebKit/Source/bindings/templates/dictionary_v8.cpp.tmpl 9 // third_party/WebKit/Source/bindings/templates/dictionary_v8.cpp.tmpl
10 10
(...skipping 13 matching lines...) Expand all
24 #include "bindings/core/v8/V8TestInterface2.h" 24 #include "bindings/core/v8/V8TestInterface2.h"
25 #include "bindings/core/v8/V8TestInterfaceGarbageCollected.h" 25 #include "bindings/core/v8/V8TestInterfaceGarbageCollected.h"
26 #include "bindings/core/v8/V8TestObject.h" 26 #include "bindings/core/v8/V8TestObject.h"
27 #include "bindings/core/v8/V8Uint8Array.h" 27 #include "bindings/core/v8/V8Uint8Array.h"
28 #include "core/dom/FlexibleArrayBufferView.h" 28 #include "core/dom/FlexibleArrayBufferView.h"
29 #include "core/frame/Deprecation.h" 29 #include "core/frame/Deprecation.h"
30 #include "platform/RuntimeEnabledFeatures.h" 30 #include "platform/RuntimeEnabledFeatures.h"
31 31
32 namespace blink { 32 namespace blink {
33 33
34 static const v8::Eternal<v8::Name>* eternalV8TestDictionaryKeys(v8::Isolate* iso late) {
35 static const char* const kKeys[] = {
36 "anyMember",
37 "booleanMember",
38 "create",
39 "deprecatedCreateMember",
40 "dictionaryMember",
41 "doubleOrNullMember",
42 "doubleOrStringMember",
43 "doubleOrStringSequenceMember",
44 "elementOrNullMember",
45 "enumMember",
46 "enumSequenceMember",
47 "eventTargetMember",
48 "garbageCollectedRecordMember",
49 "internalDictionarySequenceMember",
50 "longMember",
51 "objectMember",
52 "objectOrNullMember",
53 "otherDoubleOrStringMember",
54 "prefixGetMember",
55 "recordMember",
56 "restrictedDoubleMember",
57 "runtimeMember",
58 "stringArrayMember",
59 "stringMember",
60 "stringOrNullMember",
61 "stringSequenceMember",
62 "testInterface2OrUint8ArrayMember",
63 "testInterfaceGarbageCollectedMember",
64 "testInterfaceGarbageCollectedOrNullMember",
65 "testInterfaceGarbageCollectedSequenceMember",
66 "testInterfaceMember",
67 "testInterfaceOrNullMember",
68 "testInterfaceSequenceMember",
69 "testObjectSequenceMember",
70 "uint8ArrayMember",
71 "unionInRecordMember",
72 "unionWithTypedefs",
73 "unrestrictedDoubleMember",
74 };
75 return V8PerIsolateData::from(isolate)->findOrCreateEternalNameCache(
76 kKeys, kKeys, WTF_ARRAY_LENGTH(kKeys));
77 }
78
34 void V8TestDictionary::toImpl(v8::Isolate* isolate, v8::Local<v8::Value> v8Value , TestDictionary& impl, ExceptionState& exceptionState) { 79 void V8TestDictionary::toImpl(v8::Isolate* isolate, v8::Local<v8::Value> v8Value , TestDictionary& impl, ExceptionState& exceptionState) {
35 if (isUndefinedOrNull(v8Value)) { 80 if (isUndefinedOrNull(v8Value)) {
36 return; 81 return;
37 } 82 }
38 if (!v8Value->IsObject()) { 83 if (!v8Value->IsObject()) {
39 exceptionState.throwTypeError("cannot convert to dictionary."); 84 exceptionState.throwTypeError("cannot convert to dictionary.");
40 return; 85 return;
41 } 86 }
42 v8::Local<v8::Object> v8Object = v8Value.As<v8::Object>(); 87 v8::Local<v8::Object> v8Object = v8Value.As<v8::Object>();
43 ALLOW_UNUSED_LOCAL(v8Object); 88 ALLOW_UNUSED_LOCAL(v8Object);
44 89
90 const v8::Eternal<v8::Name>* keys = eternalV8TestDictionaryKeys(isolate);
45 v8::TryCatch block(isolate); 91 v8::TryCatch block(isolate);
92 v8::Local<v8::Context> context = isolate->GetCurrentContext();
46 v8::Local<v8::Value> anyMemberValue; 93 v8::Local<v8::Value> anyMemberValue;
47 if (!v8Object->Get(isolate->GetCurrentContext(), v8AtomicString(isolate, "anyM ember")).ToLocal(&anyMemberValue)) { 94 if (!v8Object->Get(context, keys[0].Get(isolate)).ToLocal(&anyMemberValue)) {
48 exceptionState.rethrowV8Exception(block.Exception()); 95 exceptionState.rethrowV8Exception(block.Exception());
49 return; 96 return;
50 } 97 }
51 if (anyMemberValue.IsEmpty() || anyMemberValue->IsUndefined()) { 98 if (anyMemberValue.IsEmpty() || anyMemberValue->IsUndefined()) {
52 // Do nothing. 99 // Do nothing.
53 } else { 100 } else {
54 ScriptValue anyMember = ScriptValue(ScriptState::current(isolate), anyMember Value); 101 ScriptValue anyMember = ScriptValue(ScriptState::current(isolate), anyMember Value);
55 impl.setAnyMember(anyMember); 102 impl.setAnyMember(anyMember);
56 } 103 }
57 104
58 v8::Local<v8::Value> booleanMemberValue; 105 v8::Local<v8::Value> booleanMemberValue;
59 if (!v8Object->Get(isolate->GetCurrentContext(), v8AtomicString(isolate, "bool eanMember")).ToLocal(&booleanMemberValue)) { 106 if (!v8Object->Get(context, keys[1].Get(isolate)).ToLocal(&booleanMemberValue) ) {
60 exceptionState.rethrowV8Exception(block.Exception()); 107 exceptionState.rethrowV8Exception(block.Exception());
61 return; 108 return;
62 } 109 }
63 if (booleanMemberValue.IsEmpty() || booleanMemberValue->IsUndefined()) { 110 if (booleanMemberValue.IsEmpty() || booleanMemberValue->IsUndefined()) {
64 // Do nothing. 111 // Do nothing.
65 } else { 112 } else {
66 bool booleanMember = NativeValueTraits<IDLBoolean>::nativeValue(isolate, boo leanMemberValue, exceptionState); 113 bool booleanMember = NativeValueTraits<IDLBoolean>::nativeValue(isolate, boo leanMemberValue, exceptionState);
67 if (exceptionState.hadException()) 114 if (exceptionState.hadException())
68 return; 115 return;
69 impl.setBooleanMember(booleanMember); 116 impl.setBooleanMember(booleanMember);
70 } 117 }
71 118
72 v8::Local<v8::Value> createValue; 119 v8::Local<v8::Value> createValue;
73 if (!v8Object->Get(isolate->GetCurrentContext(), v8AtomicString(isolate, "crea te")).ToLocal(&createValue)) { 120 if (!v8Object->Get(context, keys[2].Get(isolate)).ToLocal(&createValue)) {
74 exceptionState.rethrowV8Exception(block.Exception()); 121 exceptionState.rethrowV8Exception(block.Exception());
75 return; 122 return;
76 } 123 }
77 if (createValue.IsEmpty() || createValue->IsUndefined()) { 124 if (createValue.IsEmpty() || createValue->IsUndefined()) {
78 // Do nothing. 125 // Do nothing.
79 } else { 126 } else {
80 bool create = NativeValueTraits<IDLBoolean>::nativeValue(isolate, createValu e, exceptionState); 127 bool create = NativeValueTraits<IDLBoolean>::nativeValue(isolate, createValu e, exceptionState);
81 if (exceptionState.hadException()) 128 if (exceptionState.hadException())
82 return; 129 return;
83 impl.setCreateMember(create); 130 impl.setCreateMember(create);
84 } 131 }
85 132
86 v8::Local<v8::Value> deprecatedCreateMemberValue; 133 v8::Local<v8::Value> deprecatedCreateMemberValue;
87 if (!v8Object->Get(isolate->GetCurrentContext(), v8AtomicString(isolate, "depr ecatedCreateMember")).ToLocal(&deprecatedCreateMemberValue)) { 134 if (!v8Object->Get(context, keys[3].Get(isolate)).ToLocal(&deprecatedCreateMem berValue)) {
88 exceptionState.rethrowV8Exception(block.Exception()); 135 exceptionState.rethrowV8Exception(block.Exception());
89 return; 136 return;
90 } 137 }
91 if (deprecatedCreateMemberValue.IsEmpty() || deprecatedCreateMemberValue->IsUn defined()) { 138 if (deprecatedCreateMemberValue.IsEmpty() || deprecatedCreateMemberValue->IsUn defined()) {
92 // Do nothing. 139 // Do nothing.
93 } else { 140 } else {
94 Deprecation::countDeprecation(currentExecutionContext(isolate), UseCounter:: CreateMember); 141 Deprecation::countDeprecation(currentExecutionContext(isolate), UseCounter:: CreateMember);
95 bool deprecatedCreateMember = NativeValueTraits<IDLBoolean>::nativeValue(iso late, deprecatedCreateMemberValue, exceptionState); 142 bool deprecatedCreateMember = NativeValueTraits<IDLBoolean>::nativeValue(iso late, deprecatedCreateMemberValue, exceptionState);
96 if (exceptionState.hadException()) 143 if (exceptionState.hadException())
97 return; 144 return;
98 impl.setCreateMember(deprecatedCreateMember); 145 impl.setCreateMember(deprecatedCreateMember);
99 } 146 }
100 147
101 v8::Local<v8::Value> dictionaryMemberValue; 148 v8::Local<v8::Value> dictionaryMemberValue;
102 if (!v8Object->Get(isolate->GetCurrentContext(), v8AtomicString(isolate, "dict ionaryMember")).ToLocal(&dictionaryMemberValue)) { 149 if (!v8Object->Get(context, keys[4].Get(isolate)).ToLocal(&dictionaryMemberVal ue)) {
103 exceptionState.rethrowV8Exception(block.Exception()); 150 exceptionState.rethrowV8Exception(block.Exception());
104 return; 151 return;
105 } 152 }
106 if (dictionaryMemberValue.IsEmpty() || dictionaryMemberValue->IsUndefined()) { 153 if (dictionaryMemberValue.IsEmpty() || dictionaryMemberValue->IsUndefined()) {
107 // Do nothing. 154 // Do nothing.
108 } else { 155 } else {
109 Dictionary dictionaryMember = NativeValueTraits<Dictionary>::nativeValue(iso late, dictionaryMemberValue, exceptionState); 156 Dictionary dictionaryMember = NativeValueTraits<Dictionary>::nativeValue(iso late, dictionaryMemberValue, exceptionState);
110 if (exceptionState.hadException()) 157 if (exceptionState.hadException())
111 return; 158 return;
112 if (!dictionaryMember.isObject()) { 159 if (!dictionaryMember.isObject()) {
113 exceptionState.throwTypeError("member dictionaryMember is not an object.") ; 160 exceptionState.throwTypeError("member dictionaryMember is not an object.") ;
114 return; 161 return;
115 } 162 }
116 impl.setDictionaryMember(dictionaryMember); 163 impl.setDictionaryMember(dictionaryMember);
117 } 164 }
118 165
119 v8::Local<v8::Value> doubleOrNullMemberValue; 166 v8::Local<v8::Value> doubleOrNullMemberValue;
120 if (!v8Object->Get(isolate->GetCurrentContext(), v8AtomicString(isolate, "doub leOrNullMember")).ToLocal(&doubleOrNullMemberValue)) { 167 if (!v8Object->Get(context, keys[5].Get(isolate)).ToLocal(&doubleOrNullMemberV alue)) {
121 exceptionState.rethrowV8Exception(block.Exception()); 168 exceptionState.rethrowV8Exception(block.Exception());
122 return; 169 return;
123 } 170 }
124 if (doubleOrNullMemberValue.IsEmpty() || doubleOrNullMemberValue->IsUndefined( )) { 171 if (doubleOrNullMemberValue.IsEmpty() || doubleOrNullMemberValue->IsUndefined( )) {
125 // Do nothing. 172 // Do nothing.
126 } else if (doubleOrNullMemberValue->IsNull()) { 173 } else if (doubleOrNullMemberValue->IsNull()) {
127 impl.setDoubleOrNullMemberToNull(); 174 impl.setDoubleOrNullMemberToNull();
128 } else { 175 } else {
129 double doubleOrNullMember = NativeValueTraits<IDLDouble>::nativeValue(isolat e, doubleOrNullMemberValue, exceptionState); 176 double doubleOrNullMember = NativeValueTraits<IDLDouble>::nativeValue(isolat e, doubleOrNullMemberValue, exceptionState);
130 if (exceptionState.hadException()) 177 if (exceptionState.hadException())
131 return; 178 return;
132 impl.setDoubleOrNullMember(doubleOrNullMember); 179 impl.setDoubleOrNullMember(doubleOrNullMember);
133 } 180 }
134 181
135 v8::Local<v8::Value> doubleOrStringMemberValue; 182 v8::Local<v8::Value> doubleOrStringMemberValue;
136 if (!v8Object->Get(isolate->GetCurrentContext(), v8AtomicString(isolate, "doub leOrStringMember")).ToLocal(&doubleOrStringMemberValue)) { 183 if (!v8Object->Get(context, keys[6].Get(isolate)).ToLocal(&doubleOrStringMembe rValue)) {
137 exceptionState.rethrowV8Exception(block.Exception()); 184 exceptionState.rethrowV8Exception(block.Exception());
138 return; 185 return;
139 } 186 }
140 if (doubleOrStringMemberValue.IsEmpty() || doubleOrStringMemberValue->IsUndefi ned()) { 187 if (doubleOrStringMemberValue.IsEmpty() || doubleOrStringMemberValue->IsUndefi ned()) {
141 // Do nothing. 188 // Do nothing.
142 } else { 189 } else {
143 DoubleOrString doubleOrStringMember; 190 DoubleOrString doubleOrStringMember;
144 V8DoubleOrString::toImpl(isolate, doubleOrStringMemberValue, doubleOrStringM ember, UnionTypeConversionMode::NotNullable, exceptionState); 191 V8DoubleOrString::toImpl(isolate, doubleOrStringMemberValue, doubleOrStringM ember, UnionTypeConversionMode::NotNullable, exceptionState);
145 if (exceptionState.hadException()) 192 if (exceptionState.hadException())
146 return; 193 return;
147 impl.setDoubleOrStringMember(doubleOrStringMember); 194 impl.setDoubleOrStringMember(doubleOrStringMember);
148 } 195 }
149 196
150 v8::Local<v8::Value> doubleOrStringSequenceMemberValue; 197 v8::Local<v8::Value> doubleOrStringSequenceMemberValue;
151 if (!v8Object->Get(isolate->GetCurrentContext(), v8AtomicString(isolate, "doub leOrStringSequenceMember")).ToLocal(&doubleOrStringSequenceMemberValue)) { 198 if (!v8Object->Get(context, keys[7].Get(isolate)).ToLocal(&doubleOrStringSeque nceMemberValue)) {
152 exceptionState.rethrowV8Exception(block.Exception()); 199 exceptionState.rethrowV8Exception(block.Exception());
153 return; 200 return;
154 } 201 }
155 if (doubleOrStringSequenceMemberValue.IsEmpty() || doubleOrStringSequenceMembe rValue->IsUndefined()) { 202 if (doubleOrStringSequenceMemberValue.IsEmpty() || doubleOrStringSequenceMembe rValue->IsUndefined()) {
156 // Do nothing. 203 // Do nothing.
157 } else { 204 } else {
158 HeapVector<DoubleOrString> doubleOrStringSequenceMember = toImplArray<HeapVe ctor<DoubleOrString>>(doubleOrStringSequenceMemberValue, 0, isolate, exceptionSt ate); 205 HeapVector<DoubleOrString> doubleOrStringSequenceMember = toImplArray<HeapVe ctor<DoubleOrString>>(doubleOrStringSequenceMemberValue, 0, isolate, exceptionSt ate);
159 if (exceptionState.hadException()) 206 if (exceptionState.hadException())
160 return; 207 return;
161 impl.setDoubleOrStringSequenceMember(doubleOrStringSequenceMember); 208 impl.setDoubleOrStringSequenceMember(doubleOrStringSequenceMember);
162 } 209 }
163 210
164 v8::Local<v8::Value> elementOrNullMemberValue; 211 v8::Local<v8::Value> elementOrNullMemberValue;
165 if (!v8Object->Get(isolate->GetCurrentContext(), v8AtomicString(isolate, "elem entOrNullMember")).ToLocal(&elementOrNullMemberValue)) { 212 if (!v8Object->Get(context, keys[8].Get(isolate)).ToLocal(&elementOrNullMember Value)) {
166 exceptionState.rethrowV8Exception(block.Exception()); 213 exceptionState.rethrowV8Exception(block.Exception());
167 return; 214 return;
168 } 215 }
169 if (elementOrNullMemberValue.IsEmpty() || elementOrNullMemberValue->IsUndefine d()) { 216 if (elementOrNullMemberValue.IsEmpty() || elementOrNullMemberValue->IsUndefine d()) {
170 // Do nothing. 217 // Do nothing.
171 } else if (elementOrNullMemberValue->IsNull()) { 218 } else if (elementOrNullMemberValue->IsNull()) {
172 impl.setElementOrNullMemberToNull(); 219 impl.setElementOrNullMemberToNull();
173 } else { 220 } else {
174 Element* elementOrNullMember = V8Element::toImplWithTypeCheck(isolate, eleme ntOrNullMemberValue); 221 Element* elementOrNullMember = V8Element::toImplWithTypeCheck(isolate, eleme ntOrNullMemberValue);
175 if (!elementOrNullMember) { 222 if (!elementOrNullMember) {
176 exceptionState.throwTypeError("member elementOrNullMember is not of type E lement."); 223 exceptionState.throwTypeError("member elementOrNullMember is not of type E lement.");
177 return; 224 return;
178 } 225 }
179 impl.setElementOrNullMember(elementOrNullMember); 226 impl.setElementOrNullMember(elementOrNullMember);
180 } 227 }
181 228
182 v8::Local<v8::Value> enumMemberValue; 229 v8::Local<v8::Value> enumMemberValue;
183 if (!v8Object->Get(isolate->GetCurrentContext(), v8AtomicString(isolate, "enum Member")).ToLocal(&enumMemberValue)) { 230 if (!v8Object->Get(context, keys[9].Get(isolate)).ToLocal(&enumMemberValue)) {
184 exceptionState.rethrowV8Exception(block.Exception()); 231 exceptionState.rethrowV8Exception(block.Exception());
185 return; 232 return;
186 } 233 }
187 if (enumMemberValue.IsEmpty() || enumMemberValue->IsUndefined()) { 234 if (enumMemberValue.IsEmpty() || enumMemberValue->IsUndefined()) {
188 // Do nothing. 235 // Do nothing.
189 } else { 236 } else {
190 V8StringResource<> enumMember = enumMemberValue; 237 V8StringResource<> enumMember = enumMemberValue;
191 if (!enumMember.prepare(exceptionState)) 238 if (!enumMember.prepare(exceptionState))
192 return; 239 return;
193 const char* validValues[] = { 240 const char* validValues[] = {
194 "", 241 "",
195 "EnumValue1", 242 "EnumValue1",
196 "EnumValue2", 243 "EnumValue2",
197 "EnumValue3", 244 "EnumValue3",
198 }; 245 };
199 if (!isValidEnum(enumMember, validValues, WTF_ARRAY_LENGTH(validValues), "Te stEnum", exceptionState)) 246 if (!isValidEnum(enumMember, validValues, WTF_ARRAY_LENGTH(validValues), "Te stEnum", exceptionState))
200 return; 247 return;
201 impl.setEnumMember(enumMember); 248 impl.setEnumMember(enumMember);
202 } 249 }
203 250
204 v8::Local<v8::Value> enumSequenceMemberValue; 251 v8::Local<v8::Value> enumSequenceMemberValue;
205 if (!v8Object->Get(isolate->GetCurrentContext(), v8AtomicString(isolate, "enum SequenceMember")).ToLocal(&enumSequenceMemberValue)) { 252 if (!v8Object->Get(context, keys[10].Get(isolate)).ToLocal(&enumSequenceMember Value)) {
206 exceptionState.rethrowV8Exception(block.Exception()); 253 exceptionState.rethrowV8Exception(block.Exception());
207 return; 254 return;
208 } 255 }
209 if (enumSequenceMemberValue.IsEmpty() || enumSequenceMemberValue->IsUndefined( )) { 256 if (enumSequenceMemberValue.IsEmpty() || enumSequenceMemberValue->IsUndefined( )) {
210 // Do nothing. 257 // Do nothing.
211 } else { 258 } else {
212 Vector<String> enumSequenceMember = toImplArray<Vector<String>>(enumSequence MemberValue, 0, isolate, exceptionState); 259 Vector<String> enumSequenceMember = toImplArray<Vector<String>>(enumSequence MemberValue, 0, isolate, exceptionState);
213 if (exceptionState.hadException()) 260 if (exceptionState.hadException())
214 return; 261 return;
215 const char* validValues[] = { 262 const char* validValues[] = {
216 "", 263 "",
217 "EnumValue1", 264 "EnumValue1",
218 "EnumValue2", 265 "EnumValue2",
219 "EnumValue3", 266 "EnumValue3",
220 }; 267 };
221 if (!isValidEnum(enumSequenceMember, validValues, WTF_ARRAY_LENGTH(validValu es), "TestEnum", exceptionState)) 268 if (!isValidEnum(enumSequenceMember, validValues, WTF_ARRAY_LENGTH(validValu es), "TestEnum", exceptionState))
222 return; 269 return;
223 impl.setEnumSequenceMember(enumSequenceMember); 270 impl.setEnumSequenceMember(enumSequenceMember);
224 } 271 }
225 272
226 v8::Local<v8::Value> eventTargetMemberValue; 273 v8::Local<v8::Value> eventTargetMemberValue;
227 if (!v8Object->Get(isolate->GetCurrentContext(), v8AtomicString(isolate, "even tTargetMember")).ToLocal(&eventTargetMemberValue)) { 274 if (!v8Object->Get(context, keys[11].Get(isolate)).ToLocal(&eventTargetMemberV alue)) {
228 exceptionState.rethrowV8Exception(block.Exception()); 275 exceptionState.rethrowV8Exception(block.Exception());
229 return; 276 return;
230 } 277 }
231 if (eventTargetMemberValue.IsEmpty() || eventTargetMemberValue->IsUndefined()) { 278 if (eventTargetMemberValue.IsEmpty() || eventTargetMemberValue->IsUndefined()) {
232 // Do nothing. 279 // Do nothing.
233 } else { 280 } else {
234 EventTarget* eventTargetMember = V8EventTarget::toImplWithTypeCheck(isolate, eventTargetMemberValue); 281 EventTarget* eventTargetMember = V8EventTarget::toImplWithTypeCheck(isolate, eventTargetMemberValue);
235 if (!eventTargetMember) { 282 if (!eventTargetMember) {
236 exceptionState.throwTypeError("member eventTargetMember is not of type Eve ntTarget."); 283 exceptionState.throwTypeError("member eventTargetMember is not of type Eve ntTarget.");
237 return; 284 return;
238 } 285 }
239 impl.setEventTargetMember(eventTargetMember); 286 impl.setEventTargetMember(eventTargetMember);
240 } 287 }
241 288
242 v8::Local<v8::Value> garbageCollectedRecordMemberValue; 289 v8::Local<v8::Value> garbageCollectedRecordMemberValue;
243 if (!v8Object->Get(isolate->GetCurrentContext(), v8AtomicString(isolate, "garb ageCollectedRecordMember")).ToLocal(&garbageCollectedRecordMemberValue)) { 290 if (!v8Object->Get(context, keys[12].Get(isolate)).ToLocal(&garbageCollectedRe cordMemberValue)) {
244 exceptionState.rethrowV8Exception(block.Exception()); 291 exceptionState.rethrowV8Exception(block.Exception());
245 return; 292 return;
246 } 293 }
247 if (garbageCollectedRecordMemberValue.IsEmpty() || garbageCollectedRecordMembe rValue->IsUndefined()) { 294 if (garbageCollectedRecordMemberValue.IsEmpty() || garbageCollectedRecordMembe rValue->IsUndefined()) {
248 // Do nothing. 295 // Do nothing.
249 } else { 296 } else {
250 HeapVector<std::pair<String, Member<TestObject>>> garbageCollectedRecordMemb er = NativeValueTraits<IDLRecord<IDLUSVString, TestObject>>::nativeValue(isolate , garbageCollectedRecordMemberValue, exceptionState); 297 HeapVector<std::pair<String, Member<TestObject>>> garbageCollectedRecordMemb er = NativeValueTraits<IDLRecord<IDLUSVString, TestObject>>::nativeValue(isolate , garbageCollectedRecordMemberValue, exceptionState);
251 if (exceptionState.hadException()) 298 if (exceptionState.hadException())
252 return; 299 return;
253 impl.setGarbageCollectedRecordMember(garbageCollectedRecordMember); 300 impl.setGarbageCollectedRecordMember(garbageCollectedRecordMember);
254 } 301 }
255 302
256 v8::Local<v8::Value> internalDictionarySequenceMemberValue; 303 v8::Local<v8::Value> internalDictionarySequenceMemberValue;
257 if (!v8Object->Get(isolate->GetCurrentContext(), v8AtomicString(isolate, "inte rnalDictionarySequenceMember")).ToLocal(&internalDictionarySequenceMemberValue)) { 304 if (!v8Object->Get(context, keys[13].Get(isolate)).ToLocal(&internalDictionary SequenceMemberValue)) {
258 exceptionState.rethrowV8Exception(block.Exception()); 305 exceptionState.rethrowV8Exception(block.Exception());
259 return; 306 return;
260 } 307 }
261 if (internalDictionarySequenceMemberValue.IsEmpty() || internalDictionarySeque nceMemberValue->IsUndefined()) { 308 if (internalDictionarySequenceMemberValue.IsEmpty() || internalDictionarySeque nceMemberValue->IsUndefined()) {
262 // Do nothing. 309 // Do nothing.
263 } else { 310 } else {
264 HeapVector<InternalDictionary> internalDictionarySequenceMember = toImplArra y<HeapVector<InternalDictionary>>(internalDictionarySequenceMemberValue, 0, isol ate, exceptionState); 311 HeapVector<InternalDictionary> internalDictionarySequenceMember = toImplArra y<HeapVector<InternalDictionary>>(internalDictionarySequenceMemberValue, 0, isol ate, exceptionState);
265 if (exceptionState.hadException()) 312 if (exceptionState.hadException())
266 return; 313 return;
267 impl.setInternalDictionarySequenceMember(internalDictionarySequenceMember); 314 impl.setInternalDictionarySequenceMember(internalDictionarySequenceMember);
268 } 315 }
269 316
270 v8::Local<v8::Value> longMemberValue; 317 v8::Local<v8::Value> longMemberValue;
271 if (!v8Object->Get(isolate->GetCurrentContext(), v8AtomicString(isolate, "long Member")).ToLocal(&longMemberValue)) { 318 if (!v8Object->Get(context, keys[14].Get(isolate)).ToLocal(&longMemberValue)) {
272 exceptionState.rethrowV8Exception(block.Exception()); 319 exceptionState.rethrowV8Exception(block.Exception());
273 return; 320 return;
274 } 321 }
275 if (longMemberValue.IsEmpty() || longMemberValue->IsUndefined()) { 322 if (longMemberValue.IsEmpty() || longMemberValue->IsUndefined()) {
276 // Do nothing. 323 // Do nothing.
277 } else { 324 } else {
278 int32_t longMember = NativeValueTraits<IDLLong>::nativeValue(isolate, longMe mberValue, exceptionState, NormalConversion); 325 int32_t longMember = NativeValueTraits<IDLLong>::nativeValue(isolate, longMe mberValue, exceptionState, NormalConversion);
279 if (exceptionState.hadException()) 326 if (exceptionState.hadException())
280 return; 327 return;
281 impl.setLongMember(longMember); 328 impl.setLongMember(longMember);
282 } 329 }
283 330
284 v8::Local<v8::Value> objectMemberValue; 331 v8::Local<v8::Value> objectMemberValue;
285 if (!v8Object->Get(isolate->GetCurrentContext(), v8AtomicString(isolate, "obje ctMember")).ToLocal(&objectMemberValue)) { 332 if (!v8Object->Get(context, keys[15].Get(isolate)).ToLocal(&objectMemberValue) ) {
286 exceptionState.rethrowV8Exception(block.Exception()); 333 exceptionState.rethrowV8Exception(block.Exception());
287 return; 334 return;
288 } 335 }
289 if (objectMemberValue.IsEmpty() || objectMemberValue->IsUndefined()) { 336 if (objectMemberValue.IsEmpty() || objectMemberValue->IsUndefined()) {
290 // Do nothing. 337 // Do nothing.
291 } else { 338 } else {
292 ScriptValue objectMember = ScriptValue(ScriptState::current(isolate), object MemberValue); 339 ScriptValue objectMember = ScriptValue(ScriptState::current(isolate), object MemberValue);
293 if (!objectMember.isObject()) { 340 if (!objectMember.isObject()) {
294 exceptionState.throwTypeError("member objectMember is not an object."); 341 exceptionState.throwTypeError("member objectMember is not an object.");
295 return; 342 return;
296 } 343 }
297 impl.setObjectMember(objectMember); 344 impl.setObjectMember(objectMember);
298 } 345 }
299 346
300 v8::Local<v8::Value> objectOrNullMemberValue; 347 v8::Local<v8::Value> objectOrNullMemberValue;
301 if (!v8Object->Get(isolate->GetCurrentContext(), v8AtomicString(isolate, "obje ctOrNullMember")).ToLocal(&objectOrNullMemberValue)) { 348 if (!v8Object->Get(context, keys[16].Get(isolate)).ToLocal(&objectOrNullMember Value)) {
302 exceptionState.rethrowV8Exception(block.Exception()); 349 exceptionState.rethrowV8Exception(block.Exception());
303 return; 350 return;
304 } 351 }
305 if (objectOrNullMemberValue.IsEmpty() || objectOrNullMemberValue->IsUndefined( )) { 352 if (objectOrNullMemberValue.IsEmpty() || objectOrNullMemberValue->IsUndefined( )) {
306 // Do nothing. 353 // Do nothing.
307 } else if (objectOrNullMemberValue->IsNull()) { 354 } else if (objectOrNullMemberValue->IsNull()) {
308 impl.setObjectOrNullMemberToNull(); 355 impl.setObjectOrNullMemberToNull();
309 } else { 356 } else {
310 ScriptValue objectOrNullMember = ScriptValue(ScriptState::current(isolate), objectOrNullMemberValue); 357 ScriptValue objectOrNullMember = ScriptValue(ScriptState::current(isolate), objectOrNullMemberValue);
311 if (!objectOrNullMember.isObject()) { 358 if (!objectOrNullMember.isObject()) {
312 exceptionState.throwTypeError("member objectOrNullMember is not an object. "); 359 exceptionState.throwTypeError("member objectOrNullMember is not an object. ");
313 return; 360 return;
314 } 361 }
315 impl.setObjectOrNullMember(objectOrNullMember); 362 impl.setObjectOrNullMember(objectOrNullMember);
316 } 363 }
317 364
318 v8::Local<v8::Value> otherDoubleOrStringMemberValue; 365 v8::Local<v8::Value> otherDoubleOrStringMemberValue;
319 if (!v8Object->Get(isolate->GetCurrentContext(), v8AtomicString(isolate, "othe rDoubleOrStringMember")).ToLocal(&otherDoubleOrStringMemberValue)) { 366 if (!v8Object->Get(context, keys[17].Get(isolate)).ToLocal(&otherDoubleOrStrin gMemberValue)) {
320 exceptionState.rethrowV8Exception(block.Exception()); 367 exceptionState.rethrowV8Exception(block.Exception());
321 return; 368 return;
322 } 369 }
323 if (otherDoubleOrStringMemberValue.IsEmpty() || otherDoubleOrStringMemberValue ->IsUndefined()) { 370 if (otherDoubleOrStringMemberValue.IsEmpty() || otherDoubleOrStringMemberValue ->IsUndefined()) {
324 // Do nothing. 371 // Do nothing.
325 } else { 372 } else {
326 DoubleOrString otherDoubleOrStringMember; 373 DoubleOrString otherDoubleOrStringMember;
327 V8DoubleOrString::toImpl(isolate, otherDoubleOrStringMemberValue, otherDoubl eOrStringMember, UnionTypeConversionMode::NotNullable, exceptionState); 374 V8DoubleOrString::toImpl(isolate, otherDoubleOrStringMemberValue, otherDoubl eOrStringMember, UnionTypeConversionMode::NotNullable, exceptionState);
328 if (exceptionState.hadException()) 375 if (exceptionState.hadException())
329 return; 376 return;
330 impl.setOtherDoubleOrStringMember(otherDoubleOrStringMember); 377 impl.setOtherDoubleOrStringMember(otherDoubleOrStringMember);
331 } 378 }
332 379
333 v8::Local<v8::Value> prefixGetMemberValue; 380 v8::Local<v8::Value> prefixGetMemberValue;
334 if (!v8Object->Get(isolate->GetCurrentContext(), v8AtomicString(isolate, "pref ixGetMember")).ToLocal(&prefixGetMemberValue)) { 381 if (!v8Object->Get(context, keys[18].Get(isolate)).ToLocal(&prefixGetMemberVal ue)) {
335 exceptionState.rethrowV8Exception(block.Exception()); 382 exceptionState.rethrowV8Exception(block.Exception());
336 return; 383 return;
337 } 384 }
338 if (prefixGetMemberValue.IsEmpty() || prefixGetMemberValue->IsUndefined()) { 385 if (prefixGetMemberValue.IsEmpty() || prefixGetMemberValue->IsUndefined()) {
339 // Do nothing. 386 // Do nothing.
340 } else { 387 } else {
341 ScriptValue prefixGetMember = ScriptValue(ScriptState::current(isolate), pre fixGetMemberValue); 388 ScriptValue prefixGetMember = ScriptValue(ScriptState::current(isolate), pre fixGetMemberValue);
342 if (!prefixGetMember.isObject()) { 389 if (!prefixGetMember.isObject()) {
343 exceptionState.throwTypeError("member prefixGetMember is not an object."); 390 exceptionState.throwTypeError("member prefixGetMember is not an object.");
344 return; 391 return;
345 } 392 }
346 impl.setPrefixGetMember(prefixGetMember); 393 impl.setPrefixGetMember(prefixGetMember);
347 } 394 }
348 395
349 v8::Local<v8::Value> recordMemberValue; 396 v8::Local<v8::Value> recordMemberValue;
350 if (!v8Object->Get(isolate->GetCurrentContext(), v8AtomicString(isolate, "reco rdMember")).ToLocal(&recordMemberValue)) { 397 if (!v8Object->Get(context, keys[19].Get(isolate)).ToLocal(&recordMemberValue) ) {
351 exceptionState.rethrowV8Exception(block.Exception()); 398 exceptionState.rethrowV8Exception(block.Exception());
352 return; 399 return;
353 } 400 }
354 if (recordMemberValue.IsEmpty() || recordMemberValue->IsUndefined()) { 401 if (recordMemberValue.IsEmpty() || recordMemberValue->IsUndefined()) {
355 // Do nothing. 402 // Do nothing.
356 } else { 403 } else {
357 Vector<std::pair<String, int8_t>> recordMember = NativeValueTraits<IDLRecord <IDLByteString, IDLByte>>::nativeValue(isolate, recordMemberValue, exceptionStat e); 404 Vector<std::pair<String, int8_t>> recordMember = NativeValueTraits<IDLRecord <IDLByteString, IDLByte>>::nativeValue(isolate, recordMemberValue, exceptionStat e);
358 if (exceptionState.hadException()) 405 if (exceptionState.hadException())
359 return; 406 return;
360 impl.setRecordMember(recordMember); 407 impl.setRecordMember(recordMember);
361 } 408 }
362 409
363 v8::Local<v8::Value> restrictedDoubleMemberValue; 410 v8::Local<v8::Value> restrictedDoubleMemberValue;
364 if (!v8Object->Get(isolate->GetCurrentContext(), v8AtomicString(isolate, "rest rictedDoubleMember")).ToLocal(&restrictedDoubleMemberValue)) { 411 if (!v8Object->Get(context, keys[20].Get(isolate)).ToLocal(&restrictedDoubleMe mberValue)) {
365 exceptionState.rethrowV8Exception(block.Exception()); 412 exceptionState.rethrowV8Exception(block.Exception());
366 return; 413 return;
367 } 414 }
368 if (restrictedDoubleMemberValue.IsEmpty() || restrictedDoubleMemberValue->IsUn defined()) { 415 if (restrictedDoubleMemberValue.IsEmpty() || restrictedDoubleMemberValue->IsUn defined()) {
369 // Do nothing. 416 // Do nothing.
370 } else { 417 } else {
371 double restrictedDoubleMember = NativeValueTraits<IDLDouble>::nativeValue(is olate, restrictedDoubleMemberValue, exceptionState); 418 double restrictedDoubleMember = NativeValueTraits<IDLDouble>::nativeValue(is olate, restrictedDoubleMemberValue, exceptionState);
372 if (exceptionState.hadException()) 419 if (exceptionState.hadException())
373 return; 420 return;
374 impl.setRestrictedDoubleMember(restrictedDoubleMember); 421 impl.setRestrictedDoubleMember(restrictedDoubleMember);
375 } 422 }
376 423
377 if (RuntimeEnabledFeatures::runtimeFeatureEnabled()) { 424 if (RuntimeEnabledFeatures::runtimeFeatureEnabled()) {
378 v8::Local<v8::Value> runtimeMemberValue; 425 v8::Local<v8::Value> runtimeMemberValue;
379 if (!v8Object->Get(isolate->GetCurrentContext(), v8AtomicString(isolate, "ru ntimeMember")).ToLocal(&runtimeMemberValue)) { 426 if (!v8Object->Get(context, keys[21].Get(isolate)).ToLocal(&runtimeMemberVal ue)) {
380 exceptionState.rethrowV8Exception(block.Exception()); 427 exceptionState.rethrowV8Exception(block.Exception());
381 return; 428 return;
382 } 429 }
383 if (runtimeMemberValue.IsEmpty() || runtimeMemberValue->IsUndefined()) { 430 if (runtimeMemberValue.IsEmpty() || runtimeMemberValue->IsUndefined()) {
384 // Do nothing. 431 // Do nothing.
385 } else { 432 } else {
386 bool runtimeMember = NativeValueTraits<IDLBoolean>::nativeValue(isolate, r untimeMemberValue, exceptionState); 433 bool runtimeMember = NativeValueTraits<IDLBoolean>::nativeValue(isolate, r untimeMemberValue, exceptionState);
387 if (exceptionState.hadException()) 434 if (exceptionState.hadException())
388 return; 435 return;
389 impl.setRuntimeMember(runtimeMember); 436 impl.setRuntimeMember(runtimeMember);
390 } 437 }
391 } 438 }
392 439
393 v8::Local<v8::Value> stringArrayMemberValue; 440 v8::Local<v8::Value> stringArrayMemberValue;
394 if (!v8Object->Get(isolate->GetCurrentContext(), v8AtomicString(isolate, "stri ngArrayMember")).ToLocal(&stringArrayMemberValue)) { 441 if (!v8Object->Get(context, keys[22].Get(isolate)).ToLocal(&stringArrayMemberV alue)) {
395 exceptionState.rethrowV8Exception(block.Exception()); 442 exceptionState.rethrowV8Exception(block.Exception());
396 return; 443 return;
397 } 444 }
398 if (stringArrayMemberValue.IsEmpty() || stringArrayMemberValue->IsUndefined()) { 445 if (stringArrayMemberValue.IsEmpty() || stringArrayMemberValue->IsUndefined()) {
399 // Do nothing. 446 // Do nothing.
400 } else { 447 } else {
401 Vector<String> stringArrayMember = toImplArray<Vector<String>>(stringArrayMe mberValue, 0, isolate, exceptionState); 448 Vector<String> stringArrayMember = toImplArray<Vector<String>>(stringArrayMe mberValue, 0, isolate, exceptionState);
402 if (exceptionState.hadException()) 449 if (exceptionState.hadException())
403 return; 450 return;
404 impl.setStringArrayMember(stringArrayMember); 451 impl.setStringArrayMember(stringArrayMember);
405 } 452 }
406 453
407 v8::Local<v8::Value> stringMemberValue; 454 v8::Local<v8::Value> stringMemberValue;
408 if (!v8Object->Get(isolate->GetCurrentContext(), v8AtomicString(isolate, "stri ngMember")).ToLocal(&stringMemberValue)) { 455 if (!v8Object->Get(context, keys[23].Get(isolate)).ToLocal(&stringMemberValue) ) {
409 exceptionState.rethrowV8Exception(block.Exception()); 456 exceptionState.rethrowV8Exception(block.Exception());
410 return; 457 return;
411 } 458 }
412 if (stringMemberValue.IsEmpty() || stringMemberValue->IsUndefined()) { 459 if (stringMemberValue.IsEmpty() || stringMemberValue->IsUndefined()) {
413 // Do nothing. 460 // Do nothing.
414 } else { 461 } else {
415 V8StringResource<> stringMember = stringMemberValue; 462 V8StringResource<> stringMember = stringMemberValue;
416 if (!stringMember.prepare(exceptionState)) 463 if (!stringMember.prepare(exceptionState))
417 return; 464 return;
418 impl.setStringMember(stringMember); 465 impl.setStringMember(stringMember);
419 } 466 }
420 467
421 v8::Local<v8::Value> stringOrNullMemberValue; 468 v8::Local<v8::Value> stringOrNullMemberValue;
422 if (!v8Object->Get(isolate->GetCurrentContext(), v8AtomicString(isolate, "stri ngOrNullMember")).ToLocal(&stringOrNullMemberValue)) { 469 if (!v8Object->Get(context, keys[24].Get(isolate)).ToLocal(&stringOrNullMember Value)) {
423 exceptionState.rethrowV8Exception(block.Exception()); 470 exceptionState.rethrowV8Exception(block.Exception());
424 return; 471 return;
425 } 472 }
426 if (stringOrNullMemberValue.IsEmpty() || stringOrNullMemberValue->IsUndefined( )) { 473 if (stringOrNullMemberValue.IsEmpty() || stringOrNullMemberValue->IsUndefined( )) {
427 // Do nothing. 474 // Do nothing.
428 } else if (stringOrNullMemberValue->IsNull()) { 475 } else if (stringOrNullMemberValue->IsNull()) {
429 impl.setStringOrNullMemberToNull(); 476 impl.setStringOrNullMemberToNull();
430 } else { 477 } else {
431 V8StringResource<> stringOrNullMember = stringOrNullMemberValue; 478 V8StringResource<> stringOrNullMember = stringOrNullMemberValue;
432 if (!stringOrNullMember.prepare(exceptionState)) 479 if (!stringOrNullMember.prepare(exceptionState))
433 return; 480 return;
434 impl.setStringOrNullMember(stringOrNullMember); 481 impl.setStringOrNullMember(stringOrNullMember);
435 } 482 }
436 483
437 v8::Local<v8::Value> stringSequenceMemberValue; 484 v8::Local<v8::Value> stringSequenceMemberValue;
438 if (!v8Object->Get(isolate->GetCurrentContext(), v8AtomicString(isolate, "stri ngSequenceMember")).ToLocal(&stringSequenceMemberValue)) { 485 if (!v8Object->Get(context, keys[25].Get(isolate)).ToLocal(&stringSequenceMemb erValue)) {
439 exceptionState.rethrowV8Exception(block.Exception()); 486 exceptionState.rethrowV8Exception(block.Exception());
440 return; 487 return;
441 } 488 }
442 if (stringSequenceMemberValue.IsEmpty() || stringSequenceMemberValue->IsUndefi ned()) { 489 if (stringSequenceMemberValue.IsEmpty() || stringSequenceMemberValue->IsUndefi ned()) {
443 // Do nothing. 490 // Do nothing.
444 } else { 491 } else {
445 Vector<String> stringSequenceMember = toImplArray<Vector<String>>(stringSequ enceMemberValue, 0, isolate, exceptionState); 492 Vector<String> stringSequenceMember = toImplArray<Vector<String>>(stringSequ enceMemberValue, 0, isolate, exceptionState);
446 if (exceptionState.hadException()) 493 if (exceptionState.hadException())
447 return; 494 return;
448 impl.setStringSequenceMember(stringSequenceMember); 495 impl.setStringSequenceMember(stringSequenceMember);
449 } 496 }
450 497
451 v8::Local<v8::Value> testInterface2OrUint8ArrayMemberValue; 498 v8::Local<v8::Value> testInterface2OrUint8ArrayMemberValue;
452 if (!v8Object->Get(isolate->GetCurrentContext(), v8AtomicString(isolate, "test Interface2OrUint8ArrayMember")).ToLocal(&testInterface2OrUint8ArrayMemberValue)) { 499 if (!v8Object->Get(context, keys[26].Get(isolate)).ToLocal(&testInterface2OrUi nt8ArrayMemberValue)) {
453 exceptionState.rethrowV8Exception(block.Exception()); 500 exceptionState.rethrowV8Exception(block.Exception());
454 return; 501 return;
455 } 502 }
456 if (testInterface2OrUint8ArrayMemberValue.IsEmpty() || testInterface2OrUint8Ar rayMemberValue->IsUndefined()) { 503 if (testInterface2OrUint8ArrayMemberValue.IsEmpty() || testInterface2OrUint8Ar rayMemberValue->IsUndefined()) {
457 // Do nothing. 504 // Do nothing.
458 } else { 505 } else {
459 TestInterface2OrUint8Array testInterface2OrUint8ArrayMember; 506 TestInterface2OrUint8Array testInterface2OrUint8ArrayMember;
460 V8TestInterface2OrUint8Array::toImpl(isolate, testInterface2OrUint8ArrayMemb erValue, testInterface2OrUint8ArrayMember, UnionTypeConversionMode::NotNullable, exceptionState); 507 V8TestInterface2OrUint8Array::toImpl(isolate, testInterface2OrUint8ArrayMemb erValue, testInterface2OrUint8ArrayMember, UnionTypeConversionMode::NotNullable, exceptionState);
461 if (exceptionState.hadException()) 508 if (exceptionState.hadException())
462 return; 509 return;
463 impl.setTestInterface2OrUint8ArrayMember(testInterface2OrUint8ArrayMember); 510 impl.setTestInterface2OrUint8ArrayMember(testInterface2OrUint8ArrayMember);
464 } 511 }
465 512
466 v8::Local<v8::Value> testInterfaceGarbageCollectedMemberValue; 513 v8::Local<v8::Value> testInterfaceGarbageCollectedMemberValue;
467 if (!v8Object->Get(isolate->GetCurrentContext(), v8AtomicString(isolate, "test InterfaceGarbageCollectedMember")).ToLocal(&testInterfaceGarbageCollectedMemberV alue)) { 514 if (!v8Object->Get(context, keys[27].Get(isolate)).ToLocal(&testInterfaceGarba geCollectedMemberValue)) {
468 exceptionState.rethrowV8Exception(block.Exception()); 515 exceptionState.rethrowV8Exception(block.Exception());
469 return; 516 return;
470 } 517 }
471 if (testInterfaceGarbageCollectedMemberValue.IsEmpty() || testInterfaceGarbage CollectedMemberValue->IsUndefined()) { 518 if (testInterfaceGarbageCollectedMemberValue.IsEmpty() || testInterfaceGarbage CollectedMemberValue->IsUndefined()) {
472 // Do nothing. 519 // Do nothing.
473 } else { 520 } else {
474 TestInterfaceGarbageCollected* testInterfaceGarbageCollectedMember = V8TestI nterfaceGarbageCollected::toImplWithTypeCheck(isolate, testInterfaceGarbageColle ctedMemberValue); 521 TestInterfaceGarbageCollected* testInterfaceGarbageCollectedMember = V8TestI nterfaceGarbageCollected::toImplWithTypeCheck(isolate, testInterfaceGarbageColle ctedMemberValue);
475 if (!testInterfaceGarbageCollectedMember) { 522 if (!testInterfaceGarbageCollectedMember) {
476 exceptionState.throwTypeError("member testInterfaceGarbageCollectedMember is not of type TestInterfaceGarbageCollected."); 523 exceptionState.throwTypeError("member testInterfaceGarbageCollectedMember is not of type TestInterfaceGarbageCollected.");
477 return; 524 return;
478 } 525 }
479 impl.setTestInterfaceGarbageCollectedMember(testInterfaceGarbageCollectedMem ber); 526 impl.setTestInterfaceGarbageCollectedMember(testInterfaceGarbageCollectedMem ber);
480 } 527 }
481 528
482 v8::Local<v8::Value> testInterfaceGarbageCollectedOrNullMemberValue; 529 v8::Local<v8::Value> testInterfaceGarbageCollectedOrNullMemberValue;
483 if (!v8Object->Get(isolate->GetCurrentContext(), v8AtomicString(isolate, "test InterfaceGarbageCollectedOrNullMember")).ToLocal(&testInterfaceGarbageCollectedO rNullMemberValue)) { 530 if (!v8Object->Get(context, keys[28].Get(isolate)).ToLocal(&testInterfaceGarba geCollectedOrNullMemberValue)) {
484 exceptionState.rethrowV8Exception(block.Exception()); 531 exceptionState.rethrowV8Exception(block.Exception());
485 return; 532 return;
486 } 533 }
487 if (testInterfaceGarbageCollectedOrNullMemberValue.IsEmpty() || testInterfaceG arbageCollectedOrNullMemberValue->IsUndefined()) { 534 if (testInterfaceGarbageCollectedOrNullMemberValue.IsEmpty() || testInterfaceG arbageCollectedOrNullMemberValue->IsUndefined()) {
488 // Do nothing. 535 // Do nothing.
489 } else if (testInterfaceGarbageCollectedOrNullMemberValue->IsNull()) { 536 } else if (testInterfaceGarbageCollectedOrNullMemberValue->IsNull()) {
490 impl.setTestInterfaceGarbageCollectedOrNullMemberToNull(); 537 impl.setTestInterfaceGarbageCollectedOrNullMemberToNull();
491 } else { 538 } else {
492 TestInterfaceGarbageCollected* testInterfaceGarbageCollectedOrNullMember = V 8TestInterfaceGarbageCollected::toImplWithTypeCheck(isolate, testInterfaceGarbag eCollectedOrNullMemberValue); 539 TestInterfaceGarbageCollected* testInterfaceGarbageCollectedOrNullMember = V 8TestInterfaceGarbageCollected::toImplWithTypeCheck(isolate, testInterfaceGarbag eCollectedOrNullMemberValue);
493 if (!testInterfaceGarbageCollectedOrNullMember) { 540 if (!testInterfaceGarbageCollectedOrNullMember) {
494 exceptionState.throwTypeError("member testInterfaceGarbageCollectedOrNullM ember is not of type TestInterfaceGarbageCollected."); 541 exceptionState.throwTypeError("member testInterfaceGarbageCollectedOrNullM ember is not of type TestInterfaceGarbageCollected.");
495 return; 542 return;
496 } 543 }
497 impl.setTestInterfaceGarbageCollectedOrNullMember(testInterfaceGarbageCollec tedOrNullMember); 544 impl.setTestInterfaceGarbageCollectedOrNullMember(testInterfaceGarbageCollec tedOrNullMember);
498 } 545 }
499 546
500 v8::Local<v8::Value> testInterfaceGarbageCollectedSequenceMemberValue; 547 v8::Local<v8::Value> testInterfaceGarbageCollectedSequenceMemberValue;
501 if (!v8Object->Get(isolate->GetCurrentContext(), v8AtomicString(isolate, "test InterfaceGarbageCollectedSequenceMember")).ToLocal(&testInterfaceGarbageCollecte dSequenceMemberValue)) { 548 if (!v8Object->Get(context, keys[29].Get(isolate)).ToLocal(&testInterfaceGarba geCollectedSequenceMemberValue)) {
502 exceptionState.rethrowV8Exception(block.Exception()); 549 exceptionState.rethrowV8Exception(block.Exception());
503 return; 550 return;
504 } 551 }
505 if (testInterfaceGarbageCollectedSequenceMemberValue.IsEmpty() || testInterfac eGarbageCollectedSequenceMemberValue->IsUndefined()) { 552 if (testInterfaceGarbageCollectedSequenceMemberValue.IsEmpty() || testInterfac eGarbageCollectedSequenceMemberValue->IsUndefined()) {
506 // Do nothing. 553 // Do nothing.
507 } else { 554 } else {
508 HeapVector<Member<TestInterfaceGarbageCollected>> testInterfaceGarbageCollec tedSequenceMember = toMemberNativeArray<TestInterfaceGarbageCollected>(testInter faceGarbageCollectedSequenceMemberValue, 0, isolate, exceptionState); 555 HeapVector<Member<TestInterfaceGarbageCollected>> testInterfaceGarbageCollec tedSequenceMember = toMemberNativeArray<TestInterfaceGarbageCollected>(testInter faceGarbageCollectedSequenceMemberValue, 0, isolate, exceptionState);
509 if (exceptionState.hadException()) 556 if (exceptionState.hadException())
510 return; 557 return;
511 impl.setTestInterfaceGarbageCollectedSequenceMember(testInterfaceGarbageColl ectedSequenceMember); 558 impl.setTestInterfaceGarbageCollectedSequenceMember(testInterfaceGarbageColl ectedSequenceMember);
512 } 559 }
513 560
514 v8::Local<v8::Value> testInterfaceMemberValue; 561 v8::Local<v8::Value> testInterfaceMemberValue;
515 if (!v8Object->Get(isolate->GetCurrentContext(), v8AtomicString(isolate, "test InterfaceMember")).ToLocal(&testInterfaceMemberValue)) { 562 if (!v8Object->Get(context, keys[30].Get(isolate)).ToLocal(&testInterfaceMembe rValue)) {
516 exceptionState.rethrowV8Exception(block.Exception()); 563 exceptionState.rethrowV8Exception(block.Exception());
517 return; 564 return;
518 } 565 }
519 if (testInterfaceMemberValue.IsEmpty() || testInterfaceMemberValue->IsUndefine d()) { 566 if (testInterfaceMemberValue.IsEmpty() || testInterfaceMemberValue->IsUndefine d()) {
520 // Do nothing. 567 // Do nothing.
521 } else { 568 } else {
522 TestInterfaceImplementation* testInterfaceMember = V8TestInterface::toImplWi thTypeCheck(isolate, testInterfaceMemberValue); 569 TestInterfaceImplementation* testInterfaceMember = V8TestInterface::toImplWi thTypeCheck(isolate, testInterfaceMemberValue);
523 if (!testInterfaceMember) { 570 if (!testInterfaceMember) {
524 exceptionState.throwTypeError("member testInterfaceMember is not of type T estInterface."); 571 exceptionState.throwTypeError("member testInterfaceMember is not of type T estInterface.");
525 return; 572 return;
526 } 573 }
527 impl.setTestInterfaceMember(testInterfaceMember); 574 impl.setTestInterfaceMember(testInterfaceMember);
528 } 575 }
529 576
530 v8::Local<v8::Value> testInterfaceOrNullMemberValue; 577 v8::Local<v8::Value> testInterfaceOrNullMemberValue;
531 if (!v8Object->Get(isolate->GetCurrentContext(), v8AtomicString(isolate, "test InterfaceOrNullMember")).ToLocal(&testInterfaceOrNullMemberValue)) { 578 if (!v8Object->Get(context, keys[31].Get(isolate)).ToLocal(&testInterfaceOrNul lMemberValue)) {
532 exceptionState.rethrowV8Exception(block.Exception()); 579 exceptionState.rethrowV8Exception(block.Exception());
533 return; 580 return;
534 } 581 }
535 if (testInterfaceOrNullMemberValue.IsEmpty() || testInterfaceOrNullMemberValue ->IsUndefined()) { 582 if (testInterfaceOrNullMemberValue.IsEmpty() || testInterfaceOrNullMemberValue ->IsUndefined()) {
536 // Do nothing. 583 // Do nothing.
537 } else if (testInterfaceOrNullMemberValue->IsNull()) { 584 } else if (testInterfaceOrNullMemberValue->IsNull()) {
538 impl.setTestInterfaceOrNullMemberToNull(); 585 impl.setTestInterfaceOrNullMemberToNull();
539 } else { 586 } else {
540 TestInterfaceImplementation* testInterfaceOrNullMember = V8TestInterface::to ImplWithTypeCheck(isolate, testInterfaceOrNullMemberValue); 587 TestInterfaceImplementation* testInterfaceOrNullMember = V8TestInterface::to ImplWithTypeCheck(isolate, testInterfaceOrNullMemberValue);
541 if (!testInterfaceOrNullMember) { 588 if (!testInterfaceOrNullMember) {
542 exceptionState.throwTypeError("member testInterfaceOrNullMember is not of type TestInterface."); 589 exceptionState.throwTypeError("member testInterfaceOrNullMember is not of type TestInterface.");
543 return; 590 return;
544 } 591 }
545 impl.setTestInterfaceOrNullMember(testInterfaceOrNullMember); 592 impl.setTestInterfaceOrNullMember(testInterfaceOrNullMember);
546 } 593 }
547 594
548 v8::Local<v8::Value> testInterfaceSequenceMemberValue; 595 v8::Local<v8::Value> testInterfaceSequenceMemberValue;
549 if (!v8Object->Get(isolate->GetCurrentContext(), v8AtomicString(isolate, "test InterfaceSequenceMember")).ToLocal(&testInterfaceSequenceMemberValue)) { 596 if (!v8Object->Get(context, keys[32].Get(isolate)).ToLocal(&testInterfaceSeque nceMemberValue)) {
550 exceptionState.rethrowV8Exception(block.Exception()); 597 exceptionState.rethrowV8Exception(block.Exception());
551 return; 598 return;
552 } 599 }
553 if (testInterfaceSequenceMemberValue.IsEmpty() || testInterfaceSequenceMemberV alue->IsUndefined()) { 600 if (testInterfaceSequenceMemberValue.IsEmpty() || testInterfaceSequenceMemberV alue->IsUndefined()) {
554 // Do nothing. 601 // Do nothing.
555 } else { 602 } else {
556 HeapVector<Member<TestInterfaceImplementation>> testInterfaceSequenceMember = toMemberNativeArray<TestInterface>(testInterfaceSequenceMemberValue, 0, isolat e, exceptionState); 603 HeapVector<Member<TestInterfaceImplementation>> testInterfaceSequenceMember = toMemberNativeArray<TestInterface>(testInterfaceSequenceMemberValue, 0, isolat e, exceptionState);
557 if (exceptionState.hadException()) 604 if (exceptionState.hadException())
558 return; 605 return;
559 impl.setTestInterfaceSequenceMember(testInterfaceSequenceMember); 606 impl.setTestInterfaceSequenceMember(testInterfaceSequenceMember);
560 } 607 }
561 608
562 v8::Local<v8::Value> testObjectSequenceMemberValue; 609 v8::Local<v8::Value> testObjectSequenceMemberValue;
563 if (!v8Object->Get(isolate->GetCurrentContext(), v8AtomicString(isolate, "test ObjectSequenceMember")).ToLocal(&testObjectSequenceMemberValue)) { 610 if (!v8Object->Get(context, keys[33].Get(isolate)).ToLocal(&testObjectSequence MemberValue)) {
564 exceptionState.rethrowV8Exception(block.Exception()); 611 exceptionState.rethrowV8Exception(block.Exception());
565 return; 612 return;
566 } 613 }
567 if (testObjectSequenceMemberValue.IsEmpty() || testObjectSequenceMemberValue-> IsUndefined()) { 614 if (testObjectSequenceMemberValue.IsEmpty() || testObjectSequenceMemberValue-> IsUndefined()) {
568 // Do nothing. 615 // Do nothing.
569 } else { 616 } else {
570 HeapVector<Member<TestObject>> testObjectSequenceMember = toMemberNativeArra y<TestObject>(testObjectSequenceMemberValue, 0, isolate, exceptionState); 617 HeapVector<Member<TestObject>> testObjectSequenceMember = toMemberNativeArra y<TestObject>(testObjectSequenceMemberValue, 0, isolate, exceptionState);
571 if (exceptionState.hadException()) 618 if (exceptionState.hadException())
572 return; 619 return;
573 impl.setTestObjectSequenceMember(testObjectSequenceMember); 620 impl.setTestObjectSequenceMember(testObjectSequenceMember);
574 } 621 }
575 622
576 v8::Local<v8::Value> uint8ArrayMemberValue; 623 v8::Local<v8::Value> uint8ArrayMemberValue;
577 if (!v8Object->Get(isolate->GetCurrentContext(), v8AtomicString(isolate, "uint 8ArrayMember")).ToLocal(&uint8ArrayMemberValue)) { 624 if (!v8Object->Get(context, keys[34].Get(isolate)).ToLocal(&uint8ArrayMemberVa lue)) {
578 exceptionState.rethrowV8Exception(block.Exception()); 625 exceptionState.rethrowV8Exception(block.Exception());
579 return; 626 return;
580 } 627 }
581 if (uint8ArrayMemberValue.IsEmpty() || uint8ArrayMemberValue->IsUndefined()) { 628 if (uint8ArrayMemberValue.IsEmpty() || uint8ArrayMemberValue->IsUndefined()) {
582 // Do nothing. 629 // Do nothing.
583 } else { 630 } else {
584 DOMUint8Array* uint8ArrayMember = uint8ArrayMemberValue->IsUint8Array() ? V8 Uint8Array::toImpl(v8::Local<v8::Uint8Array>::Cast(uint8ArrayMemberValue)) : 0; 631 DOMUint8Array* uint8ArrayMember = uint8ArrayMemberValue->IsUint8Array() ? V8 Uint8Array::toImpl(v8::Local<v8::Uint8Array>::Cast(uint8ArrayMemberValue)) : 0;
585 if (!uint8ArrayMember) { 632 if (!uint8ArrayMember) {
586 exceptionState.throwTypeError("member uint8ArrayMember is not of type Uint 8Array."); 633 exceptionState.throwTypeError("member uint8ArrayMember is not of type Uint 8Array.");
587 return; 634 return;
588 } 635 }
589 impl.setUint8ArrayMember(uint8ArrayMember); 636 impl.setUint8ArrayMember(uint8ArrayMember);
590 } 637 }
591 638
592 v8::Local<v8::Value> unionInRecordMemberValue; 639 v8::Local<v8::Value> unionInRecordMemberValue;
593 if (!v8Object->Get(isolate->GetCurrentContext(), v8AtomicString(isolate, "unio nInRecordMember")).ToLocal(&unionInRecordMemberValue)) { 640 if (!v8Object->Get(context, keys[35].Get(isolate)).ToLocal(&unionInRecordMembe rValue)) {
594 exceptionState.rethrowV8Exception(block.Exception()); 641 exceptionState.rethrowV8Exception(block.Exception());
595 return; 642 return;
596 } 643 }
597 if (unionInRecordMemberValue.IsEmpty() || unionInRecordMemberValue->IsUndefine d()) { 644 if (unionInRecordMemberValue.IsEmpty() || unionInRecordMemberValue->IsUndefine d()) {
598 // Do nothing. 645 // Do nothing.
599 } else { 646 } else {
600 HeapVector<std::pair<String, LongOrBoolean>> unionInRecordMember = NativeVal ueTraits<IDLRecord<IDLByteString, LongOrBoolean>>::nativeValue(isolate, unionInR ecordMemberValue, exceptionState); 647 HeapVector<std::pair<String, LongOrBoolean>> unionInRecordMember = NativeVal ueTraits<IDLRecord<IDLByteString, LongOrBoolean>>::nativeValue(isolate, unionInR ecordMemberValue, exceptionState);
601 if (exceptionState.hadException()) 648 if (exceptionState.hadException())
602 return; 649 return;
603 impl.setUnionInRecordMember(unionInRecordMember); 650 impl.setUnionInRecordMember(unionInRecordMember);
604 } 651 }
605 652
606 v8::Local<v8::Value> unionWithTypedefsValue; 653 v8::Local<v8::Value> unionWithTypedefsValue;
607 if (!v8Object->Get(isolate->GetCurrentContext(), v8AtomicString(isolate, "unio nWithTypedefs")).ToLocal(&unionWithTypedefsValue)) { 654 if (!v8Object->Get(context, keys[36].Get(isolate)).ToLocal(&unionWithTypedefsV alue)) {
608 exceptionState.rethrowV8Exception(block.Exception()); 655 exceptionState.rethrowV8Exception(block.Exception());
609 return; 656 return;
610 } 657 }
611 if (unionWithTypedefsValue.IsEmpty() || unionWithTypedefsValue->IsUndefined()) { 658 if (unionWithTypedefsValue.IsEmpty() || unionWithTypedefsValue->IsUndefined()) {
612 // Do nothing. 659 // Do nothing.
613 } else { 660 } else {
614 FloatOrBoolean unionWithTypedefs; 661 FloatOrBoolean unionWithTypedefs;
615 V8FloatOrBoolean::toImpl(isolate, unionWithTypedefsValue, unionWithTypedefs, UnionTypeConversionMode::NotNullable, exceptionState); 662 V8FloatOrBoolean::toImpl(isolate, unionWithTypedefsValue, unionWithTypedefs, UnionTypeConversionMode::NotNullable, exceptionState);
616 if (exceptionState.hadException()) 663 if (exceptionState.hadException())
617 return; 664 return;
618 impl.setUnionWithTypedefs(unionWithTypedefs); 665 impl.setUnionWithTypedefs(unionWithTypedefs);
619 } 666 }
620 667
621 v8::Local<v8::Value> unrestrictedDoubleMemberValue; 668 v8::Local<v8::Value> unrestrictedDoubleMemberValue;
622 if (!v8Object->Get(isolate->GetCurrentContext(), v8AtomicString(isolate, "unre strictedDoubleMember")).ToLocal(&unrestrictedDoubleMemberValue)) { 669 if (!v8Object->Get(context, keys[37].Get(isolate)).ToLocal(&unrestrictedDouble MemberValue)) {
623 exceptionState.rethrowV8Exception(block.Exception()); 670 exceptionState.rethrowV8Exception(block.Exception());
624 return; 671 return;
625 } 672 }
626 if (unrestrictedDoubleMemberValue.IsEmpty() || unrestrictedDoubleMemberValue-> IsUndefined()) { 673 if (unrestrictedDoubleMemberValue.IsEmpty() || unrestrictedDoubleMemberValue-> IsUndefined()) {
627 // Do nothing. 674 // Do nothing.
628 } else { 675 } else {
629 double unrestrictedDoubleMember = NativeValueTraits<IDLUnrestrictedDouble>:: nativeValue(isolate, unrestrictedDoubleMemberValue, exceptionState); 676 double unrestrictedDoubleMember = NativeValueTraits<IDLUnrestrictedDouble>:: nativeValue(isolate, unrestrictedDoubleMemberValue, exceptionState);
630 if (exceptionState.hadException()) 677 if (exceptionState.hadException())
631 return; 678 return;
632 impl.setUnrestrictedDoubleMember(unrestrictedDoubleMember); 679 impl.setUnrestrictedDoubleMember(unrestrictedDoubleMember);
633 } 680 }
634 } 681 }
635 682
636 v8::Local<v8::Value> TestDictionary::toV8Impl(v8::Local<v8::Object> creationCont ext, v8::Isolate* isolate) const { 683 v8::Local<v8::Value> TestDictionary::toV8Impl(v8::Local<v8::Object> creationCont ext, v8::Isolate* isolate) const {
637 v8::Local<v8::Object> v8Object = v8::Object::New(isolate); 684 v8::Local<v8::Object> v8Object = v8::Object::New(isolate);
638 if (!toV8TestDictionary(*this, v8Object, creationContext, isolate)) 685 if (!toV8TestDictionary(*this, v8Object, creationContext, isolate))
639 return v8::Undefined(isolate); 686 return v8::Undefined(isolate);
640 return v8Object; 687 return v8Object;
641 } 688 }
642 689
643 bool toV8TestDictionary(const TestDictionary& impl, v8::Local<v8::Object> dictio nary, v8::Local<v8::Object> creationContext, v8::Isolate* isolate) { 690 bool toV8TestDictionary(const TestDictionary& impl, v8::Local<v8::Object> dictio nary, v8::Local<v8::Object> creationContext, v8::Isolate* isolate) {
691 const v8::Eternal<v8::Name>* keys = eternalV8TestDictionaryKeys(isolate);
692 v8::Local<v8::Context> context = isolate->GetCurrentContext();
644 v8::Local<v8::Value> anyMemberValue; 693 v8::Local<v8::Value> anyMemberValue;
645 bool anyMemberHasValueOrDefault = false; 694 bool anyMemberHasValueOrDefault = false;
646 if (impl.hasAnyMember()) { 695 if (impl.hasAnyMember()) {
647 anyMemberValue = impl.anyMember().v8Value(); 696 anyMemberValue = impl.anyMember().v8Value();
648 anyMemberHasValueOrDefault = true; 697 anyMemberHasValueOrDefault = true;
649 } else { 698 } else {
650 anyMemberValue = v8::Null(isolate); 699 anyMemberValue = v8::Null(isolate);
651 anyMemberHasValueOrDefault = true; 700 anyMemberHasValueOrDefault = true;
652 } 701 }
653 if (anyMemberHasValueOrDefault && 702 if (anyMemberHasValueOrDefault &&
654 !v8CallBoolean(dictionary->CreateDataProperty(isolate->GetCurrentContext() , v8AtomicString(isolate, "anyMember"), anyMemberValue))) { 703 !v8CallBoolean(dictionary->CreateDataProperty(context, keys[0].Get(isolate ), anyMemberValue))) {
655 return false; 704 return false;
656 } 705 }
657 706
658 v8::Local<v8::Value> booleanMemberValue; 707 v8::Local<v8::Value> booleanMemberValue;
659 bool booleanMemberHasValueOrDefault = false; 708 bool booleanMemberHasValueOrDefault = false;
660 if (impl.hasBooleanMember()) { 709 if (impl.hasBooleanMember()) {
661 booleanMemberValue = v8Boolean(impl.booleanMember(), isolate); 710 booleanMemberValue = v8Boolean(impl.booleanMember(), isolate);
662 booleanMemberHasValueOrDefault = true; 711 booleanMemberHasValueOrDefault = true;
663 } 712 }
664 if (booleanMemberHasValueOrDefault && 713 if (booleanMemberHasValueOrDefault &&
665 !v8CallBoolean(dictionary->CreateDataProperty(isolate->GetCurrentContext() , v8AtomicString(isolate, "booleanMember"), booleanMemberValue))) { 714 !v8CallBoolean(dictionary->CreateDataProperty(context, keys[1].Get(isolate ), booleanMemberValue))) {
666 return false; 715 return false;
667 } 716 }
668 717
669 v8::Local<v8::Value> createValue; 718 v8::Local<v8::Value> createValue;
670 bool createHasValueOrDefault = false; 719 bool createHasValueOrDefault = false;
671 if (impl.hasCreateMember()) { 720 if (impl.hasCreateMember()) {
672 createValue = v8Boolean(impl.createMember(), isolate); 721 createValue = v8Boolean(impl.createMember(), isolate);
673 createHasValueOrDefault = true; 722 createHasValueOrDefault = true;
674 } 723 }
675 if (createHasValueOrDefault && 724 if (createHasValueOrDefault &&
676 !v8CallBoolean(dictionary->CreateDataProperty(isolate->GetCurrentContext() , v8AtomicString(isolate, "create"), createValue))) { 725 !v8CallBoolean(dictionary->CreateDataProperty(context, keys[2].Get(isolate ), createValue))) {
677 return false; 726 return false;
678 } 727 }
679 728
680 v8::Local<v8::Value> deprecatedCreateMemberValue; 729 v8::Local<v8::Value> deprecatedCreateMemberValue;
681 bool deprecatedCreateMemberHasValueOrDefault = false; 730 bool deprecatedCreateMemberHasValueOrDefault = false;
682 if (impl.hasCreateMember()) { 731 if (impl.hasCreateMember()) {
683 deprecatedCreateMemberValue = v8Boolean(impl.createMember(), isolate); 732 deprecatedCreateMemberValue = v8Boolean(impl.createMember(), isolate);
684 deprecatedCreateMemberHasValueOrDefault = true; 733 deprecatedCreateMemberHasValueOrDefault = true;
685 } 734 }
686 if (deprecatedCreateMemberHasValueOrDefault && 735 if (deprecatedCreateMemberHasValueOrDefault &&
687 !v8CallBoolean(dictionary->CreateDataProperty(isolate->GetCurrentContext() , v8AtomicString(isolate, "deprecatedCreateMember"), deprecatedCreateMemberValue ))) { 736 !v8CallBoolean(dictionary->CreateDataProperty(context, keys[3].Get(isolate ), deprecatedCreateMemberValue))) {
688 return false; 737 return false;
689 } 738 }
690 739
691 v8::Local<v8::Value> dictionaryMemberValue; 740 v8::Local<v8::Value> dictionaryMemberValue;
692 bool dictionaryMemberHasValueOrDefault = false; 741 bool dictionaryMemberHasValueOrDefault = false;
693 if (impl.hasDictionaryMember()) { 742 if (impl.hasDictionaryMember()) {
694 DCHECK(impl.dictionaryMember().isObject()); 743 DCHECK(impl.dictionaryMember().isObject());
695 dictionaryMemberValue = impl.dictionaryMember().v8Value(); 744 dictionaryMemberValue = impl.dictionaryMember().v8Value();
696 dictionaryMemberHasValueOrDefault = true; 745 dictionaryMemberHasValueOrDefault = true;
697 } 746 }
698 if (dictionaryMemberHasValueOrDefault && 747 if (dictionaryMemberHasValueOrDefault &&
699 !v8CallBoolean(dictionary->CreateDataProperty(isolate->GetCurrentContext() , v8AtomicString(isolate, "dictionaryMember"), dictionaryMemberValue))) { 748 !v8CallBoolean(dictionary->CreateDataProperty(context, keys[4].Get(isolate ), dictionaryMemberValue))) {
700 return false; 749 return false;
701 } 750 }
702 751
703 v8::Local<v8::Value> doubleOrNullMemberValue; 752 v8::Local<v8::Value> doubleOrNullMemberValue;
704 bool doubleOrNullMemberHasValueOrDefault = false; 753 bool doubleOrNullMemberHasValueOrDefault = false;
705 if (impl.hasDoubleOrNullMember()) { 754 if (impl.hasDoubleOrNullMember()) {
706 doubleOrNullMemberValue = v8::Number::New(isolate, impl.doubleOrNullMember() ); 755 doubleOrNullMemberValue = v8::Number::New(isolate, impl.doubleOrNullMember() );
707 doubleOrNullMemberHasValueOrDefault = true; 756 doubleOrNullMemberHasValueOrDefault = true;
708 } else { 757 } else {
709 doubleOrNullMemberValue = v8::Null(isolate); 758 doubleOrNullMemberValue = v8::Null(isolate);
710 doubleOrNullMemberHasValueOrDefault = true; 759 doubleOrNullMemberHasValueOrDefault = true;
711 } 760 }
712 if (doubleOrNullMemberHasValueOrDefault && 761 if (doubleOrNullMemberHasValueOrDefault &&
713 !v8CallBoolean(dictionary->CreateDataProperty(isolate->GetCurrentContext() , v8AtomicString(isolate, "doubleOrNullMember"), doubleOrNullMemberValue))) { 762 !v8CallBoolean(dictionary->CreateDataProperty(context, keys[5].Get(isolate ), doubleOrNullMemberValue))) {
714 return false; 763 return false;
715 } 764 }
716 765
717 v8::Local<v8::Value> doubleOrStringMemberValue; 766 v8::Local<v8::Value> doubleOrStringMemberValue;
718 bool doubleOrStringMemberHasValueOrDefault = false; 767 bool doubleOrStringMemberHasValueOrDefault = false;
719 if (impl.hasDoubleOrStringMember()) { 768 if (impl.hasDoubleOrStringMember()) {
720 doubleOrStringMemberValue = ToV8(impl.doubleOrStringMember(), creationContex t, isolate); 769 doubleOrStringMemberValue = ToV8(impl.doubleOrStringMember(), creationContex t, isolate);
721 doubleOrStringMemberHasValueOrDefault = true; 770 doubleOrStringMemberHasValueOrDefault = true;
722 } else { 771 } else {
723 doubleOrStringMemberValue = ToV8(DoubleOrString::fromDouble(3.14), creationC ontext, isolate); 772 doubleOrStringMemberValue = ToV8(DoubleOrString::fromDouble(3.14), creationC ontext, isolate);
724 doubleOrStringMemberHasValueOrDefault = true; 773 doubleOrStringMemberHasValueOrDefault = true;
725 } 774 }
726 if (doubleOrStringMemberHasValueOrDefault && 775 if (doubleOrStringMemberHasValueOrDefault &&
727 !v8CallBoolean(dictionary->CreateDataProperty(isolate->GetCurrentContext() , v8AtomicString(isolate, "doubleOrStringMember"), doubleOrStringMemberValue))) { 776 !v8CallBoolean(dictionary->CreateDataProperty(context, keys[6].Get(isolate ), doubleOrStringMemberValue))) {
728 return false; 777 return false;
729 } 778 }
730 779
731 v8::Local<v8::Value> doubleOrStringSequenceMemberValue; 780 v8::Local<v8::Value> doubleOrStringSequenceMemberValue;
732 bool doubleOrStringSequenceMemberHasValueOrDefault = false; 781 bool doubleOrStringSequenceMemberHasValueOrDefault = false;
733 if (impl.hasDoubleOrStringSequenceMember()) { 782 if (impl.hasDoubleOrStringSequenceMember()) {
734 doubleOrStringSequenceMemberValue = ToV8(impl.doubleOrStringSequenceMember() , creationContext, isolate); 783 doubleOrStringSequenceMemberValue = ToV8(impl.doubleOrStringSequenceMember() , creationContext, isolate);
735 doubleOrStringSequenceMemberHasValueOrDefault = true; 784 doubleOrStringSequenceMemberHasValueOrDefault = true;
736 } 785 }
737 if (doubleOrStringSequenceMemberHasValueOrDefault && 786 if (doubleOrStringSequenceMemberHasValueOrDefault &&
738 !v8CallBoolean(dictionary->CreateDataProperty(isolate->GetCurrentContext() , v8AtomicString(isolate, "doubleOrStringSequenceMember"), doubleOrStringSequenc eMemberValue))) { 787 !v8CallBoolean(dictionary->CreateDataProperty(context, keys[7].Get(isolate ), doubleOrStringSequenceMemberValue))) {
739 return false; 788 return false;
740 } 789 }
741 790
742 v8::Local<v8::Value> elementOrNullMemberValue; 791 v8::Local<v8::Value> elementOrNullMemberValue;
743 bool elementOrNullMemberHasValueOrDefault = false; 792 bool elementOrNullMemberHasValueOrDefault = false;
744 if (impl.hasElementOrNullMember()) { 793 if (impl.hasElementOrNullMember()) {
745 elementOrNullMemberValue = ToV8(impl.elementOrNullMember(), creationContext, isolate); 794 elementOrNullMemberValue = ToV8(impl.elementOrNullMember(), creationContext, isolate);
746 elementOrNullMemberHasValueOrDefault = true; 795 elementOrNullMemberHasValueOrDefault = true;
747 } else { 796 } else {
748 elementOrNullMemberValue = v8::Null(isolate); 797 elementOrNullMemberValue = v8::Null(isolate);
749 elementOrNullMemberHasValueOrDefault = true; 798 elementOrNullMemberHasValueOrDefault = true;
750 } 799 }
751 if (elementOrNullMemberHasValueOrDefault && 800 if (elementOrNullMemberHasValueOrDefault &&
752 !v8CallBoolean(dictionary->CreateDataProperty(isolate->GetCurrentContext() , v8AtomicString(isolate, "elementOrNullMember"), elementOrNullMemberValue))) { 801 !v8CallBoolean(dictionary->CreateDataProperty(context, keys[8].Get(isolate ), elementOrNullMemberValue))) {
753 return false; 802 return false;
754 } 803 }
755 804
756 v8::Local<v8::Value> enumMemberValue; 805 v8::Local<v8::Value> enumMemberValue;
757 bool enumMemberHasValueOrDefault = false; 806 bool enumMemberHasValueOrDefault = false;
758 if (impl.hasEnumMember()) { 807 if (impl.hasEnumMember()) {
759 enumMemberValue = v8String(isolate, impl.enumMember()); 808 enumMemberValue = v8String(isolate, impl.enumMember());
760 enumMemberHasValueOrDefault = true; 809 enumMemberHasValueOrDefault = true;
761 } else { 810 } else {
762 enumMemberValue = v8String(isolate, "foo"); 811 enumMemberValue = v8String(isolate, "foo");
763 enumMemberHasValueOrDefault = true; 812 enumMemberHasValueOrDefault = true;
764 } 813 }
765 if (enumMemberHasValueOrDefault && 814 if (enumMemberHasValueOrDefault &&
766 !v8CallBoolean(dictionary->CreateDataProperty(isolate->GetCurrentContext() , v8AtomicString(isolate, "enumMember"), enumMemberValue))) { 815 !v8CallBoolean(dictionary->CreateDataProperty(context, keys[9].Get(isolate ), enumMemberValue))) {
767 return false; 816 return false;
768 } 817 }
769 818
770 v8::Local<v8::Value> enumSequenceMemberValue; 819 v8::Local<v8::Value> enumSequenceMemberValue;
771 bool enumSequenceMemberHasValueOrDefault = false; 820 bool enumSequenceMemberHasValueOrDefault = false;
772 if (impl.hasEnumSequenceMember()) { 821 if (impl.hasEnumSequenceMember()) {
773 enumSequenceMemberValue = ToV8(impl.enumSequenceMember(), creationContext, i solate); 822 enumSequenceMemberValue = ToV8(impl.enumSequenceMember(), creationContext, i solate);
774 enumSequenceMemberHasValueOrDefault = true; 823 enumSequenceMemberHasValueOrDefault = true;
775 } 824 }
776 if (enumSequenceMemberHasValueOrDefault && 825 if (enumSequenceMemberHasValueOrDefault &&
777 !v8CallBoolean(dictionary->CreateDataProperty(isolate->GetCurrentContext() , v8AtomicString(isolate, "enumSequenceMember"), enumSequenceMemberValue))) { 826 !v8CallBoolean(dictionary->CreateDataProperty(context, keys[10].Get(isolat e), enumSequenceMemberValue))) {
778 return false; 827 return false;
779 } 828 }
780 829
781 v8::Local<v8::Value> eventTargetMemberValue; 830 v8::Local<v8::Value> eventTargetMemberValue;
782 bool eventTargetMemberHasValueOrDefault = false; 831 bool eventTargetMemberHasValueOrDefault = false;
783 if (impl.hasEventTargetMember()) { 832 if (impl.hasEventTargetMember()) {
784 eventTargetMemberValue = ToV8(impl.eventTargetMember(), creationContext, iso late); 833 eventTargetMemberValue = ToV8(impl.eventTargetMember(), creationContext, iso late);
785 eventTargetMemberHasValueOrDefault = true; 834 eventTargetMemberHasValueOrDefault = true;
786 } 835 }
787 if (eventTargetMemberHasValueOrDefault && 836 if (eventTargetMemberHasValueOrDefault &&
788 !v8CallBoolean(dictionary->CreateDataProperty(isolate->GetCurrentContext() , v8AtomicString(isolate, "eventTargetMember"), eventTargetMemberValue))) { 837 !v8CallBoolean(dictionary->CreateDataProperty(context, keys[11].Get(isolat e), eventTargetMemberValue))) {
789 return false; 838 return false;
790 } 839 }
791 840
792 v8::Local<v8::Value> garbageCollectedRecordMemberValue; 841 v8::Local<v8::Value> garbageCollectedRecordMemberValue;
793 bool garbageCollectedRecordMemberHasValueOrDefault = false; 842 bool garbageCollectedRecordMemberHasValueOrDefault = false;
794 if (impl.hasGarbageCollectedRecordMember()) { 843 if (impl.hasGarbageCollectedRecordMember()) {
795 garbageCollectedRecordMemberValue = ToV8(impl.garbageCollectedRecordMember() , creationContext, isolate); 844 garbageCollectedRecordMemberValue = ToV8(impl.garbageCollectedRecordMember() , creationContext, isolate);
796 garbageCollectedRecordMemberHasValueOrDefault = true; 845 garbageCollectedRecordMemberHasValueOrDefault = true;
797 } 846 }
798 if (garbageCollectedRecordMemberHasValueOrDefault && 847 if (garbageCollectedRecordMemberHasValueOrDefault &&
799 !v8CallBoolean(dictionary->CreateDataProperty(isolate->GetCurrentContext() , v8AtomicString(isolate, "garbageCollectedRecordMember"), garbageCollectedRecor dMemberValue))) { 848 !v8CallBoolean(dictionary->CreateDataProperty(context, keys[12].Get(isolat e), garbageCollectedRecordMemberValue))) {
800 return false; 849 return false;
801 } 850 }
802 851
803 v8::Local<v8::Value> internalDictionarySequenceMemberValue; 852 v8::Local<v8::Value> internalDictionarySequenceMemberValue;
804 bool internalDictionarySequenceMemberHasValueOrDefault = false; 853 bool internalDictionarySequenceMemberHasValueOrDefault = false;
805 if (impl.hasInternalDictionarySequenceMember()) { 854 if (impl.hasInternalDictionarySequenceMember()) {
806 internalDictionarySequenceMemberValue = ToV8(impl.internalDictionarySequence Member(), creationContext, isolate); 855 internalDictionarySequenceMemberValue = ToV8(impl.internalDictionarySequence Member(), creationContext, isolate);
807 internalDictionarySequenceMemberHasValueOrDefault = true; 856 internalDictionarySequenceMemberHasValueOrDefault = true;
808 } 857 }
809 if (internalDictionarySequenceMemberHasValueOrDefault && 858 if (internalDictionarySequenceMemberHasValueOrDefault &&
810 !v8CallBoolean(dictionary->CreateDataProperty(isolate->GetCurrentContext() , v8AtomicString(isolate, "internalDictionarySequenceMember"), internalDictionar ySequenceMemberValue))) { 859 !v8CallBoolean(dictionary->CreateDataProperty(context, keys[13].Get(isolat e), internalDictionarySequenceMemberValue))) {
811 return false; 860 return false;
812 } 861 }
813 862
814 v8::Local<v8::Value> longMemberValue; 863 v8::Local<v8::Value> longMemberValue;
815 bool longMemberHasValueOrDefault = false; 864 bool longMemberHasValueOrDefault = false;
816 if (impl.hasLongMember()) { 865 if (impl.hasLongMember()) {
817 longMemberValue = v8::Integer::New(isolate, impl.longMember()); 866 longMemberValue = v8::Integer::New(isolate, impl.longMember());
818 longMemberHasValueOrDefault = true; 867 longMemberHasValueOrDefault = true;
819 } else { 868 } else {
820 longMemberValue = v8::Integer::New(isolate, 1); 869 longMemberValue = v8::Integer::New(isolate, 1);
821 longMemberHasValueOrDefault = true; 870 longMemberHasValueOrDefault = true;
822 } 871 }
823 if (longMemberHasValueOrDefault && 872 if (longMemberHasValueOrDefault &&
824 !v8CallBoolean(dictionary->CreateDataProperty(isolate->GetCurrentContext() , v8AtomicString(isolate, "longMember"), longMemberValue))) { 873 !v8CallBoolean(dictionary->CreateDataProperty(context, keys[14].Get(isolat e), longMemberValue))) {
825 return false; 874 return false;
826 } 875 }
827 876
828 v8::Local<v8::Value> objectMemberValue; 877 v8::Local<v8::Value> objectMemberValue;
829 bool objectMemberHasValueOrDefault = false; 878 bool objectMemberHasValueOrDefault = false;
830 if (impl.hasObjectMember()) { 879 if (impl.hasObjectMember()) {
831 DCHECK(impl.objectMember().isObject()); 880 DCHECK(impl.objectMember().isObject());
832 objectMemberValue = impl.objectMember().v8Value(); 881 objectMemberValue = impl.objectMember().v8Value();
833 objectMemberHasValueOrDefault = true; 882 objectMemberHasValueOrDefault = true;
834 } 883 }
835 if (objectMemberHasValueOrDefault && 884 if (objectMemberHasValueOrDefault &&
836 !v8CallBoolean(dictionary->CreateDataProperty(isolate->GetCurrentContext() , v8AtomicString(isolate, "objectMember"), objectMemberValue))) { 885 !v8CallBoolean(dictionary->CreateDataProperty(context, keys[15].Get(isolat e), objectMemberValue))) {
837 return false; 886 return false;
838 } 887 }
839 888
840 v8::Local<v8::Value> objectOrNullMemberValue; 889 v8::Local<v8::Value> objectOrNullMemberValue;
841 bool objectOrNullMemberHasValueOrDefault = false; 890 bool objectOrNullMemberHasValueOrDefault = false;
842 if (impl.hasObjectOrNullMember()) { 891 if (impl.hasObjectOrNullMember()) {
843 DCHECK(impl.objectOrNullMember().isObject()); 892 DCHECK(impl.objectOrNullMember().isObject());
844 objectOrNullMemberValue = impl.objectOrNullMember().v8Value(); 893 objectOrNullMemberValue = impl.objectOrNullMember().v8Value();
845 objectOrNullMemberHasValueOrDefault = true; 894 objectOrNullMemberHasValueOrDefault = true;
846 } else { 895 } else {
847 objectOrNullMemberValue = v8::Null(isolate); 896 objectOrNullMemberValue = v8::Null(isolate);
848 objectOrNullMemberHasValueOrDefault = true; 897 objectOrNullMemberHasValueOrDefault = true;
849 } 898 }
850 if (objectOrNullMemberHasValueOrDefault && 899 if (objectOrNullMemberHasValueOrDefault &&
851 !v8CallBoolean(dictionary->CreateDataProperty(isolate->GetCurrentContext() , v8AtomicString(isolate, "objectOrNullMember"), objectOrNullMemberValue))) { 900 !v8CallBoolean(dictionary->CreateDataProperty(context, keys[16].Get(isolat e), objectOrNullMemberValue))) {
852 return false; 901 return false;
853 } 902 }
854 903
855 v8::Local<v8::Value> otherDoubleOrStringMemberValue; 904 v8::Local<v8::Value> otherDoubleOrStringMemberValue;
856 bool otherDoubleOrStringMemberHasValueOrDefault = false; 905 bool otherDoubleOrStringMemberHasValueOrDefault = false;
857 if (impl.hasOtherDoubleOrStringMember()) { 906 if (impl.hasOtherDoubleOrStringMember()) {
858 otherDoubleOrStringMemberValue = ToV8(impl.otherDoubleOrStringMember(), crea tionContext, isolate); 907 otherDoubleOrStringMemberValue = ToV8(impl.otherDoubleOrStringMember(), crea tionContext, isolate);
859 otherDoubleOrStringMemberHasValueOrDefault = true; 908 otherDoubleOrStringMemberHasValueOrDefault = true;
860 } else { 909 } else {
861 otherDoubleOrStringMemberValue = ToV8(DoubleOrString::fromString("default st ring value"), creationContext, isolate); 910 otherDoubleOrStringMemberValue = ToV8(DoubleOrString::fromString("default st ring value"), creationContext, isolate);
862 otherDoubleOrStringMemberHasValueOrDefault = true; 911 otherDoubleOrStringMemberHasValueOrDefault = true;
863 } 912 }
864 if (otherDoubleOrStringMemberHasValueOrDefault && 913 if (otherDoubleOrStringMemberHasValueOrDefault &&
865 !v8CallBoolean(dictionary->CreateDataProperty(isolate->GetCurrentContext() , v8AtomicString(isolate, "otherDoubleOrStringMember"), otherDoubleOrStringMembe rValue))) { 914 !v8CallBoolean(dictionary->CreateDataProperty(context, keys[17].Get(isolat e), otherDoubleOrStringMemberValue))) {
866 return false; 915 return false;
867 } 916 }
868 917
869 v8::Local<v8::Value> prefixGetMemberValue; 918 v8::Local<v8::Value> prefixGetMemberValue;
870 bool prefixGetMemberHasValueOrDefault = false; 919 bool prefixGetMemberHasValueOrDefault = false;
871 if (impl.hasPrefixGetMember()) { 920 if (impl.hasPrefixGetMember()) {
872 DCHECK(impl.getPrefixGetMember().isObject()); 921 DCHECK(impl.getPrefixGetMember().isObject());
873 prefixGetMemberValue = impl.getPrefixGetMember().v8Value(); 922 prefixGetMemberValue = impl.getPrefixGetMember().v8Value();
874 prefixGetMemberHasValueOrDefault = true; 923 prefixGetMemberHasValueOrDefault = true;
875 } 924 }
876 if (prefixGetMemberHasValueOrDefault && 925 if (prefixGetMemberHasValueOrDefault &&
877 !v8CallBoolean(dictionary->CreateDataProperty(isolate->GetCurrentContext() , v8AtomicString(isolate, "prefixGetMember"), prefixGetMemberValue))) { 926 !v8CallBoolean(dictionary->CreateDataProperty(context, keys[18].Get(isolat e), prefixGetMemberValue))) {
878 return false; 927 return false;
879 } 928 }
880 929
881 v8::Local<v8::Value> recordMemberValue; 930 v8::Local<v8::Value> recordMemberValue;
882 bool recordMemberHasValueOrDefault = false; 931 bool recordMemberHasValueOrDefault = false;
883 if (impl.hasRecordMember()) { 932 if (impl.hasRecordMember()) {
884 recordMemberValue = ToV8(impl.recordMember(), creationContext, isolate); 933 recordMemberValue = ToV8(impl.recordMember(), creationContext, isolate);
885 recordMemberHasValueOrDefault = true; 934 recordMemberHasValueOrDefault = true;
886 } 935 }
887 if (recordMemberHasValueOrDefault && 936 if (recordMemberHasValueOrDefault &&
888 !v8CallBoolean(dictionary->CreateDataProperty(isolate->GetCurrentContext() , v8AtomicString(isolate, "recordMember"), recordMemberValue))) { 937 !v8CallBoolean(dictionary->CreateDataProperty(context, keys[19].Get(isolat e), recordMemberValue))) {
889 return false; 938 return false;
890 } 939 }
891 940
892 v8::Local<v8::Value> restrictedDoubleMemberValue; 941 v8::Local<v8::Value> restrictedDoubleMemberValue;
893 bool restrictedDoubleMemberHasValueOrDefault = false; 942 bool restrictedDoubleMemberHasValueOrDefault = false;
894 if (impl.hasRestrictedDoubleMember()) { 943 if (impl.hasRestrictedDoubleMember()) {
895 restrictedDoubleMemberValue = v8::Number::New(isolate, impl.restrictedDouble Member()); 944 restrictedDoubleMemberValue = v8::Number::New(isolate, impl.restrictedDouble Member());
896 restrictedDoubleMemberHasValueOrDefault = true; 945 restrictedDoubleMemberHasValueOrDefault = true;
897 } else { 946 } else {
898 restrictedDoubleMemberValue = v8::Number::New(isolate, 3.14); 947 restrictedDoubleMemberValue = v8::Number::New(isolate, 3.14);
899 restrictedDoubleMemberHasValueOrDefault = true; 948 restrictedDoubleMemberHasValueOrDefault = true;
900 } 949 }
901 if (restrictedDoubleMemberHasValueOrDefault && 950 if (restrictedDoubleMemberHasValueOrDefault &&
902 !v8CallBoolean(dictionary->CreateDataProperty(isolate->GetCurrentContext() , v8AtomicString(isolate, "restrictedDoubleMember"), restrictedDoubleMemberValue ))) { 951 !v8CallBoolean(dictionary->CreateDataProperty(context, keys[20].Get(isolat e), restrictedDoubleMemberValue))) {
903 return false; 952 return false;
904 } 953 }
905 954
906 v8::Local<v8::Value> runtimeMemberValue; 955 v8::Local<v8::Value> runtimeMemberValue;
907 bool runtimeMemberHasValueOrDefault = false; 956 bool runtimeMemberHasValueOrDefault = false;
908 if (impl.hasRuntimeMember()) { 957 if (impl.hasRuntimeMember()) {
909 runtimeMemberValue = v8Boolean(impl.runtimeMember(), isolate); 958 runtimeMemberValue = v8Boolean(impl.runtimeMember(), isolate);
910 runtimeMemberHasValueOrDefault = true; 959 runtimeMemberHasValueOrDefault = true;
911 } 960 }
912 if (runtimeMemberHasValueOrDefault && 961 if (runtimeMemberHasValueOrDefault &&
913 !v8CallBoolean(dictionary->CreateDataProperty(isolate->GetCurrentContext() , v8AtomicString(isolate, "runtimeMember"), runtimeMemberValue))) { 962 !v8CallBoolean(dictionary->CreateDataProperty(context, keys[21].Get(isolat e), runtimeMemberValue))) {
914 return false; 963 return false;
915 } 964 }
916 965
917 v8::Local<v8::Value> stringArrayMemberValue; 966 v8::Local<v8::Value> stringArrayMemberValue;
918 bool stringArrayMemberHasValueOrDefault = false; 967 bool stringArrayMemberHasValueOrDefault = false;
919 if (impl.hasStringArrayMember()) { 968 if (impl.hasStringArrayMember()) {
920 stringArrayMemberValue = ToV8(impl.stringArrayMember(), creationContext, iso late); 969 stringArrayMemberValue = ToV8(impl.stringArrayMember(), creationContext, iso late);
921 stringArrayMemberHasValueOrDefault = true; 970 stringArrayMemberHasValueOrDefault = true;
922 } 971 }
923 if (stringArrayMemberHasValueOrDefault && 972 if (stringArrayMemberHasValueOrDefault &&
924 !v8CallBoolean(dictionary->CreateDataProperty(isolate->GetCurrentContext() , v8AtomicString(isolate, "stringArrayMember"), stringArrayMemberValue))) { 973 !v8CallBoolean(dictionary->CreateDataProperty(context, keys[22].Get(isolat e), stringArrayMemberValue))) {
925 return false; 974 return false;
926 } 975 }
927 976
928 v8::Local<v8::Value> stringMemberValue; 977 v8::Local<v8::Value> stringMemberValue;
929 bool stringMemberHasValueOrDefault = false; 978 bool stringMemberHasValueOrDefault = false;
930 if (impl.hasStringMember()) { 979 if (impl.hasStringMember()) {
931 stringMemberValue = v8String(isolate, impl.stringMember()); 980 stringMemberValue = v8String(isolate, impl.stringMember());
932 stringMemberHasValueOrDefault = true; 981 stringMemberHasValueOrDefault = true;
933 } 982 }
934 if (stringMemberHasValueOrDefault && 983 if (stringMemberHasValueOrDefault &&
935 !v8CallBoolean(dictionary->CreateDataProperty(isolate->GetCurrentContext() , v8AtomicString(isolate, "stringMember"), stringMemberValue))) { 984 !v8CallBoolean(dictionary->CreateDataProperty(context, keys[23].Get(isolat e), stringMemberValue))) {
936 return false; 985 return false;
937 } 986 }
938 987
939 v8::Local<v8::Value> stringOrNullMemberValue; 988 v8::Local<v8::Value> stringOrNullMemberValue;
940 bool stringOrNullMemberHasValueOrDefault = false; 989 bool stringOrNullMemberHasValueOrDefault = false;
941 if (impl.hasStringOrNullMember()) { 990 if (impl.hasStringOrNullMember()) {
942 stringOrNullMemberValue = v8String(isolate, impl.stringOrNullMember()); 991 stringOrNullMemberValue = v8String(isolate, impl.stringOrNullMember());
943 stringOrNullMemberHasValueOrDefault = true; 992 stringOrNullMemberHasValueOrDefault = true;
944 } else { 993 } else {
945 stringOrNullMemberValue = v8String(isolate, "default string value"); 994 stringOrNullMemberValue = v8String(isolate, "default string value");
946 stringOrNullMemberHasValueOrDefault = true; 995 stringOrNullMemberHasValueOrDefault = true;
947 } 996 }
948 if (stringOrNullMemberHasValueOrDefault && 997 if (stringOrNullMemberHasValueOrDefault &&
949 !v8CallBoolean(dictionary->CreateDataProperty(isolate->GetCurrentContext() , v8AtomicString(isolate, "stringOrNullMember"), stringOrNullMemberValue))) { 998 !v8CallBoolean(dictionary->CreateDataProperty(context, keys[24].Get(isolat e), stringOrNullMemberValue))) {
950 return false; 999 return false;
951 } 1000 }
952 1001
953 v8::Local<v8::Value> stringSequenceMemberValue; 1002 v8::Local<v8::Value> stringSequenceMemberValue;
954 bool stringSequenceMemberHasValueOrDefault = false; 1003 bool stringSequenceMemberHasValueOrDefault = false;
955 if (impl.hasStringSequenceMember()) { 1004 if (impl.hasStringSequenceMember()) {
956 stringSequenceMemberValue = ToV8(impl.stringSequenceMember(), creationContex t, isolate); 1005 stringSequenceMemberValue = ToV8(impl.stringSequenceMember(), creationContex t, isolate);
957 stringSequenceMemberHasValueOrDefault = true; 1006 stringSequenceMemberHasValueOrDefault = true;
958 } else { 1007 } else {
959 stringSequenceMemberValue = ToV8(Vector<String>(), creationContext, isolate) ; 1008 stringSequenceMemberValue = ToV8(Vector<String>(), creationContext, isolate) ;
960 stringSequenceMemberHasValueOrDefault = true; 1009 stringSequenceMemberHasValueOrDefault = true;
961 } 1010 }
962 if (stringSequenceMemberHasValueOrDefault && 1011 if (stringSequenceMemberHasValueOrDefault &&
963 !v8CallBoolean(dictionary->CreateDataProperty(isolate->GetCurrentContext() , v8AtomicString(isolate, "stringSequenceMember"), stringSequenceMemberValue))) { 1012 !v8CallBoolean(dictionary->CreateDataProperty(context, keys[25].Get(isolat e), stringSequenceMemberValue))) {
964 return false; 1013 return false;
965 } 1014 }
966 1015
967 v8::Local<v8::Value> testInterface2OrUint8ArrayMemberValue; 1016 v8::Local<v8::Value> testInterface2OrUint8ArrayMemberValue;
968 bool testInterface2OrUint8ArrayMemberHasValueOrDefault = false; 1017 bool testInterface2OrUint8ArrayMemberHasValueOrDefault = false;
969 if (impl.hasTestInterface2OrUint8ArrayMember()) { 1018 if (impl.hasTestInterface2OrUint8ArrayMember()) {
970 testInterface2OrUint8ArrayMemberValue = ToV8(impl.testInterface2OrUint8Array Member(), creationContext, isolate); 1019 testInterface2OrUint8ArrayMemberValue = ToV8(impl.testInterface2OrUint8Array Member(), creationContext, isolate);
971 testInterface2OrUint8ArrayMemberHasValueOrDefault = true; 1020 testInterface2OrUint8ArrayMemberHasValueOrDefault = true;
972 } 1021 }
973 if (testInterface2OrUint8ArrayMemberHasValueOrDefault && 1022 if (testInterface2OrUint8ArrayMemberHasValueOrDefault &&
974 !v8CallBoolean(dictionary->CreateDataProperty(isolate->GetCurrentContext() , v8AtomicString(isolate, "testInterface2OrUint8ArrayMember"), testInterface2OrU int8ArrayMemberValue))) { 1023 !v8CallBoolean(dictionary->CreateDataProperty(context, keys[26].Get(isolat e), testInterface2OrUint8ArrayMemberValue))) {
975 return false; 1024 return false;
976 } 1025 }
977 1026
978 v8::Local<v8::Value> testInterfaceGarbageCollectedMemberValue; 1027 v8::Local<v8::Value> testInterfaceGarbageCollectedMemberValue;
979 bool testInterfaceGarbageCollectedMemberHasValueOrDefault = false; 1028 bool testInterfaceGarbageCollectedMemberHasValueOrDefault = false;
980 if (impl.hasTestInterfaceGarbageCollectedMember()) { 1029 if (impl.hasTestInterfaceGarbageCollectedMember()) {
981 testInterfaceGarbageCollectedMemberValue = ToV8(impl.testInterfaceGarbageCol lectedMember(), creationContext, isolate); 1030 testInterfaceGarbageCollectedMemberValue = ToV8(impl.testInterfaceGarbageCol lectedMember(), creationContext, isolate);
982 testInterfaceGarbageCollectedMemberHasValueOrDefault = true; 1031 testInterfaceGarbageCollectedMemberHasValueOrDefault = true;
983 } 1032 }
984 if (testInterfaceGarbageCollectedMemberHasValueOrDefault && 1033 if (testInterfaceGarbageCollectedMemberHasValueOrDefault &&
985 !v8CallBoolean(dictionary->CreateDataProperty(isolate->GetCurrentContext() , v8AtomicString(isolate, "testInterfaceGarbageCollectedMember"), testInterfaceG arbageCollectedMemberValue))) { 1034 !v8CallBoolean(dictionary->CreateDataProperty(context, keys[27].Get(isolat e), testInterfaceGarbageCollectedMemberValue))) {
986 return false; 1035 return false;
987 } 1036 }
988 1037
989 v8::Local<v8::Value> testInterfaceGarbageCollectedOrNullMemberValue; 1038 v8::Local<v8::Value> testInterfaceGarbageCollectedOrNullMemberValue;
990 bool testInterfaceGarbageCollectedOrNullMemberHasValueOrDefault = false; 1039 bool testInterfaceGarbageCollectedOrNullMemberHasValueOrDefault = false;
991 if (impl.hasTestInterfaceGarbageCollectedOrNullMember()) { 1040 if (impl.hasTestInterfaceGarbageCollectedOrNullMember()) {
992 testInterfaceGarbageCollectedOrNullMemberValue = ToV8(impl.testInterfaceGarb ageCollectedOrNullMember(), creationContext, isolate); 1041 testInterfaceGarbageCollectedOrNullMemberValue = ToV8(impl.testInterfaceGarb ageCollectedOrNullMember(), creationContext, isolate);
993 testInterfaceGarbageCollectedOrNullMemberHasValueOrDefault = true; 1042 testInterfaceGarbageCollectedOrNullMemberHasValueOrDefault = true;
994 } else { 1043 } else {
995 testInterfaceGarbageCollectedOrNullMemberValue = v8::Null(isolate); 1044 testInterfaceGarbageCollectedOrNullMemberValue = v8::Null(isolate);
996 testInterfaceGarbageCollectedOrNullMemberHasValueOrDefault = true; 1045 testInterfaceGarbageCollectedOrNullMemberHasValueOrDefault = true;
997 } 1046 }
998 if (testInterfaceGarbageCollectedOrNullMemberHasValueOrDefault && 1047 if (testInterfaceGarbageCollectedOrNullMemberHasValueOrDefault &&
999 !v8CallBoolean(dictionary->CreateDataProperty(isolate->GetCurrentContext() , v8AtomicString(isolate, "testInterfaceGarbageCollectedOrNullMember"), testInte rfaceGarbageCollectedOrNullMemberValue))) { 1048 !v8CallBoolean(dictionary->CreateDataProperty(context, keys[28].Get(isolat e), testInterfaceGarbageCollectedOrNullMemberValue))) {
1000 return false; 1049 return false;
1001 } 1050 }
1002 1051
1003 v8::Local<v8::Value> testInterfaceGarbageCollectedSequenceMemberValue; 1052 v8::Local<v8::Value> testInterfaceGarbageCollectedSequenceMemberValue;
1004 bool testInterfaceGarbageCollectedSequenceMemberHasValueOrDefault = false; 1053 bool testInterfaceGarbageCollectedSequenceMemberHasValueOrDefault = false;
1005 if (impl.hasTestInterfaceGarbageCollectedSequenceMember()) { 1054 if (impl.hasTestInterfaceGarbageCollectedSequenceMember()) {
1006 testInterfaceGarbageCollectedSequenceMemberValue = ToV8(impl.testInterfaceGa rbageCollectedSequenceMember(), creationContext, isolate); 1055 testInterfaceGarbageCollectedSequenceMemberValue = ToV8(impl.testInterfaceGa rbageCollectedSequenceMember(), creationContext, isolate);
1007 testInterfaceGarbageCollectedSequenceMemberHasValueOrDefault = true; 1056 testInterfaceGarbageCollectedSequenceMemberHasValueOrDefault = true;
1008 } else { 1057 } else {
1009 testInterfaceGarbageCollectedSequenceMemberValue = ToV8(HeapVector<Member<Te stInterfaceGarbageCollected>>(), creationContext, isolate); 1058 testInterfaceGarbageCollectedSequenceMemberValue = ToV8(HeapVector<Member<Te stInterfaceGarbageCollected>>(), creationContext, isolate);
1010 testInterfaceGarbageCollectedSequenceMemberHasValueOrDefault = true; 1059 testInterfaceGarbageCollectedSequenceMemberHasValueOrDefault = true;
1011 } 1060 }
1012 if (testInterfaceGarbageCollectedSequenceMemberHasValueOrDefault && 1061 if (testInterfaceGarbageCollectedSequenceMemberHasValueOrDefault &&
1013 !v8CallBoolean(dictionary->CreateDataProperty(isolate->GetCurrentContext() , v8AtomicString(isolate, "testInterfaceGarbageCollectedSequenceMember"), testIn terfaceGarbageCollectedSequenceMemberValue))) { 1062 !v8CallBoolean(dictionary->CreateDataProperty(context, keys[29].Get(isolat e), testInterfaceGarbageCollectedSequenceMemberValue))) {
1014 return false; 1063 return false;
1015 } 1064 }
1016 1065
1017 v8::Local<v8::Value> testInterfaceMemberValue; 1066 v8::Local<v8::Value> testInterfaceMemberValue;
1018 bool testInterfaceMemberHasValueOrDefault = false; 1067 bool testInterfaceMemberHasValueOrDefault = false;
1019 if (impl.hasTestInterfaceMember()) { 1068 if (impl.hasTestInterfaceMember()) {
1020 testInterfaceMemberValue = ToV8(impl.testInterfaceMember(), creationContext, isolate); 1069 testInterfaceMemberValue = ToV8(impl.testInterfaceMember(), creationContext, isolate);
1021 testInterfaceMemberHasValueOrDefault = true; 1070 testInterfaceMemberHasValueOrDefault = true;
1022 } 1071 }
1023 if (testInterfaceMemberHasValueOrDefault && 1072 if (testInterfaceMemberHasValueOrDefault &&
1024 !v8CallBoolean(dictionary->CreateDataProperty(isolate->GetCurrentContext() , v8AtomicString(isolate, "testInterfaceMember"), testInterfaceMemberValue))) { 1073 !v8CallBoolean(dictionary->CreateDataProperty(context, keys[30].Get(isolat e), testInterfaceMemberValue))) {
1025 return false; 1074 return false;
1026 } 1075 }
1027 1076
1028 v8::Local<v8::Value> testInterfaceOrNullMemberValue; 1077 v8::Local<v8::Value> testInterfaceOrNullMemberValue;
1029 bool testInterfaceOrNullMemberHasValueOrDefault = false; 1078 bool testInterfaceOrNullMemberHasValueOrDefault = false;
1030 if (impl.hasTestInterfaceOrNullMember()) { 1079 if (impl.hasTestInterfaceOrNullMember()) {
1031 testInterfaceOrNullMemberValue = ToV8(impl.testInterfaceOrNullMember(), crea tionContext, isolate); 1080 testInterfaceOrNullMemberValue = ToV8(impl.testInterfaceOrNullMember(), crea tionContext, isolate);
1032 testInterfaceOrNullMemberHasValueOrDefault = true; 1081 testInterfaceOrNullMemberHasValueOrDefault = true;
1033 } else { 1082 } else {
1034 testInterfaceOrNullMemberValue = v8::Null(isolate); 1083 testInterfaceOrNullMemberValue = v8::Null(isolate);
1035 testInterfaceOrNullMemberHasValueOrDefault = true; 1084 testInterfaceOrNullMemberHasValueOrDefault = true;
1036 } 1085 }
1037 if (testInterfaceOrNullMemberHasValueOrDefault && 1086 if (testInterfaceOrNullMemberHasValueOrDefault &&
1038 !v8CallBoolean(dictionary->CreateDataProperty(isolate->GetCurrentContext() , v8AtomicString(isolate, "testInterfaceOrNullMember"), testInterfaceOrNullMembe rValue))) { 1087 !v8CallBoolean(dictionary->CreateDataProperty(context, keys[31].Get(isolat e), testInterfaceOrNullMemberValue))) {
1039 return false; 1088 return false;
1040 } 1089 }
1041 1090
1042 v8::Local<v8::Value> testInterfaceSequenceMemberValue; 1091 v8::Local<v8::Value> testInterfaceSequenceMemberValue;
1043 bool testInterfaceSequenceMemberHasValueOrDefault = false; 1092 bool testInterfaceSequenceMemberHasValueOrDefault = false;
1044 if (impl.hasTestInterfaceSequenceMember()) { 1093 if (impl.hasTestInterfaceSequenceMember()) {
1045 testInterfaceSequenceMemberValue = ToV8(impl.testInterfaceSequenceMember(), creationContext, isolate); 1094 testInterfaceSequenceMemberValue = ToV8(impl.testInterfaceSequenceMember(), creationContext, isolate);
1046 testInterfaceSequenceMemberHasValueOrDefault = true; 1095 testInterfaceSequenceMemberHasValueOrDefault = true;
1047 } else { 1096 } else {
1048 testInterfaceSequenceMemberValue = ToV8(HeapVector<Member<TestInterfaceImple mentation>>(), creationContext, isolate); 1097 testInterfaceSequenceMemberValue = ToV8(HeapVector<Member<TestInterfaceImple mentation>>(), creationContext, isolate);
1049 testInterfaceSequenceMemberHasValueOrDefault = true; 1098 testInterfaceSequenceMemberHasValueOrDefault = true;
1050 } 1099 }
1051 if (testInterfaceSequenceMemberHasValueOrDefault && 1100 if (testInterfaceSequenceMemberHasValueOrDefault &&
1052 !v8CallBoolean(dictionary->CreateDataProperty(isolate->GetCurrentContext() , v8AtomicString(isolate, "testInterfaceSequenceMember"), testInterfaceSequenceM emberValue))) { 1101 !v8CallBoolean(dictionary->CreateDataProperty(context, keys[32].Get(isolat e), testInterfaceSequenceMemberValue))) {
1053 return false; 1102 return false;
1054 } 1103 }
1055 1104
1056 v8::Local<v8::Value> testObjectSequenceMemberValue; 1105 v8::Local<v8::Value> testObjectSequenceMemberValue;
1057 bool testObjectSequenceMemberHasValueOrDefault = false; 1106 bool testObjectSequenceMemberHasValueOrDefault = false;
1058 if (impl.hasTestObjectSequenceMember()) { 1107 if (impl.hasTestObjectSequenceMember()) {
1059 testObjectSequenceMemberValue = ToV8(impl.testObjectSequenceMember(), creati onContext, isolate); 1108 testObjectSequenceMemberValue = ToV8(impl.testObjectSequenceMember(), creati onContext, isolate);
1060 testObjectSequenceMemberHasValueOrDefault = true; 1109 testObjectSequenceMemberHasValueOrDefault = true;
1061 } 1110 }
1062 if (testObjectSequenceMemberHasValueOrDefault && 1111 if (testObjectSequenceMemberHasValueOrDefault &&
1063 !v8CallBoolean(dictionary->CreateDataProperty(isolate->GetCurrentContext() , v8AtomicString(isolate, "testObjectSequenceMember"), testObjectSequenceMemberV alue))) { 1112 !v8CallBoolean(dictionary->CreateDataProperty(context, keys[33].Get(isolat e), testObjectSequenceMemberValue))) {
1064 return false; 1113 return false;
1065 } 1114 }
1066 1115
1067 v8::Local<v8::Value> uint8ArrayMemberValue; 1116 v8::Local<v8::Value> uint8ArrayMemberValue;
1068 bool uint8ArrayMemberHasValueOrDefault = false; 1117 bool uint8ArrayMemberHasValueOrDefault = false;
1069 if (impl.hasUint8ArrayMember()) { 1118 if (impl.hasUint8ArrayMember()) {
1070 uint8ArrayMemberValue = ToV8(impl.uint8ArrayMember(), creationContext, isola te); 1119 uint8ArrayMemberValue = ToV8(impl.uint8ArrayMember(), creationContext, isola te);
1071 uint8ArrayMemberHasValueOrDefault = true; 1120 uint8ArrayMemberHasValueOrDefault = true;
1072 } 1121 }
1073 if (uint8ArrayMemberHasValueOrDefault && 1122 if (uint8ArrayMemberHasValueOrDefault &&
1074 !v8CallBoolean(dictionary->CreateDataProperty(isolate->GetCurrentContext() , v8AtomicString(isolate, "uint8ArrayMember"), uint8ArrayMemberValue))) { 1123 !v8CallBoolean(dictionary->CreateDataProperty(context, keys[34].Get(isolat e), uint8ArrayMemberValue))) {
1075 return false; 1124 return false;
1076 } 1125 }
1077 1126
1078 v8::Local<v8::Value> unionInRecordMemberValue; 1127 v8::Local<v8::Value> unionInRecordMemberValue;
1079 bool unionInRecordMemberHasValueOrDefault = false; 1128 bool unionInRecordMemberHasValueOrDefault = false;
1080 if (impl.hasUnionInRecordMember()) { 1129 if (impl.hasUnionInRecordMember()) {
1081 unionInRecordMemberValue = ToV8(impl.unionInRecordMember(), creationContext, isolate); 1130 unionInRecordMemberValue = ToV8(impl.unionInRecordMember(), creationContext, isolate);
1082 unionInRecordMemberHasValueOrDefault = true; 1131 unionInRecordMemberHasValueOrDefault = true;
1083 } 1132 }
1084 if (unionInRecordMemberHasValueOrDefault && 1133 if (unionInRecordMemberHasValueOrDefault &&
1085 !v8CallBoolean(dictionary->CreateDataProperty(isolate->GetCurrentContext() , v8AtomicString(isolate, "unionInRecordMember"), unionInRecordMemberValue))) { 1134 !v8CallBoolean(dictionary->CreateDataProperty(context, keys[35].Get(isolat e), unionInRecordMemberValue))) {
1086 return false; 1135 return false;
1087 } 1136 }
1088 1137
1089 v8::Local<v8::Value> unionWithTypedefsValue; 1138 v8::Local<v8::Value> unionWithTypedefsValue;
1090 bool unionWithTypedefsHasValueOrDefault = false; 1139 bool unionWithTypedefsHasValueOrDefault = false;
1091 if (impl.hasUnionWithTypedefs()) { 1140 if (impl.hasUnionWithTypedefs()) {
1092 unionWithTypedefsValue = ToV8(impl.unionWithTypedefs(), creationContext, iso late); 1141 unionWithTypedefsValue = ToV8(impl.unionWithTypedefs(), creationContext, iso late);
1093 unionWithTypedefsHasValueOrDefault = true; 1142 unionWithTypedefsHasValueOrDefault = true;
1094 } 1143 }
1095 if (unionWithTypedefsHasValueOrDefault && 1144 if (unionWithTypedefsHasValueOrDefault &&
1096 !v8CallBoolean(dictionary->CreateDataProperty(isolate->GetCurrentContext() , v8AtomicString(isolate, "unionWithTypedefs"), unionWithTypedefsValue))) { 1145 !v8CallBoolean(dictionary->CreateDataProperty(context, keys[36].Get(isolat e), unionWithTypedefsValue))) {
1097 return false; 1146 return false;
1098 } 1147 }
1099 1148
1100 v8::Local<v8::Value> unrestrictedDoubleMemberValue; 1149 v8::Local<v8::Value> unrestrictedDoubleMemberValue;
1101 bool unrestrictedDoubleMemberHasValueOrDefault = false; 1150 bool unrestrictedDoubleMemberHasValueOrDefault = false;
1102 if (impl.hasUnrestrictedDoubleMember()) { 1151 if (impl.hasUnrestrictedDoubleMember()) {
1103 unrestrictedDoubleMemberValue = v8::Number::New(isolate, impl.unrestrictedDo ubleMember()); 1152 unrestrictedDoubleMemberValue = v8::Number::New(isolate, impl.unrestrictedDo ubleMember());
1104 unrestrictedDoubleMemberHasValueOrDefault = true; 1153 unrestrictedDoubleMemberHasValueOrDefault = true;
1105 } else { 1154 } else {
1106 unrestrictedDoubleMemberValue = v8::Number::New(isolate, 3.14); 1155 unrestrictedDoubleMemberValue = v8::Number::New(isolate, 3.14);
1107 unrestrictedDoubleMemberHasValueOrDefault = true; 1156 unrestrictedDoubleMemberHasValueOrDefault = true;
1108 } 1157 }
1109 if (unrestrictedDoubleMemberHasValueOrDefault && 1158 if (unrestrictedDoubleMemberHasValueOrDefault &&
1110 !v8CallBoolean(dictionary->CreateDataProperty(isolate->GetCurrentContext() , v8AtomicString(isolate, "unrestrictedDoubleMember"), unrestrictedDoubleMemberV alue))) { 1159 !v8CallBoolean(dictionary->CreateDataProperty(context, keys[37].Get(isolat e), unrestrictedDoubleMemberValue))) {
1111 return false; 1160 return false;
1112 } 1161 }
1113 1162
1114 return true; 1163 return true;
1115 } 1164 }
1116 1165
1117 TestDictionary NativeValueTraits<TestDictionary>::nativeValue(v8::Isolate* isola te, v8::Local<v8::Value> value, ExceptionState& exceptionState) { 1166 TestDictionary NativeValueTraits<TestDictionary>::nativeValue(v8::Isolate* isola te, v8::Local<v8::Value> value, ExceptionState& exceptionState) {
1118 TestDictionary impl; 1167 TestDictionary impl;
1119 V8TestDictionary::toImpl(isolate, value, impl, exceptionState); 1168 V8TestDictionary::toImpl(isolate, value, impl, exceptionState);
1120 return impl; 1169 return impl;
1121 } 1170 }
1122 1171
1123 } // namespace blink 1172 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698