Commit 64a0734a authored by jsbell@chromium.org's avatar jsbell@chromium.org

Add [TreatReturnedNullStringAs] support for ScalarValueString

Copy/Paste&Find/Replace of r176370 - same thing for ByteString.

Not strictly needed by any existing IDLs, but trivial code change,
and no code size difference until used.

R=horo@chromium.org,haraken@chromium.org
BUG=379009

Review URL: https://codereview.chromium.org/344693002

git-svn-id: svn://svn.chromium.org/blink/trunk@176477 bbb929c8-8fbe-4397-9dbb-9b2b20218538
parent 8885f9fa
...@@ -1078,12 +1078,28 @@ converter.testScalarValueString = "𝄞" ...@@ -1078,12 +1078,28 @@ converter.testScalarValueString = "𝄞"
PASS converter.testScalarValueString is "𝄞" PASS converter.testScalarValueString is "𝄞"
converter.testScalarValueString = true converter.testScalarValueString = true
PASS converter.testScalarValueString is "true" PASS converter.testScalarValueString is "true"
PASS converter.testScalarValueStringTreatReturnedNullStringAsNullAttribute is "true"
PASS converter.testScalarValueStringTreatReturnedNullStringAsUndefinedAttribute is "true"
PASS converter.getTestScalarValueStringTreatReturnedNullStringAsNullMethod() is "true"
PASS converter.getTestScalarValueStringTreatReturnedNullStringAsUndefinedMethod() is "true"
converter.testScalarValueString = 123 converter.testScalarValueString = 123
PASS converter.testScalarValueString is "123" PASS converter.testScalarValueString is "123"
PASS converter.testScalarValueStringTreatReturnedNullStringAsNullAttribute is "123"
PASS converter.testScalarValueStringTreatReturnedNullStringAsUndefinedAttribute is "123"
PASS converter.getTestScalarValueStringTreatReturnedNullStringAsNullMethod() is "123"
PASS converter.getTestScalarValueStringTreatReturnedNullStringAsUndefinedMethod() is "123"
converter.testScalarValueString = null converter.testScalarValueString = null
PASS converter.testScalarValueString is "null" PASS converter.testScalarValueString is "null"
PASS converter.testScalarValueStringTreatReturnedNullStringAsNullAttribute is "null"
PASS converter.testScalarValueStringTreatReturnedNullStringAsUndefinedAttribute is "null"
PASS converter.getTestScalarValueStringTreatReturnedNullStringAsNullMethod() is "null"
PASS converter.getTestScalarValueStringTreatReturnedNullStringAsUndefinedMethod() is "null"
converter.testScalarValueString = undefined converter.testScalarValueString = undefined
PASS converter.testScalarValueString is "undefined" PASS converter.testScalarValueString is "undefined"
PASS converter.testScalarValueStringTreatReturnedNullStringAsNullAttribute is "undefined"
PASS converter.testScalarValueStringTreatReturnedNullStringAsUndefinedAttribute is "undefined"
PASS converter.getTestScalarValueStringTreatReturnedNullStringAsNullMethod() is "undefined"
PASS converter.getTestScalarValueStringTreatReturnedNullStringAsUndefinedMethod() is "undefined"
PASS converter.setTestScalarValueString('abc') did not throw exception. PASS converter.setTestScalarValueString('abc') did not throw exception.
PASS converter.setTestScalarValueStringDefaultNull('abc') did not throw exception. PASS converter.setTestScalarValueStringDefaultNull('abc') did not throw exception.
PASS converter.setTestScalarValueString('\u0100') did not throw exception. PASS converter.setTestScalarValueString('\u0100') did not throw exception.
...@@ -1091,6 +1107,10 @@ PASS converter.setTestScalarValueStringDefaultNull('\u0100') did not throw excep ...@@ -1091,6 +1107,10 @@ PASS converter.setTestScalarValueStringDefaultNull('\u0100') did not throw excep
PASS converter.setTestScalarValueString() threw exception TypeError: Failed to execute 'setTestScalarValueString' on 'TypeConversions': 1 argument required, but only 0 present.. PASS converter.setTestScalarValueString() threw exception TypeError: Failed to execute 'setTestScalarValueString' on 'TypeConversions': 1 argument required, but only 0 present..
PASS converter.setTestScalarValueStringDefaultNull() did not throw exception. PASS converter.setTestScalarValueStringDefaultNull() did not throw exception.
PASS converter.testScalarValueString is "" PASS converter.testScalarValueString is ""
PASS converter.testScalarValueStringTreatReturnedNullStringAsNullAttribute is null
PASS converter.testScalarValueStringTreatReturnedNullStringAsUndefinedAttribute is undefined.
PASS converter.getTestScalarValueStringTreatReturnedNullStringAsNullMethod() is null
PASS converter.getTestScalarValueStringTreatReturnedNullStringAsUndefinedMethod() is undefined.
PASS successfullyParsed is true PASS successfullyParsed is true
TEST COMPLETE TEST COMPLETE
......
...@@ -625,6 +625,10 @@ shouldBeEqualToString("converter.testScalarValueString", "\u0100"); ...@@ -625,6 +625,10 @@ shouldBeEqualToString("converter.testScalarValueString", "\u0100");
["true", "123", "null", "undefined"].forEach(function(value) { ["true", "123", "null", "undefined"].forEach(function(value) {
evalAndLog("converter.testScalarValueString = " + value); evalAndLog("converter.testScalarValueString = " + value);
shouldBeEqualToString("converter.testScalarValueString", value); shouldBeEqualToString("converter.testScalarValueString", value);
shouldBeEqualToString("converter.testScalarValueStringTreatReturnedNullStringAsNullAttribute", value);
shouldBeEqualToString("converter.testScalarValueStringTreatReturnedNullStringAsUndefinedAttribute", value);
shouldBeEqualToString("converter.getTestScalarValueStringTreatReturnedNullStringAsNullMethod()", value);
shouldBeEqualToString("converter.getTestScalarValueStringTreatReturnedNullStringAsUndefinedMethod()", value);
}); });
shouldNotThrow("converter.setTestScalarValueString('abc')"); shouldNotThrow("converter.setTestScalarValueString('abc')");
shouldNotThrow("converter.setTestScalarValueStringDefaultNull('abc')"); shouldNotThrow("converter.setTestScalarValueStringDefaultNull('abc')");
...@@ -633,5 +637,9 @@ shouldNotThrow("converter.setTestScalarValueStringDefaultNull('\\u0100')"); ...@@ -633,5 +637,9 @@ shouldNotThrow("converter.setTestScalarValueStringDefaultNull('\\u0100')");
shouldThrow("converter.setTestScalarValueString()"); shouldThrow("converter.setTestScalarValueString()");
shouldNotThrow("converter.setTestScalarValueStringDefaultNull()"); shouldNotThrow("converter.setTestScalarValueStringDefaultNull()");
shouldBeEqualToString("converter.testScalarValueString", ""); shouldBeEqualToString("converter.testScalarValueString", "");
shouldBeNull("converter.testScalarValueStringTreatReturnedNullStringAsNullAttribute");
shouldBeUndefined("converter.testScalarValueStringTreatReturnedNullStringAsUndefinedAttribute");
shouldBeNull("converter.getTestScalarValueStringTreatReturnedNullStringAsNullMethod()");
shouldBeUndefined("converter.getTestScalarValueStringTreatReturnedNullStringAsUndefinedMethod()");
</script> </script>
...@@ -550,7 +550,7 @@ def v8_conversion_type(idl_type, extended_attributes): ...@@ -550,7 +550,7 @@ def v8_conversion_type(idl_type, extended_attributes):
return 'int' return 'int'
if base_idl_type in CPP_UNSIGNED_TYPES: if base_idl_type in CPP_UNSIGNED_TYPES:
return 'unsigned' return 'unsigned'
if base_idl_type in ('DOMString', 'ByteString'): if base_idl_type in ('DOMString', 'ByteString', 'ScalarValueString'):
if 'TreatReturnedNullStringAs' not in extended_attributes: if 'TreatReturnedNullStringAs' not in extended_attributes:
return base_idl_type return base_idl_type
treat_returned_null_string_as = extended_attributes['TreatReturnedNullStringAs'] treat_returned_null_string_as = extended_attributes['TreatReturnedNullStringAs']
......
...@@ -241,6 +241,8 @@ interface TestObject { ...@@ -241,6 +241,8 @@ interface TestObject {
[TreatReturnedNullStringAs=Undefined] attribute DOMString treatReturnedNullStringAsUndefinedStringAttribute; [TreatReturnedNullStringAs=Undefined] attribute DOMString treatReturnedNullStringAsUndefinedStringAttribute;
[TreatReturnedNullStringAs=Null] attribute ByteString treatReturnedNullStringAsNullByteStringAttribute; [TreatReturnedNullStringAs=Null] attribute ByteString treatReturnedNullStringAsNullByteStringAttribute;
[TreatReturnedNullStringAs=Undefined] attribute ByteString treatReturnedNullStringAsUndefinedByteStringAttribute; [TreatReturnedNullStringAs=Undefined] attribute ByteString treatReturnedNullStringAsUndefinedByteStringAttribute;
[TreatReturnedNullStringAs=Null] attribute ScalarValueString treatReturnedNullStringAsNullScalarValueStringAttribute;
[TreatReturnedNullStringAs=Undefined] attribute ScalarValueString treatReturnedNullStringAsUndefinedScalarValueStringAttribute;
[TypeChecking=Interface|Nullable] attribute float typeCheckingInterfaceNullableStringFloatAttribute; // nop for non-interface types [TypeChecking=Interface|Nullable] attribute float typeCheckingInterfaceNullableStringFloatAttribute; // nop for non-interface types
[TypeChecking=Interface] attribute TestInterface typeCheckingInterfaceTestInterfaceAttribute; [TypeChecking=Interface] attribute TestInterface typeCheckingInterfaceTestInterfaceAttribute;
[TypeChecking=Nullable] attribute TestInterface? typeCheckingNullableTestInterfaceOrNullAttribute; [TypeChecking=Nullable] attribute TestInterface? typeCheckingNullableTestInterfaceOrNullAttribute;
...@@ -504,6 +506,8 @@ interface TestObject { ...@@ -504,6 +506,8 @@ interface TestObject {
[TreatReturnedNullStringAs=Undefined] DOMString treatReturnedNullStringAsUndefinedStringMethod(); [TreatReturnedNullStringAs=Undefined] DOMString treatReturnedNullStringAsUndefinedStringMethod();
[TreatReturnedNullStringAs=Null] ByteString treatReturnedNullStringAsNullByteStringMethod(); [TreatReturnedNullStringAs=Null] ByteString treatReturnedNullStringAsNullByteStringMethod();
[TreatReturnedNullStringAs=Undefined] ByteString treatReturnedNullStringAsUndefinedByteStringMethod(); [TreatReturnedNullStringAs=Undefined] ByteString treatReturnedNullStringAsUndefinedByteStringMethod();
[TreatReturnedNullStringAs=Null] ScalarValueString treatReturnedNullStringAsNullScalarValueStringMethod();
[TreatReturnedNullStringAs=Undefined] ScalarValueString treatReturnedNullStringAsUndefinedScalarValueStringMethod();
[TypeChecking=Interface] void typeCheckingInterfaceVoidMethodTestInterfaceEmptyArg(TestInterfaceEmpty testInterfaceEmptyArg); [TypeChecking=Interface] void typeCheckingInterfaceVoidMethodTestInterfaceEmptyArg(TestInterfaceEmpty testInterfaceEmptyArg);
[TypeChecking=Nullable] void typeCheckingNullableVoidMethodTestInterfaceEmptyOrNullArg(TestInterfaceEmpty? testInterfaceEmptyOrNullArg); [TypeChecking=Nullable] void typeCheckingNullableVoidMethodTestInterfaceEmptyOrNullArg(TestInterfaceEmpty? testInterfaceEmptyOrNullArg);
[TypeChecking=Interface|Nullable] void typeCheckingInterfaceNullableVoidMethodTestInterfaceEmptyOrNullArg(TestInterfaceEmpty? testInterfaceEmptyOrNullArg); [TypeChecking=Interface|Nullable] void typeCheckingInterfaceNullableVoidMethodTestInterfaceEmptyOrNullArg(TestInterfaceEmpty? testInterfaceEmptyOrNullArg);
......
...@@ -4220,6 +4220,66 @@ static void treatReturnedNullStringAsUndefinedByteStringAttributeAttributeSetter ...@@ -4220,6 +4220,66 @@ static void treatReturnedNullStringAsUndefinedByteStringAttributeAttributeSetter
TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution"); TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
} }
static void treatReturnedNullStringAsNullScalarValueStringAttributeAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info)
{
v8::Handle<v8::Object> holder = info.Holder();
TestObject* impl = V8TestObject::toNative(holder);
v8SetReturnValueStringOrNull(info, impl->treatReturnedNullStringAsNullScalarValueStringAttribute(), info.GetIsolate());
}
static void treatReturnedNullStringAsNullScalarValueStringAttributeAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info)
{
TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter");
TestObjectV8Internal::treatReturnedNullStringAsNullScalarValueStringAttributeAttributeGetter(info);
TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
}
static void treatReturnedNullStringAsNullScalarValueStringAttributeAttributeSetter(v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
{
v8::Handle<v8::Object> holder = info.Holder();
ExceptionState exceptionState(ExceptionState::SetterContext, "treatReturnedNullStringAsNullScalarValueStringAttribute", "TestObject", holder, info.GetIsolate());
TestObject* impl = V8TestObject::toNative(holder);
TONATIVE_VOID_EXCEPTIONSTATE(V8StringResource<>, cppValue, toScalarValueString(v8Value, exceptionState), exceptionState);
impl->setTreatReturnedNullStringAsNullScalarValueStringAttribute(cppValue);
}
static void treatReturnedNullStringAsNullScalarValueStringAttributeAttributeSetterCallback(v8::Local<v8::String>, v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
{
TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter");
TestObjectV8Internal::treatReturnedNullStringAsNullScalarValueStringAttributeAttributeSetter(v8Value, info);
TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
}
static void treatReturnedNullStringAsUndefinedScalarValueStringAttributeAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info)
{
v8::Handle<v8::Object> holder = info.Holder();
TestObject* impl = V8TestObject::toNative(holder);
v8SetReturnValueStringOrUndefined(info, impl->treatReturnedNullStringAsUndefinedScalarValueStringAttribute(), info.GetIsolate());
}
static void treatReturnedNullStringAsUndefinedScalarValueStringAttributeAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info)
{
TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter");
TestObjectV8Internal::treatReturnedNullStringAsUndefinedScalarValueStringAttributeAttributeGetter(info);
TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
}
static void treatReturnedNullStringAsUndefinedScalarValueStringAttributeAttributeSetter(v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
{
v8::Handle<v8::Object> holder = info.Holder();
ExceptionState exceptionState(ExceptionState::SetterContext, "treatReturnedNullStringAsUndefinedScalarValueStringAttribute", "TestObject", holder, info.GetIsolate());
TestObject* impl = V8TestObject::toNative(holder);
TONATIVE_VOID_EXCEPTIONSTATE(V8StringResource<>, cppValue, toScalarValueString(v8Value, exceptionState), exceptionState);
impl->setTreatReturnedNullStringAsUndefinedScalarValueStringAttribute(cppValue);
}
static void treatReturnedNullStringAsUndefinedScalarValueStringAttributeAttributeSetterCallback(v8::Local<v8::String>, v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
{
TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter");
TestObjectV8Internal::treatReturnedNullStringAsUndefinedScalarValueStringAttributeAttributeSetter(v8Value, info);
TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
}
static void typeCheckingInterfaceNullableStringFloatAttributeAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info) static void typeCheckingInterfaceNullableStringFloatAttributeAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info)
{ {
v8::Handle<v8::Object> holder = info.Holder(); v8::Handle<v8::Object> holder = info.Holder();
...@@ -9274,6 +9334,32 @@ static void treatReturnedNullStringAsUndefinedByteStringMethodMethodCallback(con ...@@ -9274,6 +9334,32 @@ static void treatReturnedNullStringAsUndefinedByteStringMethodMethodCallback(con
TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution"); TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
} }
static void treatReturnedNullStringAsNullScalarValueStringMethodMethod(const v8::FunctionCallbackInfo<v8::Value>& info)
{
TestObject* impl = V8TestObject::toNative(info.Holder());
v8SetReturnValueStringOrNull(info, impl->treatReturnedNullStringAsNullScalarValueStringMethod(), info.GetIsolate());
}
static void treatReturnedNullStringAsNullScalarValueStringMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info)
{
TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod");
TestObjectV8Internal::treatReturnedNullStringAsNullScalarValueStringMethodMethod(info);
TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
}
static void treatReturnedNullStringAsUndefinedScalarValueStringMethodMethod(const v8::FunctionCallbackInfo<v8::Value>& info)
{
TestObject* impl = V8TestObject::toNative(info.Holder());
v8SetReturnValueStringOrUndefined(info, impl->treatReturnedNullStringAsUndefinedScalarValueStringMethod(), info.GetIsolate());
}
static void treatReturnedNullStringAsUndefinedScalarValueStringMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info)
{
TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod");
TestObjectV8Internal::treatReturnedNullStringAsUndefinedScalarValueStringMethodMethod(info);
TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
}
static void typeCheckingInterfaceVoidMethodTestInterfaceEmptyArgMethod(const v8::FunctionCallbackInfo<v8::Value>& info) static void typeCheckingInterfaceVoidMethodTestInterfaceEmptyArgMethod(const v8::FunctionCallbackInfo<v8::Value>& info)
{ {
if (UNLIKELY(info.Length() < 1)) { if (UNLIKELY(info.Length() < 1)) {
...@@ -9630,6 +9716,8 @@ static const V8DOMConfiguration::AttributeConfiguration V8TestObjectAttributes[] ...@@ -9630,6 +9716,8 @@ static const V8DOMConfiguration::AttributeConfiguration V8TestObjectAttributes[]
{"treatReturnedNullStringAsUndefinedStringAttribute", TestObjectV8Internal::treatReturnedNullStringAsUndefinedStringAttributeAttributeGetterCallback, TestObjectV8Internal::treatReturnedNullStringAsUndefinedStringAttributeAttributeSetterCallback, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */}, {"treatReturnedNullStringAsUndefinedStringAttribute", TestObjectV8Internal::treatReturnedNullStringAsUndefinedStringAttributeAttributeGetterCallback, TestObjectV8Internal::treatReturnedNullStringAsUndefinedStringAttributeAttributeSetterCallback, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */},
{"treatReturnedNullStringAsNullByteStringAttribute", TestObjectV8Internal::treatReturnedNullStringAsNullByteStringAttributeAttributeGetterCallback, TestObjectV8Internal::treatReturnedNullStringAsNullByteStringAttributeAttributeSetterCallback, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */}, {"treatReturnedNullStringAsNullByteStringAttribute", TestObjectV8Internal::treatReturnedNullStringAsNullByteStringAttributeAttributeGetterCallback, TestObjectV8Internal::treatReturnedNullStringAsNullByteStringAttributeAttributeSetterCallback, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */},
{"treatReturnedNullStringAsUndefinedByteStringAttribute", TestObjectV8Internal::treatReturnedNullStringAsUndefinedByteStringAttributeAttributeGetterCallback, TestObjectV8Internal::treatReturnedNullStringAsUndefinedByteStringAttributeAttributeSetterCallback, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */}, {"treatReturnedNullStringAsUndefinedByteStringAttribute", TestObjectV8Internal::treatReturnedNullStringAsUndefinedByteStringAttributeAttributeGetterCallback, TestObjectV8Internal::treatReturnedNullStringAsUndefinedByteStringAttributeAttributeSetterCallback, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */},
{"treatReturnedNullStringAsNullScalarValueStringAttribute", TestObjectV8Internal::treatReturnedNullStringAsNullScalarValueStringAttributeAttributeGetterCallback, TestObjectV8Internal::treatReturnedNullStringAsNullScalarValueStringAttributeAttributeSetterCallback, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */},
{"treatReturnedNullStringAsUndefinedScalarValueStringAttribute", TestObjectV8Internal::treatReturnedNullStringAsUndefinedScalarValueStringAttributeAttributeGetterCallback, TestObjectV8Internal::treatReturnedNullStringAsUndefinedScalarValueStringAttributeAttributeSetterCallback, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */},
{"typeCheckingInterfaceNullableStringFloatAttribute", TestObjectV8Internal::typeCheckingInterfaceNullableStringFloatAttributeAttributeGetterCallback, TestObjectV8Internal::typeCheckingInterfaceNullableStringFloatAttributeAttributeSetterCallback, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */}, {"typeCheckingInterfaceNullableStringFloatAttribute", TestObjectV8Internal::typeCheckingInterfaceNullableStringFloatAttributeAttributeGetterCallback, TestObjectV8Internal::typeCheckingInterfaceNullableStringFloatAttributeAttributeSetterCallback, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */},
{"typeCheckingInterfaceTestInterfaceAttribute", TestObjectV8Internal::typeCheckingInterfaceTestInterfaceAttributeAttributeGetterCallback, TestObjectV8Internal::typeCheckingInterfaceTestInterfaceAttributeAttributeSetterCallback, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */}, {"typeCheckingInterfaceTestInterfaceAttribute", TestObjectV8Internal::typeCheckingInterfaceTestInterfaceAttributeAttributeGetterCallback, TestObjectV8Internal::typeCheckingInterfaceTestInterfaceAttributeAttributeSetterCallback, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */},
{"typeCheckingNullableTestInterfaceOrNullAttribute", TestObjectV8Internal::typeCheckingNullableTestInterfaceOrNullAttributeAttributeGetterCallback, TestObjectV8Internal::typeCheckingNullableTestInterfaceOrNullAttributeAttributeSetterCallback, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */}, {"typeCheckingNullableTestInterfaceOrNullAttribute", TestObjectV8Internal::typeCheckingNullableTestInterfaceOrNullAttributeAttributeGetterCallback, TestObjectV8Internal::typeCheckingNullableTestInterfaceOrNullAttributeAttributeSetterCallback, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */},
...@@ -9834,6 +9922,8 @@ static const V8DOMConfiguration::MethodConfiguration V8TestObjectMethods[] = { ...@@ -9834,6 +9922,8 @@ static const V8DOMConfiguration::MethodConfiguration V8TestObjectMethods[] = {
{"treatReturnedNullStringAsUndefinedStringMethod", TestObjectV8Internal::treatReturnedNullStringAsUndefinedStringMethodMethodCallback, 0, 0}, {"treatReturnedNullStringAsUndefinedStringMethod", TestObjectV8Internal::treatReturnedNullStringAsUndefinedStringMethodMethodCallback, 0, 0},
{"treatReturnedNullStringAsNullByteStringMethod", TestObjectV8Internal::treatReturnedNullStringAsNullByteStringMethodMethodCallback, 0, 0}, {"treatReturnedNullStringAsNullByteStringMethod", TestObjectV8Internal::treatReturnedNullStringAsNullByteStringMethodMethodCallback, 0, 0},
{"treatReturnedNullStringAsUndefinedByteStringMethod", TestObjectV8Internal::treatReturnedNullStringAsUndefinedByteStringMethodMethodCallback, 0, 0}, {"treatReturnedNullStringAsUndefinedByteStringMethod", TestObjectV8Internal::treatReturnedNullStringAsUndefinedByteStringMethodMethodCallback, 0, 0},
{"treatReturnedNullStringAsNullScalarValueStringMethod", TestObjectV8Internal::treatReturnedNullStringAsNullScalarValueStringMethodMethodCallback, 0, 0},
{"treatReturnedNullStringAsUndefinedScalarValueStringMethod", TestObjectV8Internal::treatReturnedNullStringAsUndefinedScalarValueStringMethodMethodCallback, 0, 0},
{"typeCheckingInterfaceVoidMethodTestInterfaceEmptyArg", TestObjectV8Internal::typeCheckingInterfaceVoidMethodTestInterfaceEmptyArgMethodCallback, 0, 1}, {"typeCheckingInterfaceVoidMethodTestInterfaceEmptyArg", TestObjectV8Internal::typeCheckingInterfaceVoidMethodTestInterfaceEmptyArgMethodCallback, 0, 1},
{"typeCheckingNullableVoidMethodTestInterfaceEmptyOrNullArg", TestObjectV8Internal::typeCheckingNullableVoidMethodTestInterfaceEmptyOrNullArgMethodCallback, 0, 1}, {"typeCheckingNullableVoidMethodTestInterfaceEmptyOrNullArg", TestObjectV8Internal::typeCheckingNullableVoidMethodTestInterfaceEmptyOrNullArgMethodCallback, 0, 1},
{"typeCheckingInterfaceNullableVoidMethodTestInterfaceEmptyOrNullArg", TestObjectV8Internal::typeCheckingInterfaceNullableVoidMethodTestInterfaceEmptyOrNullArgMethodCallback, 0, 1}, {"typeCheckingInterfaceNullableVoidMethodTestInterfaceEmptyOrNullArg", TestObjectV8Internal::typeCheckingInterfaceNullableVoidMethodTestInterfaceEmptyOrNullArgMethodCallback, 0, 1},
......
...@@ -55,6 +55,10 @@ ...@@ -55,6 +55,10 @@
[ImplementedAs=setTestByteString] void setTestByteStringDefaultNull(optional ByteString byteString = null); [ImplementedAs=setTestByteString] void setTestByteStringDefaultNull(optional ByteString byteString = null);
attribute ScalarValueString testScalarValueString; attribute ScalarValueString testScalarValueString;
[ImplementedAs=testScalarValueString, TreatReturnedNullStringAs=Null] attribute ScalarValueString testScalarValueStringTreatReturnedNullStringAsNullAttribute;
[ImplementedAs=testScalarValueString, TreatReturnedNullStringAs=Undefined] attribute ScalarValueString testScalarValueStringTreatReturnedNullStringAsUndefinedAttribute;
[ImplementedAs=testScalarValueString, TreatReturnedNullStringAs=Null] ScalarValueString getTestScalarValueStringTreatReturnedNullStringAsNullMethod();
[ImplementedAs=testScalarValueString, TreatReturnedNullStringAs=Undefined] ScalarValueString getTestScalarValueStringTreatReturnedNullStringAsUndefinedMethod();
void setTestScalarValueString(ScalarValueString scalarValueString); void setTestScalarValueString(ScalarValueString scalarValueString);
[ImplementedAs=setTestScalarValueString] void setTestScalarValueStringDefaultNull(optional ScalarValueString scalarValueString = null); [ImplementedAs=setTestScalarValueString] void setTestScalarValueStringDefaultNull(optional ScalarValueString scalarValueString = null);
}; };
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment