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

Side by Side Diff: Source/bindings/tests/results/V8TestTypedefs.cpp

Issue 68563003: Create DOM exceptions in the correct context. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Rebased onto df9a982fbe97 Created 7 years, 1 month 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 /* 1 /*
2 * Copyright (C) 2013 Google Inc. All rights reserved. 2 * Copyright (C) 2013 Google Inc. All rights reserved.
3 * 3 *
4 * Redistribution and use in source and binary forms, with or without 4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions are 5 * modification, are permitted provided that the following conditions are
6 * met: 6 * met:
7 * 7 *
8 * * Redistributions of source code must retain the above copyright 8 * * Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer. 9 * notice, this list of conditions and the following disclaimer.
10 * * Redistributions in binary form must reproduce the above 10 * * Redistributions in binary form must reproduce the above
(...skipping 119 matching lines...) Expand 10 before | Expand all | Expand 10 after
130 static void immutableSerializedScriptValueAttributeSetterCallback(v8::Local<v8:: String>, v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& inf o) 130 static void immutableSerializedScriptValueAttributeSetterCallback(v8::Local<v8:: String>, v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& inf o)
131 { 131 {
132 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter"); 132 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter");
133 TestTypedefsV8Internal::immutableSerializedScriptValueAttributeSetter(jsValu e, info); 133 TestTypedefsV8Internal::immutableSerializedScriptValueAttributeSetter(jsValu e, info);
134 TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 134 TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution");
135 } 135 }
136 136
137 static void attrWithGetterExceptionAttributeGetter(const v8::PropertyCallbackInf o<v8::Value>& info) 137 static void attrWithGetterExceptionAttributeGetter(const v8::PropertyCallbackInf o<v8::Value>& info)
138 { 138 {
139 TestTypedefs* imp = V8TestTypedefs::toNative(info.Holder()); 139 TestTypedefs* imp = V8TestTypedefs::toNative(info.Holder());
140 ExceptionState exceptionState(info.GetIsolate()); 140 ExceptionState exceptionState(info.Holder(), info.GetIsolate());
141 int jsValue = imp->attrWithGetterException(exceptionState); 141 int jsValue = imp->attrWithGetterException(exceptionState);
142 if (UNLIKELY(exceptionState.throwIfNeeded())) 142 if (UNLIKELY(exceptionState.throwIfNeeded()))
143 return; 143 return;
144 v8SetReturnValueInt(info, jsValue); 144 v8SetReturnValueInt(info, jsValue);
145 } 145 }
146 146
147 static void attrWithGetterExceptionAttributeGetterCallback(v8::Local<v8::String> , const v8::PropertyCallbackInfo<v8::Value>& info) 147 static void attrWithGetterExceptionAttributeGetterCallback(v8::Local<v8::String> , const v8::PropertyCallbackInfo<v8::Value>& info)
148 { 148 {
149 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter"); 149 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter");
150 TestTypedefsV8Internal::attrWithGetterExceptionAttributeGetter(info); 150 TestTypedefsV8Internal::attrWithGetterExceptionAttributeGetter(info);
(...skipping 24 matching lines...) Expand all
175 { 175 {
176 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter"); 176 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter");
177 TestTypedefsV8Internal::attrWithSetterExceptionAttributeGetter(info); 177 TestTypedefsV8Internal::attrWithSetterExceptionAttributeGetter(info);
178 TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 178 TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution");
179 } 179 }
180 180
181 static void attrWithSetterExceptionAttributeSetter(v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) 181 static void attrWithSetterExceptionAttributeSetter(v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info)
182 { 182 {
183 TestTypedefs* imp = V8TestTypedefs::toNative(info.Holder()); 183 TestTypedefs* imp = V8TestTypedefs::toNative(info.Holder());
184 V8TRYCATCH_VOID(int, cppValue, toInt32(jsValue)); 184 V8TRYCATCH_VOID(int, cppValue, toInt32(jsValue));
185 ExceptionState exceptionState(info.GetIsolate()); 185 ExceptionState exceptionState(info.Holder(), info.GetIsolate());
186 imp->setAttrWithSetterException(cppValue, exceptionState); 186 imp->setAttrWithSetterException(cppValue, exceptionState);
187 exceptionState.throwIfNeeded(); 187 exceptionState.throwIfNeeded();
188 } 188 }
189 189
190 static void attrWithSetterExceptionAttributeSetterCallback(v8::Local<v8::String> , v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) 190 static void attrWithSetterExceptionAttributeSetterCallback(v8::Local<v8::String> , v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info)
191 { 191 {
192 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter"); 192 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter");
193 TestTypedefsV8Internal::attrWithSetterExceptionAttributeSetter(jsValue, info ); 193 TestTypedefsV8Internal::attrWithSetterExceptionAttributeSetter(jsValue, info );
194 TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 194 TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution");
195 } 195 }
196 196
197 static void stringAttrWithGetterExceptionAttributeGetter(const v8::PropertyCallb ackInfo<v8::Value>& info) 197 static void stringAttrWithGetterExceptionAttributeGetter(const v8::PropertyCallb ackInfo<v8::Value>& info)
198 { 198 {
199 TestTypedefs* imp = V8TestTypedefs::toNative(info.Holder()); 199 TestTypedefs* imp = V8TestTypedefs::toNative(info.Holder());
200 ExceptionState exceptionState(info.GetIsolate()); 200 ExceptionState exceptionState(info.Holder(), info.GetIsolate());
201 String jsValue = imp->stringAttrWithGetterException(exceptionState); 201 String jsValue = imp->stringAttrWithGetterException(exceptionState);
202 if (UNLIKELY(exceptionState.throwIfNeeded())) 202 if (UNLIKELY(exceptionState.throwIfNeeded()))
203 return; 203 return;
204 v8SetReturnValueString(info, jsValue, info.GetIsolate()); 204 v8SetReturnValueString(info, jsValue, info.GetIsolate());
205 } 205 }
206 206
207 static void stringAttrWithGetterExceptionAttributeGetterCallback(v8::Local<v8::S tring>, const v8::PropertyCallbackInfo<v8::Value>& info) 207 static void stringAttrWithGetterExceptionAttributeGetterCallback(v8::Local<v8::S tring>, const v8::PropertyCallbackInfo<v8::Value>& info)
208 { 208 {
209 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter"); 209 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter");
210 TestTypedefsV8Internal::stringAttrWithGetterExceptionAttributeGetter(info); 210 TestTypedefsV8Internal::stringAttrWithGetterExceptionAttributeGetter(info);
(...skipping 24 matching lines...) Expand all
235 { 235 {
236 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter"); 236 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter");
237 TestTypedefsV8Internal::stringAttrWithSetterExceptionAttributeGetter(info); 237 TestTypedefsV8Internal::stringAttrWithSetterExceptionAttributeGetter(info);
238 TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 238 TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution");
239 } 239 }
240 240
241 static void stringAttrWithSetterExceptionAttributeSetter(v8::Local<v8::Value> js Value, const v8::PropertyCallbackInfo<void>& info) 241 static void stringAttrWithSetterExceptionAttributeSetter(v8::Local<v8::Value> js Value, const v8::PropertyCallbackInfo<void>& info)
242 { 242 {
243 TestTypedefs* imp = V8TestTypedefs::toNative(info.Holder()); 243 TestTypedefs* imp = V8TestTypedefs::toNative(info.Holder());
244 V8TRYCATCH_FOR_V8STRINGRESOURCE_VOID(V8StringResource<>, cppValue, jsValue); 244 V8TRYCATCH_FOR_V8STRINGRESOURCE_VOID(V8StringResource<>, cppValue, jsValue);
245 ExceptionState exceptionState(info.GetIsolate()); 245 ExceptionState exceptionState(info.Holder(), info.GetIsolate());
246 imp->setStringAttrWithSetterException(cppValue, exceptionState); 246 imp->setStringAttrWithSetterException(cppValue, exceptionState);
247 exceptionState.throwIfNeeded(); 247 exceptionState.throwIfNeeded();
248 } 248 }
249 249
250 static void stringAttrWithSetterExceptionAttributeSetterCallback(v8::Local<v8::S tring>, v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info ) 250 static void stringAttrWithSetterExceptionAttributeSetterCallback(v8::Local<v8::S tring>, v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info )
251 { 251 {
252 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter"); 252 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter");
253 TestTypedefsV8Internal::stringAttrWithSetterExceptionAttributeSetter(jsValue , info); 253 TestTypedefsV8Internal::stringAttrWithSetterExceptionAttributeSetter(jsValue , info);
254 TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 254 TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution");
255 } 255 }
(...skipping 145 matching lines...) Expand 10 before | Expand all | Expand 10 after
401 TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 401 TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution");
402 } 402 }
403 403
404 static void stringArrayFunctionMethod(const v8::FunctionCallbackInfo<v8::Value>& info) 404 static void stringArrayFunctionMethod(const v8::FunctionCallbackInfo<v8::Value>& info)
405 { 405 {
406 if (UNLIKELY(info.Length() < 1)) { 406 if (UNLIKELY(info.Length() < 1)) {
407 throwTypeError(ExceptionMessages::failedToExecute("stringArrayFunction", "TestTypedefs", ExceptionMessages::notEnoughArguments(1, info.Length())), info. GetIsolate()); 407 throwTypeError(ExceptionMessages::failedToExecute("stringArrayFunction", "TestTypedefs", ExceptionMessages::notEnoughArguments(1, info.Length())), info. GetIsolate());
408 return; 408 return;
409 } 409 }
410 TestTypedefs* imp = V8TestTypedefs::toNative(info.Holder()); 410 TestTypedefs* imp = V8TestTypedefs::toNative(info.Holder());
411 ExceptionState exceptionState(info.GetIsolate()); 411 ExceptionState exceptionState(info.Holder(), info.GetIsolate());
412 V8TRYCATCH_VOID(Vector<String>, values, toNativeArray<String>(info[0], 1, in fo.GetIsolate())); 412 V8TRYCATCH_VOID(Vector<String>, values, toNativeArray<String>(info[0], 1, in fo.GetIsolate()));
413 Vector<String> result = imp->stringArrayFunction(values, exceptionState); 413 Vector<String> result = imp->stringArrayFunction(values, exceptionState);
414 if (exceptionState.throwIfNeeded()) 414 if (exceptionState.throwIfNeeded())
415 return; 415 return;
416 v8SetReturnValue(info, v8Array(result, info.GetIsolate())); 416 v8SetReturnValue(info, v8Array(result, info.GetIsolate()));
417 } 417 }
418 418
419 static void stringArrayFunctionMethodCallback(const v8::FunctionCallbackInfo<v8: :Value>& info) 419 static void stringArrayFunctionMethodCallback(const v8::FunctionCallbackInfo<v8: :Value>& info)
420 { 420 {
421 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod"); 421 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod");
422 TestTypedefsV8Internal::stringArrayFunctionMethod(info); 422 TestTypedefsV8Internal::stringArrayFunctionMethod(info);
423 TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 423 TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution");
424 } 424 }
425 425
426 static void stringArrayFunction2Method(const v8::FunctionCallbackInfo<v8::Value> & info) 426 static void stringArrayFunction2Method(const v8::FunctionCallbackInfo<v8::Value> & info)
427 { 427 {
428 if (UNLIKELY(info.Length() < 1)) { 428 if (UNLIKELY(info.Length() < 1)) {
429 throwTypeError(ExceptionMessages::failedToExecute("stringArrayFunction2" , "TestTypedefs", ExceptionMessages::notEnoughArguments(1, info.Length())), info .GetIsolate()); 429 throwTypeError(ExceptionMessages::failedToExecute("stringArrayFunction2" , "TestTypedefs", ExceptionMessages::notEnoughArguments(1, info.Length())), info .GetIsolate());
430 return; 430 return;
431 } 431 }
432 TestTypedefs* imp = V8TestTypedefs::toNative(info.Holder()); 432 TestTypedefs* imp = V8TestTypedefs::toNative(info.Holder());
433 ExceptionState exceptionState(info.GetIsolate()); 433 ExceptionState exceptionState(info.Holder(), info.GetIsolate());
434 V8TRYCATCH_VOID(Vector<String>, values, toNativeArray<String>(info[0], 1, in fo.GetIsolate())); 434 V8TRYCATCH_VOID(Vector<String>, values, toNativeArray<String>(info[0], 1, in fo.GetIsolate()));
435 Vector<String> result = imp->stringArrayFunction2(values, exceptionState); 435 Vector<String> result = imp->stringArrayFunction2(values, exceptionState);
436 if (exceptionState.throwIfNeeded()) 436 if (exceptionState.throwIfNeeded())
437 return; 437 return;
438 v8SetReturnValue(info, v8Array(result, info.GetIsolate())); 438 v8SetReturnValue(info, v8Array(result, info.GetIsolate()));
439 } 439 }
440 440
441 static void stringArrayFunction2MethodCallback(const v8::FunctionCallbackInfo<v8 ::Value>& info) 441 static void stringArrayFunction2MethodCallback(const v8::FunctionCallbackInfo<v8 ::Value>& info)
442 { 442 {
443 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod"); 443 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod");
444 TestTypedefsV8Internal::stringArrayFunction2Method(info); 444 TestTypedefsV8Internal::stringArrayFunction2Method(info);
445 TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 445 TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution");
446 } 446 }
447 447
448 static void methodWithExceptionMethod(const v8::FunctionCallbackInfo<v8::Value>& info) 448 static void methodWithExceptionMethod(const v8::FunctionCallbackInfo<v8::Value>& info)
449 { 449 {
450 TestTypedefs* imp = V8TestTypedefs::toNative(info.Holder()); 450 TestTypedefs* imp = V8TestTypedefs::toNative(info.Holder());
451 ExceptionState exceptionState(info.GetIsolate()); 451 ExceptionState exceptionState(info.Holder(), info.GetIsolate());
452 imp->methodWithException(exceptionState); 452 imp->methodWithException(exceptionState);
453 if (exceptionState.throwIfNeeded()) 453 if (exceptionState.throwIfNeeded())
454 return; 454 return;
455 } 455 }
456 456
457 static void methodWithExceptionMethodCallback(const v8::FunctionCallbackInfo<v8: :Value>& info) 457 static void methodWithExceptionMethodCallback(const v8::FunctionCallbackInfo<v8: :Value>& info)
458 { 458 {
459 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod"); 459 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod");
460 TestTypedefsV8Internal::methodWithExceptionMethod(info); 460 TestTypedefsV8Internal::methodWithExceptionMethod(info);
461 TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 461 TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution");
(...skipping 127 matching lines...) Expand 10 before | Expand all | Expand 10 after
589 V8DOMWrapper::associateObjectWithWrapper<V8TestTypedefs>(impl, &wrapperTypeI nfo, wrapper, isolate, WrapperConfiguration::Independent); 589 V8DOMWrapper::associateObjectWithWrapper<V8TestTypedefs>(impl, &wrapperTypeI nfo, wrapper, isolate, WrapperConfiguration::Independent);
590 return wrapper; 590 return wrapper;
591 } 591 }
592 592
593 void V8TestTypedefs::derefObject(void* object) 593 void V8TestTypedefs::derefObject(void* object)
594 { 594 {
595 fromInternalPointer(object)->deref(); 595 fromInternalPointer(object)->deref();
596 } 596 }
597 597
598 } // namespace WebCore 598 } // namespace WebCore
OLDNEW
« no previous file with comments | « Source/bindings/tests/results/V8TestObjectPython.cpp ('k') | Source/bindings/v8/CustomElementConstructorBuilder.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698