| OLD | NEW | 
|    1 # Copyright (C) 2013 Google Inc. All rights reserved. |    1 # Copyright (C) 2013 Google Inc. All rights reserved. | 
|    2 # |    2 # | 
|    3 # Redistribution and use in source and binary forms, with or without |    3 # Redistribution and use in source and binary forms, with or without | 
|    4 # modification, are permitted provided that the following conditions are |    4 # modification, are permitted provided that the following conditions are | 
|    5 # met: |    5 # met: | 
|    6 # |    6 # | 
|    7 #     * Redistributions of source code must retain the above copyright |    7 #     * Redistributions of source code must retain the above copyright | 
|    8 # notice, this list of conditions and the following disclaimer. |    8 # notice, this list of conditions and the following disclaimer. | 
|    9 #     * Redistributions in binary form must reproduce the above |    9 #     * Redistributions in binary form must reproduce the above | 
|   10 # copyright notice, this list of conditions and the following disclaimer |   10 # copyright notice, this list of conditions and the following disclaimer | 
| (...skipping 483 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  494     else: |  494     else: | 
|  495         arguments = v8_value |  495         arguments = v8_value | 
|  496  |  496  | 
|  497     if base_idl_type in V8_VALUE_TO_CPP_VALUE: |  497     if base_idl_type in V8_VALUE_TO_CPP_VALUE: | 
|  498         cpp_expression_format = V8_VALUE_TO_CPP_VALUE[base_idl_type] |  498         cpp_expression_format = V8_VALUE_TO_CPP_VALUE[base_idl_type] | 
|  499     elif idl_type.is_typed_array_element_type: |  499     elif idl_type.is_typed_array_element_type: | 
|  500         cpp_expression_format = ( |  500         cpp_expression_format = ( | 
|  501             '{v8_value}->Is{idl_type}() ? ' |  501             '{v8_value}->Is{idl_type}() ? ' | 
|  502             'V8{idl_type}::toImpl(v8::Handle<v8::{idl_type}>::Cast({v8_value})) 
     : 0') |  502             'V8{idl_type}::toImpl(v8::Handle<v8::{idl_type}>::Cast({v8_value})) 
     : 0') | 
|  503     elif idl_type.is_dictionary: |  503     elif idl_type.is_dictionary: | 
|  504         cpp_expression_format = 'V8{idl_type}::toImpl({isolate}, {v8_value})' |  504         cpp_expression_format = 'V8{idl_type}::toImpl({isolate}, {v8_value}, exc
     eptionState)' | 
|  505     else: |  505     else: | 
|  506         cpp_expression_format = ( |  506         cpp_expression_format = ( | 
|  507             'V8{idl_type}::toImplWithTypeCheck({isolate}, {v8_value})') |  507             'V8{idl_type}::toImplWithTypeCheck({isolate}, {v8_value})') | 
|  508  |  508  | 
|  509     return cpp_expression_format.format(arguments=arguments, idl_type=base_idl_t
     ype, v8_value=v8_value, isolate=isolate) |  509     return cpp_expression_format.format(arguments=arguments, idl_type=base_idl_t
     ype, v8_value=v8_value, isolate=isolate) | 
|  510  |  510  | 
|  511  |  511  | 
|  512 def v8_value_to_cpp_value_array_or_sequence(native_array_element_type, v8_value,
      index, isolate='info.GetIsolate()'): |  512 def v8_value_to_cpp_value_array_or_sequence(native_array_element_type, v8_value,
      index, isolate='info.GetIsolate()'): | 
|  513     # Index is None for setters, index (starting at 0) for method arguments, |  513     # Index is None for setters, index (starting at 0) for method arguments, | 
|  514     # and is used to provide a human-readable exception message |  514     # and is used to provide a human-readable exception message | 
| (...skipping 22 matching lines...) Expand all  Loading... | 
|  537     if idl_type.is_union_type: |  537     if idl_type.is_union_type: | 
|  538         return '' |  538         return '' | 
|  539  |  539  | 
|  540     this_cpp_type = idl_type.cpp_type_args(extended_attributes=extended_attribut
     es, raw_type=True) |  540     this_cpp_type = idl_type.cpp_type_args(extended_attributes=extended_attribut
     es, raw_type=True) | 
|  541  |  541  | 
|  542     idl_type = idl_type.preprocessed_type |  542     idl_type = idl_type.preprocessed_type | 
|  543     cpp_value = v8_value_to_cpp_value(idl_type, extended_attributes, v8_value, i
     ndex, isolate) |  543     cpp_value = v8_value_to_cpp_value(idl_type, extended_attributes, v8_value, i
     ndex, isolate) | 
|  544     args = [variable_name, cpp_value] |  544     args = [variable_name, cpp_value] | 
|  545     if idl_type.base_type == 'DOMString': |  545     if idl_type.base_type == 'DOMString': | 
|  546         macro = 'TOSTRING_DEFAULT' if used_in_private_script else 'TOSTRING_VOID
     ' |  546         macro = 'TOSTRING_DEFAULT' if used_in_private_script else 'TOSTRING_VOID
     ' | 
|  547     elif idl_type.may_raise_exception_on_conversion: |  547     elif (idl_type.may_raise_exception_on_conversion and | 
 |  548           not idl_type.is_dictionary): | 
|  548         macro = 'TONATIVE_DEFAULT_EXCEPTIONSTATE' if used_in_private_script else
      'TONATIVE_VOID_EXCEPTIONSTATE' |  549         macro = 'TONATIVE_DEFAULT_EXCEPTIONSTATE' if used_in_private_script else
      'TONATIVE_VOID_EXCEPTIONSTATE' | 
|  549         args.append('exceptionState') |  550         args.append('exceptionState') | 
|  550     else: |  551     else: | 
|  551         macro = 'TONATIVE_DEFAULT' if used_in_private_script else 'TONATIVE_VOID
     ' |  552         macro = 'TONATIVE_DEFAULT' if used_in_private_script else 'TONATIVE_VOID
     ' | 
|  552  |  553  | 
|  553     if used_in_private_script: |  554     if used_in_private_script: | 
|  554         args.append('false') |  555         args.append('false') | 
|  555  |  556  | 
|  556     # Macros come in several variants, to minimize expensive creation of |  557     # Macros come in several variants, to minimize expensive creation of | 
|  557     # v8::TryCatch. |  558     # v8::TryCatch. | 
| (...skipping 254 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  812  |  813  | 
|  813  |  814  | 
|  814 def is_explicit_nullable(idl_type): |  815 def is_explicit_nullable(idl_type): | 
|  815     # Nullable type that isn't implicit nullable (see above.) For such types, |  816     # Nullable type that isn't implicit nullable (see above.) For such types, | 
|  816     # we use Nullable<T> or similar explicit ways to represent a null value. |  817     # we use Nullable<T> or similar explicit ways to represent a null value. | 
|  817     return idl_type.is_nullable and not idl_type.is_implicit_nullable |  818     return idl_type.is_nullable and not idl_type.is_implicit_nullable | 
|  818  |  819  | 
|  819 IdlTypeBase.is_implicit_nullable = property(is_implicit_nullable) |  820 IdlTypeBase.is_implicit_nullable = property(is_implicit_nullable) | 
|  820 IdlUnionType.is_implicit_nullable = False |  821 IdlUnionType.is_implicit_nullable = False | 
|  821 IdlTypeBase.is_explicit_nullable = property(is_explicit_nullable) |  822 IdlTypeBase.is_explicit_nullable = property(is_explicit_nullable) | 
| OLD | NEW |