Index: Source/bindings/scripts/v8_types.py |
diff --git a/Source/bindings/scripts/v8_types.py b/Source/bindings/scripts/v8_types.py |
index 5cce99914b0f17c5b10af91acb4bc664e86439f0..746dde3da43e1e3b3d409439c2c1331c0f97dc3c 100644 |
--- a/Source/bindings/scripts/v8_types.py |
+++ b/Source/bindings/scripts/v8_types.py |
@@ -138,15 +138,13 @@ def cpp_type(idl_type, extended_attributes=None, raw_type=False, used_as_argumen |
bool, True if the C++ type is used as an element of an array or sequence. |
""" |
def string_mode(): |
- if idl_type.is_nullable: |
- return 'WithNullCheck' |
# FIXME: the Web IDL spec requires 'EmptyString', not 'NullString', |
# but we use NullString for performance. |
- if extended_attributes.get('TreatNullAs') != 'NullString': |
- return '' |
- if extended_attributes.get('TreatUndefinedAs') != 'NullString': |
+ if idl_type.is_nullable or extended_attributes.get('TreatNullAs') == 'NullString': |
+ if extended_attributes.get('TreatUndefinedAs') == 'NullString': |
+ return 'WithUndefinedOrNullCheck' |
return 'WithNullCheck' |
- return 'WithUndefinedOrNullCheck' |
+ return '' |
extended_attributes = extended_attributes or {} |
idl_type = idl_type.preprocessed_type |