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

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

Issue 337343002: IDL: make optional arguments (without default) explicit sometimes Base URL: https://chromium.googlesource.com/chromium/blink.git@idl-default-arguments-next
Patch Set: Created 6 years, 6 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/V8TestObject.cpp
diff --git a/Source/bindings/tests/results/V8TestObject.cpp b/Source/bindings/tests/results/V8TestObject.cpp
index 17dabd3a11bf32c1d00d40909f2fc1b5d4760366..4c5d0ff505783d0b0ac604d3d1dcc0f35c5bb5c2 100644
--- a/Source/bindings/tests/results/V8TestObject.cpp
+++ b/Source/bindings/tests/results/V8TestObject.cpp
@@ -6869,6 +6869,36 @@ static void voidMethodDefaultNullableTestInterfaceArgMethodCallback(const v8::Fu
TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
}
+static void voidMethodOptionalArgWithoutDefaultMethod(const v8::FunctionCallbackInfo<v8::Value>& info)
+{
+ TestObject* impl = V8TestObject::toNative(info.Holder());
+ V8StringResource<> optionalStringArg;
+ bool optionalStringArgMissing = false;
+ bool defaultBooleanArg;
+ {
+ v8::TryCatch block;
+ V8RethrowTryCatchScope rethrow(block);
+ if (info.Length() > 0) {
+ TOSTRING_VOID_INTERNAL(optionalStringArg, info[0]);
+ } else {
+ optionalStringArgMissing = true;
+ }
+ if (info.Length() > 1) {
+ TONATIVE_VOID_INTERNAL(defaultBooleanArg, info[1]->BooleanValue());
+ } else {
+ defaultBooleanArg = false;
+ }
+ }
+ impl->voidMethodOptionalArgWithoutDefault(makeOptional(optionalStringArg, optionalStringArgMissing), defaultBooleanArg);
+}
+
+static void voidMethodOptionalArgWithoutDefaultMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info)
+{
+ TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod");
+ TestObjectV8Internal::voidMethodOptionalArgWithoutDefaultMethod(info);
+ TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
+}
+
static void voidMethodVariadicStringArgMethod(const v8::FunctionCallbackInfo<v8::Value>& info)
{
TestObject* impl = V8TestObject::toNative(info.Holder());
@@ -9643,6 +9673,7 @@ static const V8DOMConfiguration::MethodConfiguration V8TestObjectMethods[] = {
{"voidMethodDefaultNullableByteStringArg", TestObjectV8Internal::voidMethodDefaultNullableByteStringArgMethodCallback, 0, 0},
{"voidMethodDefaultNullableStringArg", TestObjectV8Internal::voidMethodDefaultNullableStringArgMethodCallback, 0, 0},
{"voidMethodDefaultNullableTestInterfaceArg", TestObjectV8Internal::voidMethodDefaultNullableTestInterfaceArgMethodCallback, 0, 0},
+ {"voidMethodOptionalArgWithoutDefault", TestObjectV8Internal::voidMethodOptionalArgWithoutDefaultMethodCallback, 0, 0},
{"voidMethodVariadicStringArg", TestObjectV8Internal::voidMethodVariadicStringArgMethodCallback, 0, 0},
{"voidMethodStringArgVariadicStringArg", TestObjectV8Internal::voidMethodStringArgVariadicStringArgMethodCallback, 0, 1},
{"voidMethodVariadicTestInterfaceEmptyArg", TestObjectV8Internal::voidMethodVariadicTestInterfaceEmptyArgMethodCallback, 0, 0},

Powered by Google App Engine
This is Rietveld 408576698