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

Unified Diff: Source/bindings/tests/results/V8TestInterfaceConstructor2.cpp

Issue 265293004: Create fewer local v8::TryCatch objects in generated bindings code (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: avoid some unused v8::TryCatch objects Created 6 years, 7 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 side-by-side diff with in-line comments
Download patch
Index: Source/bindings/tests/results/V8TestInterfaceConstructor2.cpp
diff --git a/Source/bindings/tests/results/V8TestInterfaceConstructor2.cpp b/Source/bindings/tests/results/V8TestInterfaceConstructor2.cpp
index 529c5c706fc88f45fe590bccd65f8ed8d788a567..5ea97a14bfe46d81fc42e0fd9e7d45038f295d09 100644
--- a/Source/bindings/tests/results/V8TestInterfaceConstructor2.cpp
+++ b/Source/bindings/tests/results/V8TestInterfaceConstructor2.cpp
@@ -48,7 +48,10 @@ template <typename T> void V8_USE(T) { }
static void constructor1(const v8::FunctionCallbackInfo<v8::Value>& info)
{
v8::Isolate* isolate = info.GetIsolate();
- TOSTRING_VOID(V8StringResource<>, stringArg, info[0]);
+ V8StringResource<> stringArg;
+ {
+ TOSTRING_VOID_NO_DECL(stringArg, info[0]);
+ }
RefPtr<TestInterfaceConstructor2> impl = TestInterfaceConstructor2::create(stringArg);
v8::Handle<v8::Object> wrapper = info.Holder();
@@ -60,24 +63,33 @@ static void constructor2(const v8::FunctionCallbackInfo<v8::Value>& info)
{
v8::Isolate* isolate = info.GetIsolate();
ExceptionState exceptionState(ExceptionState::ConstructionContext, "TestInterfaceConstructor2", info.Holder(), isolate);
- TONATIVE_VOID(TestInterfaceEmpty*, testInterfaceEmptyArg, V8TestInterfaceEmpty::toNativeWithTypeCheck(info.GetIsolate(), info[0]));
- TONATIVE_VOID_EXCEPTIONSTATE(int, longArg, toInt32(info[1], exceptionState), exceptionState);
- TOSTRING_VOID(V8StringResource<>, defaultUndefinedOptionalStringArg, info[2]);
- TOSTRING_VOID(V8StringResource<>, defaultNullStringOptionalStringArg, argumentOrNull(info, 3));
- TONATIVE_VOID(Dictionary, defaultUndefinedOptionalDictionaryArg, Dictionary(info[4], info.GetIsolate()));
- if (!defaultUndefinedOptionalDictionaryArg.isUndefinedOrNull() && !defaultUndefinedOptionalDictionaryArg.isObject()) {
- exceptionState.throwTypeError("parameter 5 ('defaultUndefinedOptionalDictionaryArg') is not an object.");
- exceptionState.throwIfNeeded();
- return;
- }
- if (UNLIKELY(info.Length() <= 5)) {
- RefPtr<TestInterfaceConstructor2> impl = TestInterfaceConstructor2::create(testInterfaceEmptyArg, longArg, defaultUndefinedOptionalStringArg, defaultNullStringOptionalStringArg, defaultUndefinedOptionalDictionaryArg);
- v8::Handle<v8::Object> wrapper = info.Holder();
- V8DOMWrapper::associateObjectWithWrapper<V8TestInterfaceConstructor2>(impl.release(), &V8TestInterfaceConstructor2::wrapperTypeInfo, wrapper, isolate, WrapperConfiguration::Independent);
- v8SetReturnValue(info, wrapper);
- return;
+ TestInterfaceEmpty* testInterfaceEmptyArg;
+ int longArg;
+ V8StringResource<> defaultUndefinedOptionalStringArg;
+ V8StringResource<> defaultNullStringOptionalStringArg;
+ Dictionary defaultUndefinedOptionalDictionaryArg;
+ V8StringResource<> optionalStringArg;
+ {
+ v8::TryCatch block;
+ TONATIVE_VOID_NO_DECL(testInterfaceEmptyArg, V8TestInterfaceEmpty::toNativeWithTypeCheck(info.GetIsolate(), info[0]));
+ TONATIVE_VOID_EXCEPTIONSTATE_NO_DECL(longArg, toInt32(info[1], exceptionState), exceptionState);
+ TOSTRING_VOID_NO_DECL(defaultUndefinedOptionalStringArg, info[2]);
+ TOSTRING_VOID_NO_DECL(defaultNullStringOptionalStringArg, argumentOrNull(info, 3));
+ TONATIVE_VOID_NO_DECL(defaultUndefinedOptionalDictionaryArg, Dictionary(info[4], info.GetIsolate()));
+ if (!defaultUndefinedOptionalDictionaryArg.isUndefinedOrNull() && !defaultUndefinedOptionalDictionaryArg.isObject()) {
+ exceptionState.throwTypeError("parameter 5 ('defaultUndefinedOptionalDictionaryArg') is not an object.");
+ exceptionState.throwIfNeeded();
+ return;
+ }
+ if (UNLIKELY(info.Length() <= 5)) {
+ RefPtr<TestInterfaceConstructor2> impl = TestInterfaceConstructor2::create(testInterfaceEmptyArg, longArg, defaultUndefinedOptionalStringArg, defaultNullStringOptionalStringArg, defaultUndefinedOptionalDictionaryArg);
+ v8::Handle<v8::Object> wrapper = info.Holder();
+ V8DOMWrapper::associateObjectWithWrapper<V8TestInterfaceConstructor2>(impl.release(), &V8TestInterfaceConstructor2::wrapperTypeInfo, wrapper, isolate, WrapperConfiguration::Independent);
+ v8SetReturnValue(info, wrapper);
+ return;
+ }
+ TOSTRING_VOID_NO_DECL(optionalStringArg, info[5]);
}
- TOSTRING_VOID(V8StringResource<>, optionalStringArg, info[5]);
RefPtr<TestInterfaceConstructor2> impl = TestInterfaceConstructor2::create(testInterfaceEmptyArg, longArg, defaultUndefinedOptionalStringArg, defaultNullStringOptionalStringArg, defaultUndefinedOptionalDictionaryArg, optionalStringArg);
v8::Handle<v8::Object> wrapper = info.Holder();

Powered by Google App Engine
This is Rietveld 408576698