| OLD | NEW |
| 1 #!/usr/bin/python | 1 #!/usr/bin/python |
| 2 # Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file | 2 # Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file |
| 3 # for details. All rights reserved. Use of this source code is governed by a | 3 # for details. All rights reserved. Use of this source code is governed by a |
| 4 # BSD-style license that can be found in the LICENSE file. | 4 # BSD-style license that can be found in the LICENSE file. |
| 5 | 5 |
| 6 """This module provides shared functionality for systems to generate | 6 """This module provides shared functionality for systems to generate |
| 7 Dart APIs from the IDL database.""" | 7 Dart APIs from the IDL database.""" |
| 8 | 8 |
| 9 import copy | 9 import copy |
| 10 import json | 10 import json |
| (...skipping 714 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 725 | 725 |
| 726 '* get CustomEvent.detail': | 726 '* get CustomEvent.detail': |
| 727 Conversion('convertNativeToDart_SerializedScriptValue', | 727 Conversion('convertNativeToDart_SerializedScriptValue', |
| 728 'dynamic', 'dynamic'), | 728 'dynamic', 'dynamic'), |
| 729 | 729 |
| 730 # receiving message via MessageEvent | 730 # receiving message via MessageEvent |
| 731 '* get MessageEvent.data': | 731 '* get MessageEvent.data': |
| 732 Conversion('convertNativeToDart_SerializedScriptValue', | 732 Conversion('convertNativeToDart_SerializedScriptValue', |
| 733 'dynamic', 'dynamic'), | 733 'dynamic', 'dynamic'), |
| 734 | 734 |
| 735 # TODO(alanknight): This generates two variations for dart2js, because of |
| 736 # the optional argument, but not in Dartium. Should do the same for both. |
| 737 'any set History.pushState': _serialize_SSV, |
| 738 |
| 739 'any set History.replaceState': _serialize_SSV, |
| 740 |
| 735 '* get History.state': | 741 '* get History.state': |
| 736 Conversion('convertNativeToDart_SerializedScriptValue', | 742 Conversion('convertNativeToDart_SerializedScriptValue', |
| 737 'dynamic', 'dynamic'), | 743 'dynamic', 'dynamic'), |
| 738 | 744 |
| 739 '* get PopStateEvent.state': | 745 '* get PopStateEvent.state': |
| 740 Conversion('convertNativeToDart_SerializedScriptValue', | 746 Conversion('convertNativeToDart_SerializedScriptValue', |
| 741 'dynamic', 'dynamic'), | 747 'dynamic', 'dynamic'), |
| 742 | 748 |
| 743 # IDBAny is problematic. Some uses are just a union of other IDB types, | 749 # IDBAny is problematic. Some uses are just a union of other IDB types, |
| 744 # which need no conversion.. Others include data values which require | 750 # which need no conversion.. Others include data values which require |
| (...skipping 691 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1436 """Return True if the type is a List<Node>""" | 1442 """Return True if the type is a List<Node>""" |
| 1437 return return_type.startswith('List<Node>') | 1443 return return_type.startswith('List<Node>') |
| 1438 | 1444 |
| 1439 def wrap_unwrap_type_blink(return_type, type_registry): | 1445 def wrap_unwrap_type_blink(return_type, type_registry): |
| 1440 """Returns True if the type is a blink type that requires wrap_jso or | 1446 """Returns True if the type is a blink type that requires wrap_jso or |
| 1441 unwrap_jso""" | 1447 unwrap_jso""" |
| 1442 if return_type and return_type.startswith('Html'): | 1448 if return_type and return_type.startswith('Html'): |
| 1443 return_type = return_type.replace('Html', 'HTML', 1) | 1449 return_type = return_type.replace('Html', 'HTML', 1) |
| 1444 return (type_registry.HasInterface(return_type) or not(return_type) or | 1450 return (type_registry.HasInterface(return_type) or not(return_type) or |
| 1445 return_type == 'Object' or | 1451 return_type == 'Object' or |
| 1452 return_type == 'dynamic' or |
| 1446 return_type == 'Future' or | 1453 return_type == 'Future' or |
| 1447 return_type == 'SqlDatabase' or # renamed to Database | 1454 return_type == 'SqlDatabase' or # renamed to Database |
| 1448 return_type == 'HTMLElement' or | 1455 return_type == 'HTMLElement' or |
| 1449 return_type == 'MutationObserver' or | 1456 return_type == 'MutationObserver' or |
| 1450 (return_type.endswith('[]') and return_type != 'DOMString[]')) | 1457 (return_type.endswith('[]') and return_type != 'DOMString[]')) |
| 1451 | 1458 |
| 1452 def wrap_type_blink(return_type, type_registry): | 1459 def wrap_type_blink(return_type, type_registry): |
| 1453 """Returns True if the type is a blink type that requires wrap_jso but | 1460 """Returns True if the type is a blink type that requires wrap_jso but |
| 1454 NOT unwrap_jso""" | 1461 NOT unwrap_jso""" |
| 1455 return (return_type == 'Map' or | 1462 return (return_type == 'Map' or |
| 1456 return_type == 'Rectangle') | 1463 return_type == 'Rectangle') |
| 1457 | 1464 |
| 1458 def wrap_return_type_blink(return_type, type_name, type_registry): | 1465 def wrap_return_type_blink(return_type, type_name, type_registry): |
| 1459 """Returns True if we should wrap the returned value. This checks | 1466 """Returns True if we should wrap the returned value. This checks |
| 1460 a number of different variations, calling the more basic functions | 1467 a number of different variations, calling the more basic functions |
| 1461 above.""" | 1468 above.""" |
| 1462 return (wrap_unwrap_type_blink(return_type, type_registry) or | 1469 return (wrap_unwrap_type_blink(return_type, type_registry) or |
| 1463 wrap_unwrap_type_blink(type_name, type_registry) or | 1470 wrap_unwrap_type_blink(type_name, type_registry) or |
| 1464 wrap_type_blink(return_type, type_registry) or | 1471 wrap_type_blink(return_type, type_registry) or |
| 1465 wrap_unwrap_list_blink(return_type, type_registry)) | 1472 wrap_unwrap_list_blink(return_type, type_registry)) |
| OLD | NEW |