Index: Source/bindings/v8/V8BindingMacros.h |
diff --git a/Source/bindings/v8/V8BindingMacros.h b/Source/bindings/v8/V8BindingMacros.h |
index e5841c9beda84810daf9ed7ea80f01cb7aca48cd..269c5fa2f4f00421d340f8e58cc85357ddb283a2 100644 |
--- a/Source/bindings/v8/V8BindingMacros.h |
+++ b/Source/bindings/v8/V8BindingMacros.h |
@@ -46,15 +46,18 @@ namespace WebCore { |
return block.ReThrow(); \ |
} |
+#define TONATIVE_VOID_NO_DECL(var, value) \ |
haraken
2014/05/08 03:45:06
Nit: _NO_DECL => _INTERNAL ?
It's dangerous to al
Jens Widell
2014/05/08 16:38:05
Renamed.
|
+ var = (value); \ |
+ if (UNLIKELY(block.HasCaught())) { \ |
+ block.ReThrow(); \ |
+ return; \ |
+ } |
+ |
#define TONATIVE_VOID(type, var, value) \ |
type var; \ |
{ \ |
v8::TryCatch block; \ |
- var = (value); \ |
- if (UNLIKELY(block.HasCaught())) { \ |
- block.ReThrow(); \ |
- return; \ |
- } \ |
+ TONATIVE_VOID_NO_DECL(var, value); \ |
} |
#define TONATIVE_DEFAULT(type, var, value, retVal) \ |
@@ -68,15 +71,18 @@ namespace WebCore { |
} \ |
} |
-#define TONATIVE_VOID_EXCEPTIONSTATE(type, var, value, exceptionState) \ |
- type var; \ |
- { \ |
- v8::TryCatch block; \ |
- var = (value); \ |
- if (UNLIKELY(block.HasCaught())) \ |
- exceptionState.rethrowV8Exception(block.Exception()); \ |
- if (UNLIKELY(exceptionState.throwIfNeeded())) \ |
- return; \ |
+#define TONATIVE_VOID_EXCEPTIONSTATE_NO_DECL(var, value, exceptionState) \ |
+ var = (value); \ |
+ if (UNLIKELY(block.HasCaught())) \ |
+ exceptionState.rethrowV8Exception(block.Exception()); \ |
+ if (UNLIKELY(exceptionState.throwIfNeeded())) \ |
+ return; |
+ |
+#define TONATIVE_VOID_EXCEPTIONSTATE(type, var, value, exceptionState) \ |
+ type var; \ |
+ { \ |
+ v8::TryCatch block; \ |
+ TONATIVE_VOID_EXCEPTIONSTATE_NO_DECL(var, value, exceptionState); \ |
} |
#define TONATIVE_DEFAULT_EXCEPTIONSTATE(type, var, value, exceptionState, retVal) \ |
@@ -98,6 +104,11 @@ namespace WebCore { |
if (UNLIKELY(!var.prepare())) \ |
haraken
2014/05/08 03:45:06
Can we use TOSTRING_VOID_NO_DECL here?
Jens Widell
2014/05/08 06:22:06
Make this
type var;
TOSTRING_VOID_NO_DECL(var
|
return; |
+#define TOSTRING_VOID_NO_DECL(var, value) \ |
+ var = value; \ |
+ if (UNLIKELY(!var.prepare())) \ |
+ return; |
+ |
#define TOSTRING_DEFAULT(type, var, value, retVal) \ |
type var(value); \ |
if (UNLIKELY(!var.prepare())) \ |