Index: Source/bindings/v8/V8BindingMacros.h |
diff --git a/Source/bindings/v8/V8BindingMacros.h b/Source/bindings/v8/V8BindingMacros.h |
index e5841c9beda84810daf9ed7ea80f01cb7aca48cd..8163666cee2bfee12653c72f4d49ba6db0244477 100644 |
--- a/Source/bindings/v8/V8BindingMacros.h |
+++ b/Source/bindings/v8/V8BindingMacros.h |
@@ -93,14 +93,16 @@ namespace WebCore { |
// type is an instance of class template V8StringResource<>, |
// but Mode argument varies; using type (not Mode) for consistency |
// with other macros and ease of code generation |
-#define TOSTRING_VOID(type, var, value) \ |
- type var(value); \ |
- if (UNLIKELY(!var.prepare())) \ |
+// Because V8StringResourceToString<Rethrow>::call does not use the instance |
+// object, we can pass null pointer to |var.init|. |
+#define TOSTRING_VOID(type, var, value) \ |
+ type var(value); \ |
+ if (UNLIKELY(!var.init<V8StringResourceRethrowException>(0))) \ |
return; |
-#define TOSTRING_DEFAULT(type, var, value, retVal) \ |
- type var(value); \ |
- if (UNLIKELY(!var.prepare())) \ |
+#define TOSTRING_DEFAULT(type, var, value, retVal) \ |
+ type var(value); \ |
+ if (UNLIKELY(!var.init<V8StringResourceRethrowException>(0))) \ |
return retVal; |
} // namespace WebCore |