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

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

Issue 767313003: IDL dictionary: Throw a TypeError when an interface member conversion fails (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Created 6 years 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
« no previous file with comments | « Source/bindings/templates/dictionary_v8.cpp ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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. DO NOT MODIFY! 5 // This file has been auto-generated by code_generator_v8.py. DO NOT MODIFY!
6 6
7 #include "config.h" 7 #include "config.h"
8 #include "V8TestDictionary.h" 8 #include "V8TestDictionary.h"
9 9
10 #include "bindings/core/v8/ExceptionState.h" 10 #include "bindings/core/v8/ExceptionState.h"
(...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after
85 if (block.HasCaught()) { 85 if (block.HasCaught()) {
86 exceptionState.rethrowV8Exception(block.Exception()); 86 exceptionState.rethrowV8Exception(block.Exception());
87 return; 87 return;
88 } 88 }
89 if (elementOrNullMemberValue.IsEmpty() || elementOrNullMemberValue->IsUndefi ned()) { 89 if (elementOrNullMemberValue.IsEmpty() || elementOrNullMemberValue->IsUndefi ned()) {
90 // Do nothing. 90 // Do nothing.
91 } else if (elementOrNullMemberValue->IsNull()) { 91 } else if (elementOrNullMemberValue->IsNull()) {
92 impl.setElementOrNullMemberToNull(); 92 impl.setElementOrNullMemberToNull();
93 } else { 93 } else {
94 Element* elementOrNullMember = V8Element::toImplWithTypeCheck(isolate, e lementOrNullMemberValue); 94 Element* elementOrNullMember = V8Element::toImplWithTypeCheck(isolate, e lementOrNullMemberValue);
95 if (!elementOrNullMember && !elementOrNullMemberValue->IsNull()) {
96 exceptionState.throwTypeError("member elementOrNullMember is not of type Element.");
97 return;
98 }
95 impl.setElementOrNullMember(elementOrNullMember); 99 impl.setElementOrNullMember(elementOrNullMember);
96 } 100 }
97 101
98 v8::Local<v8::Value> enumMemberValue = v8Object->Get(v8String(isolate, "enum Member")); 102 v8::Local<v8::Value> enumMemberValue = v8Object->Get(v8String(isolate, "enum Member"));
99 if (block.HasCaught()) { 103 if (block.HasCaught()) {
100 exceptionState.rethrowV8Exception(block.Exception()); 104 exceptionState.rethrowV8Exception(block.Exception());
101 return; 105 return;
102 } 106 }
103 if (enumMemberValue.IsEmpty() || enumMemberValue->IsUndefined()) { 107 if (enumMemberValue.IsEmpty() || enumMemberValue->IsUndefined()) {
104 // Do nothing. 108 // Do nothing.
(...skipping 117 matching lines...) Expand 10 before | Expand all | Expand 10 after
222 226
223 v8::Local<v8::Value> testInterfaceGarbageCollectedMemberValue = v8Object->Ge t(v8String(isolate, "testInterfaceGarbageCollectedMember")); 227 v8::Local<v8::Value> testInterfaceGarbageCollectedMemberValue = v8Object->Ge t(v8String(isolate, "testInterfaceGarbageCollectedMember"));
224 if (block.HasCaught()) { 228 if (block.HasCaught()) {
225 exceptionState.rethrowV8Exception(block.Exception()); 229 exceptionState.rethrowV8Exception(block.Exception());
226 return; 230 return;
227 } 231 }
228 if (testInterfaceGarbageCollectedMemberValue.IsEmpty() || testInterfaceGarba geCollectedMemberValue->IsUndefined()) { 232 if (testInterfaceGarbageCollectedMemberValue.IsEmpty() || testInterfaceGarba geCollectedMemberValue->IsUndefined()) {
229 // Do nothing. 233 // Do nothing.
230 } else { 234 } else {
231 TestInterfaceGarbageCollected* testInterfaceGarbageCollectedMember = V8T estInterfaceGarbageCollected::toImplWithTypeCheck(isolate, testInterfaceGarbageC ollectedMemberValue); 235 TestInterfaceGarbageCollected* testInterfaceGarbageCollectedMember = V8T estInterfaceGarbageCollected::toImplWithTypeCheck(isolate, testInterfaceGarbageC ollectedMemberValue);
236 if (!testInterfaceGarbageCollectedMember && !testInterfaceGarbageCollect edMemberValue->IsNull()) {
237 exceptionState.throwTypeError("member testInterfaceGarbageCollectedM ember is not of type TestInterfaceGarbageCollected.");
238 return;
239 }
232 impl.setTestInterfaceGarbageCollectedMember(testInterfaceGarbageCollecte dMember); 240 impl.setTestInterfaceGarbageCollectedMember(testInterfaceGarbageCollecte dMember);
233 } 241 }
234 242
235 v8::Local<v8::Value> testInterfaceGarbageCollectedOrNullMemberValue = v8Obje ct->Get(v8String(isolate, "testInterfaceGarbageCollectedOrNullMember")); 243 v8::Local<v8::Value> testInterfaceGarbageCollectedOrNullMemberValue = v8Obje ct->Get(v8String(isolate, "testInterfaceGarbageCollectedOrNullMember"));
236 if (block.HasCaught()) { 244 if (block.HasCaught()) {
237 exceptionState.rethrowV8Exception(block.Exception()); 245 exceptionState.rethrowV8Exception(block.Exception());
238 return; 246 return;
239 } 247 }
240 if (testInterfaceGarbageCollectedOrNullMemberValue.IsEmpty() || testInterfac eGarbageCollectedOrNullMemberValue->IsUndefined()) { 248 if (testInterfaceGarbageCollectedOrNullMemberValue.IsEmpty() || testInterfac eGarbageCollectedOrNullMemberValue->IsUndefined()) {
241 // Do nothing. 249 // Do nothing.
242 } else if (testInterfaceGarbageCollectedOrNullMemberValue->IsNull()) { 250 } else if (testInterfaceGarbageCollectedOrNullMemberValue->IsNull()) {
243 impl.setTestInterfaceGarbageCollectedOrNullMemberToNull(); 251 impl.setTestInterfaceGarbageCollectedOrNullMemberToNull();
244 } else { 252 } else {
245 TestInterfaceGarbageCollected* testInterfaceGarbageCollectedOrNullMember = V8TestInterfaceGarbageCollected::toImplWithTypeCheck(isolate, testInterfaceGa rbageCollectedOrNullMemberValue); 253 TestInterfaceGarbageCollected* testInterfaceGarbageCollectedOrNullMember = V8TestInterfaceGarbageCollected::toImplWithTypeCheck(isolate, testInterfaceGa rbageCollectedOrNullMemberValue);
254 if (!testInterfaceGarbageCollectedOrNullMember && !testInterfaceGarbageC ollectedOrNullMemberValue->IsNull()) {
255 exceptionState.throwTypeError("member testInterfaceGarbageCollectedO rNullMember is not of type TestInterfaceGarbageCollected.");
256 return;
257 }
246 impl.setTestInterfaceGarbageCollectedOrNullMember(testInterfaceGarbageCo llectedOrNullMember); 258 impl.setTestInterfaceGarbageCollectedOrNullMember(testInterfaceGarbageCo llectedOrNullMember);
247 } 259 }
248 260
249 v8::Local<v8::Value> testInterfaceMemberValue = v8Object->Get(v8String(isola te, "testInterfaceMember")); 261 v8::Local<v8::Value> testInterfaceMemberValue = v8Object->Get(v8String(isola te, "testInterfaceMember"));
250 if (block.HasCaught()) { 262 if (block.HasCaught()) {
251 exceptionState.rethrowV8Exception(block.Exception()); 263 exceptionState.rethrowV8Exception(block.Exception());
252 return; 264 return;
253 } 265 }
254 if (testInterfaceMemberValue.IsEmpty() || testInterfaceMemberValue->IsUndefi ned()) { 266 if (testInterfaceMemberValue.IsEmpty() || testInterfaceMemberValue->IsUndefi ned()) {
255 // Do nothing. 267 // Do nothing.
256 } else { 268 } else {
257 TestInterfaceImplementation* testInterfaceMember = V8TestInterface::toIm plWithTypeCheck(isolate, testInterfaceMemberValue); 269 TestInterfaceImplementation* testInterfaceMember = V8TestInterface::toIm plWithTypeCheck(isolate, testInterfaceMemberValue);
270 if (!testInterfaceMember && !testInterfaceMemberValue->IsNull()) {
271 exceptionState.throwTypeError("member testInterfaceMember is not of type TestInterface.");
272 return;
273 }
258 impl.setTestInterfaceMember(testInterfaceMember); 274 impl.setTestInterfaceMember(testInterfaceMember);
259 } 275 }
260 276
261 v8::Local<v8::Value> testInterfaceOrNullMemberValue = v8Object->Get(v8String (isolate, "testInterfaceOrNullMember")); 277 v8::Local<v8::Value> testInterfaceOrNullMemberValue = v8Object->Get(v8String (isolate, "testInterfaceOrNullMember"));
262 if (block.HasCaught()) { 278 if (block.HasCaught()) {
263 exceptionState.rethrowV8Exception(block.Exception()); 279 exceptionState.rethrowV8Exception(block.Exception());
264 return; 280 return;
265 } 281 }
266 if (testInterfaceOrNullMemberValue.IsEmpty() || testInterfaceOrNullMemberVal ue->IsUndefined()) { 282 if (testInterfaceOrNullMemberValue.IsEmpty() || testInterfaceOrNullMemberVal ue->IsUndefined()) {
267 // Do nothing. 283 // Do nothing.
268 } else if (testInterfaceOrNullMemberValue->IsNull()) { 284 } else if (testInterfaceOrNullMemberValue->IsNull()) {
269 impl.setTestInterfaceOrNullMemberToNull(); 285 impl.setTestInterfaceOrNullMemberToNull();
270 } else { 286 } else {
271 TestInterfaceImplementation* testInterfaceOrNullMember = V8TestInterface ::toImplWithTypeCheck(isolate, testInterfaceOrNullMemberValue); 287 TestInterfaceImplementation* testInterfaceOrNullMember = V8TestInterface ::toImplWithTypeCheck(isolate, testInterfaceOrNullMemberValue);
288 if (!testInterfaceOrNullMember && !testInterfaceOrNullMemberValue->IsNul l()) {
289 exceptionState.throwTypeError("member testInterfaceOrNullMember is n ot of type TestInterface.");
290 return;
291 }
272 impl.setTestInterfaceOrNullMember(testInterfaceOrNullMember); 292 impl.setTestInterfaceOrNullMember(testInterfaceOrNullMember);
273 } 293 }
274 294
275 v8::Local<v8::Value> testInterfaceWillBeGarbageCollectedMemberValue = v8Obje ct->Get(v8String(isolate, "testInterfaceWillBeGarbageCollectedMember")); 295 v8::Local<v8::Value> testInterfaceWillBeGarbageCollectedMemberValue = v8Obje ct->Get(v8String(isolate, "testInterfaceWillBeGarbageCollectedMember"));
276 if (block.HasCaught()) { 296 if (block.HasCaught()) {
277 exceptionState.rethrowV8Exception(block.Exception()); 297 exceptionState.rethrowV8Exception(block.Exception());
278 return; 298 return;
279 } 299 }
280 if (testInterfaceWillBeGarbageCollectedMemberValue.IsEmpty() || testInterfac eWillBeGarbageCollectedMemberValue->IsUndefined()) { 300 if (testInterfaceWillBeGarbageCollectedMemberValue.IsEmpty() || testInterfac eWillBeGarbageCollectedMemberValue->IsUndefined()) {
281 // Do nothing. 301 // Do nothing.
282 } else { 302 } else {
283 TestInterfaceWillBeGarbageCollected* testInterfaceWillBeGarbageCollected Member = V8TestInterfaceWillBeGarbageCollected::toImplWithTypeCheck(isolate, tes tInterfaceWillBeGarbageCollectedMemberValue); 303 TestInterfaceWillBeGarbageCollected* testInterfaceWillBeGarbageCollected Member = V8TestInterfaceWillBeGarbageCollected::toImplWithTypeCheck(isolate, tes tInterfaceWillBeGarbageCollectedMemberValue);
304 if (!testInterfaceWillBeGarbageCollectedMember && !testInterfaceWillBeGa rbageCollectedMemberValue->IsNull()) {
305 exceptionState.throwTypeError("member testInterfaceWillBeGarbageColl ectedMember is not of type TestInterfaceWillBeGarbageCollected.");
306 return;
307 }
284 impl.setTestInterfaceWillBeGarbageCollectedMember(testInterfaceWillBeGar bageCollectedMember); 308 impl.setTestInterfaceWillBeGarbageCollectedMember(testInterfaceWillBeGar bageCollectedMember);
285 } 309 }
286 310
287 v8::Local<v8::Value> testInterfaceWillBeGarbageCollectedOrNullMemberValue = v8Object->Get(v8String(isolate, "testInterfaceWillBeGarbageCollectedOrNullMember ")); 311 v8::Local<v8::Value> testInterfaceWillBeGarbageCollectedOrNullMemberValue = v8Object->Get(v8String(isolate, "testInterfaceWillBeGarbageCollectedOrNullMember "));
288 if (block.HasCaught()) { 312 if (block.HasCaught()) {
289 exceptionState.rethrowV8Exception(block.Exception()); 313 exceptionState.rethrowV8Exception(block.Exception());
290 return; 314 return;
291 } 315 }
292 if (testInterfaceWillBeGarbageCollectedOrNullMemberValue.IsEmpty() || testIn terfaceWillBeGarbageCollectedOrNullMemberValue->IsUndefined()) { 316 if (testInterfaceWillBeGarbageCollectedOrNullMemberValue.IsEmpty() || testIn terfaceWillBeGarbageCollectedOrNullMemberValue->IsUndefined()) {
293 // Do nothing. 317 // Do nothing.
294 } else if (testInterfaceWillBeGarbageCollectedOrNullMemberValue->IsNull()) { 318 } else if (testInterfaceWillBeGarbageCollectedOrNullMemberValue->IsNull()) {
295 impl.setTestInterfaceWillBeGarbageCollectedOrNullMemberToNull(); 319 impl.setTestInterfaceWillBeGarbageCollectedOrNullMemberToNull();
296 } else { 320 } else {
297 TestInterfaceWillBeGarbageCollected* testInterfaceWillBeGarbageCollected OrNullMember = V8TestInterfaceWillBeGarbageCollected::toImplWithTypeCheck(isolat e, testInterfaceWillBeGarbageCollectedOrNullMemberValue); 321 TestInterfaceWillBeGarbageCollected* testInterfaceWillBeGarbageCollected OrNullMember = V8TestInterfaceWillBeGarbageCollected::toImplWithTypeCheck(isolat e, testInterfaceWillBeGarbageCollectedOrNullMemberValue);
322 if (!testInterfaceWillBeGarbageCollectedOrNullMember && !testInterfaceWi llBeGarbageCollectedOrNullMemberValue->IsNull()) {
323 exceptionState.throwTypeError("member testInterfaceWillBeGarbageColl ectedOrNullMember is not of type TestInterfaceWillBeGarbageCollected.");
324 return;
325 }
298 impl.setTestInterfaceWillBeGarbageCollectedOrNullMember(testInterfaceWil lBeGarbageCollectedOrNullMember); 326 impl.setTestInterfaceWillBeGarbageCollectedOrNullMember(testInterfaceWil lBeGarbageCollectedOrNullMember);
299 } 327 }
300 328
301 v8::Local<v8::Value> uint8ArrayMemberValue = v8Object->Get(v8String(isolate, "uint8ArrayMember")); 329 v8::Local<v8::Value> uint8ArrayMemberValue = v8Object->Get(v8String(isolate, "uint8ArrayMember"));
302 if (block.HasCaught()) { 330 if (block.HasCaught()) {
303 exceptionState.rethrowV8Exception(block.Exception()); 331 exceptionState.rethrowV8Exception(block.Exception());
304 return; 332 return;
305 } 333 }
306 if (uint8ArrayMemberValue.IsEmpty() || uint8ArrayMemberValue->IsUndefined()) { 334 if (uint8ArrayMemberValue.IsEmpty() || uint8ArrayMemberValue->IsUndefined()) {
307 // Do nothing. 335 // Do nothing.
308 } else { 336 } else {
309 DOMUint8Array* uint8ArrayMember = uint8ArrayMemberValue->IsUint8Array() ? V8Uint8Array::toImpl(v8::Handle<v8::Uint8Array>::Cast(uint8ArrayMemberValue)) : 0; 337 DOMUint8Array* uint8ArrayMember = uint8ArrayMemberValue->IsUint8Array() ? V8Uint8Array::toImpl(v8::Handle<v8::Uint8Array>::Cast(uint8ArrayMemberValue)) : 0;
338 if (!uint8ArrayMember && !uint8ArrayMemberValue->IsNull()) {
339 exceptionState.throwTypeError("member uint8ArrayMember is not of typ e Uint8Array.");
340 return;
341 }
310 impl.setUint8ArrayMember(uint8ArrayMember); 342 impl.setUint8ArrayMember(uint8ArrayMember);
311 } 343 }
312 344
313 } 345 }
314 346
315 v8::Handle<v8::Value> toV8(const TestDictionary& impl, v8::Handle<v8::Object> cr eationContext, v8::Isolate* isolate) 347 v8::Handle<v8::Value> toV8(const TestDictionary& impl, v8::Handle<v8::Object> cr eationContext, v8::Isolate* isolate)
316 { 348 {
317 v8::Handle<v8::Object> v8Object = v8::Object::New(isolate); 349 v8::Handle<v8::Object> v8Object = v8::Object::New(isolate);
318 toV8TestDictionary(impl, v8Object, creationContext, isolate); 350 toV8TestDictionary(impl, v8Object, creationContext, isolate);
319 return v8Object; 351 return v8Object;
(...skipping 98 matching lines...) Expand 10 before | Expand all | Expand 10 after
418 } 450 }
419 451
420 TestDictionary NativeValueTraits<TestDictionary>::nativeValue(const v8::Handle<v 8::Value>& value, v8::Isolate* isolate, ExceptionState& exceptionState) 452 TestDictionary NativeValueTraits<TestDictionary>::nativeValue(const v8::Handle<v 8::Value>& value, v8::Isolate* isolate, ExceptionState& exceptionState)
421 { 453 {
422 TestDictionary impl; 454 TestDictionary impl;
423 V8TestDictionary::toImpl(isolate, value, impl, exceptionState); 455 V8TestDictionary::toImpl(isolate, value, impl, exceptionState);
424 return impl; 456 return impl;
425 } 457 }
426 458
427 } // namespace blink 459 } // namespace blink
OLDNEW
« no previous file with comments | « Source/bindings/templates/dictionary_v8.cpp ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698