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

Side by Side Diff: Source/bindings/scripts/v8_interface.py

Issue 1107523002: IDL: Drop [PerContextEnabled] extended attribute (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: rebased Created 5 years, 8 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 unified diff | Download patch
« no previous file with comments | « Source/bindings/scripts/v8_attributes.py ('k') | Source/bindings/scripts/v8_methods.py » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 # Copyright (C) 2013 Google Inc. All rights reserved. 1 # Copyright (C) 2013 Google Inc. All rights reserved.
2 # coding=utf-8 2 # coding=utf-8
3 # 3 #
4 # Redistribution and use in source and binary forms, with or without 4 # Redistribution and use in source and binary forms, with or without
5 # modification, are permitted provided that the following conditions are 5 # modification, are permitted provided that the following conditions are
6 # met: 6 # met:
7 # 7 #
8 # * Redistributions of source code must retain the above copyright 8 # * Redistributions of source code must retain the above copyright
9 # notice, this list of conditions and the following disclaimer. 9 # notice, this list of conditions and the following disclaimer.
10 # * Redistributions in binary form must reproduce the above 10 # * Redistributions in binary form must reproduce the above
(...skipping 277 matching lines...) Expand 10 before | Expand all | Expand 10 after
288 not constant['runtime_enabled_function'] 288 not constant['runtime_enabled_function']
289 for constant in constants), 289 for constant in constants),
290 'runtime_enabled_constants': runtime_enabled_constants, 290 'runtime_enabled_constants': runtime_enabled_constants,
291 'special_getter_constants': special_getter_constants, 291 'special_getter_constants': special_getter_constants,
292 }) 292 })
293 293
294 # Attributes 294 # Attributes
295 attributes = [v8_attributes.attribute_context(interface, attribute) 295 attributes = [v8_attributes.attribute_context(interface, attribute)
296 for attribute in interface.attributes] 296 for attribute in interface.attributes]
297 297
298 has_conditional_attributes = any(attribute['per_context_enabled_function'] o r attribute['exposed_test'] for attribute in attributes) 298 has_conditional_attributes = any(attribute['exposed_test'] for attribute in attributes)
299 if has_conditional_attributes and interface.is_partial: 299 if has_conditional_attributes and interface.is_partial:
300 raise Exception('Conditional attributes between partial interfaces in mo dules and the original interfaces(%s) in core are not allowed.' % interface.name ) 300 raise Exception('Conditional attributes between partial interfaces in mo dules and the original interfaces(%s) in core are not allowed.' % interface.name )
301 301
302 context.update({ 302 context.update({
303 'attributes': attributes, 303 'attributes': attributes,
304 'has_accessor_configuration': any( 304 'has_accessor_configuration': any(
305 attribute['is_expose_js_accessors'] and 305 attribute['is_expose_js_accessors'] and
306 not (attribute['is_static'] or 306 not (attribute['is_static'] or
307 attribute['runtime_enabled_function'] or 307 attribute['runtime_enabled_function']) and
308 attribute['per_context_enabled_function']) and
309 attribute['should_be_exposed_to_script'] 308 attribute['should_be_exposed_to_script']
310 for attribute in attributes), 309 for attribute in attributes),
311 'has_attribute_configuration': any( 310 'has_attribute_configuration': any(
312 not (attribute['is_expose_js_accessors'] or 311 not (attribute['is_expose_js_accessors'] or
313 attribute['is_static'] or 312 attribute['is_static'] or
314 attribute['runtime_enabled_function'] or 313 attribute['runtime_enabled_function'])
315 attribute['per_context_enabled_function'])
316 and attribute['should_be_exposed_to_script'] 314 and attribute['should_be_exposed_to_script']
317 for attribute in attributes), 315 for attribute in attributes),
318 'has_conditional_attributes': has_conditional_attributes, 316 'has_conditional_attributes': has_conditional_attributes,
319 'has_constructor_attributes': any(attribute['constructor_type'] for attr ibute in attributes), 317 'has_constructor_attributes': any(attribute['constructor_type'] for attr ibute in attributes),
320 'has_replaceable_attributes': any(attribute['is_replaceable'] for attrib ute in attributes), 318 'has_replaceable_attributes': any(attribute['is_replaceable'] for attrib ute in attributes),
321 }) 319 })
322 320
323 # Methods 321 # Methods
324 methods = [] 322 methods = []
325 if interface.original_interface: 323 if interface.original_interface:
(...skipping 193 matching lines...) Expand 10 before | Expand all | Expand 10 after
519 if 'overload_index' in method and 'overloads' not in method: 517 if 'overload_index' in method and 'overloads' not in method:
520 continue 518 continue
521 519
522 if 'overloads' in method: 520 if 'overloads' in method:
523 overloads = method['overloads'] 521 overloads = method['overloads']
524 if not overloads['visible']: 522 if not overloads['visible']:
525 continue 523 continue
526 # original interface will register instead of partial interface. 524 # original interface will register instead of partial interface.
527 if overloads['has_partial_overloads'] and interface.is_partial: 525 if overloads['has_partial_overloads'] and interface.is_partial:
528 continue 526 continue
529 per_context_enabled_function = overloads['per_context_enabled_functi on_all']
530 conditionally_exposed_function = overloads['exposed_test_all'] 527 conditionally_exposed_function = overloads['exposed_test_all']
531 runtime_enabled_function = overloads['runtime_enabled_function_all'] 528 runtime_enabled_function = overloads['runtime_enabled_function_all']
532 has_custom_registration = (overloads['has_custom_registration_all'] or 529 has_custom_registration = (overloads['has_custom_registration_all'] or
533 overloads['runtime_determined_lengths']) 530 overloads['runtime_determined_lengths'])
534 else: 531 else:
535 if not method['visible']: 532 if not method['visible']:
536 continue 533 continue
537 per_context_enabled_function = method['per_context_enabled_function' ]
538 conditionally_exposed_function = method['exposed_test'] 534 conditionally_exposed_function = method['exposed_test']
539 runtime_enabled_function = method['runtime_enabled_function'] 535 runtime_enabled_function = method['runtime_enabled_function']
540 has_custom_registration = method['has_custom_registration'] 536 has_custom_registration = method['has_custom_registration']
541 537
542 if has_custom_registration: 538 if has_custom_registration:
543 custom_registration_methods.append(method) 539 custom_registration_methods.append(method)
544 continue 540 continue
545 if per_context_enabled_function or conditionally_exposed_function: 541 if conditionally_exposed_function:
546 conditionally_enabled_methods.append(method) 542 conditionally_enabled_methods.append(method)
547 continue 543 continue
548 if runtime_enabled_function: 544 if runtime_enabled_function:
549 custom_registration_methods.append(method) 545 custom_registration_methods.append(method)
550 continue 546 continue
551 if method['should_be_exposed_to_script']: 547 if method['should_be_exposed_to_script']:
552 method_configuration_methods.append(method) 548 method_configuration_methods.append(method)
553 549
554 for method in methods: 550 for method in methods:
555 # The value of the Function object’s “length” property is a Number 551 # The value of the Function object’s “length” property is a Number
(...skipping 177 matching lines...) Expand 10 before | Expand all | Expand 10 after
733 'deprecate_all_as': common_value(overloads, 'deprecate_as'), # [Depreca teAs] 729 'deprecate_all_as': common_value(overloads, 'deprecate_as'), # [Depreca teAs]
734 'exposed_test_all': common_value(overloads, 'exposed_test'), # [Exposed ] 730 'exposed_test_all': common_value(overloads, 'exposed_test'), # [Exposed ]
735 'has_custom_registration_all': common_value(overloads, 'has_custom_regis tration'), 731 'has_custom_registration_all': common_value(overloads, 'has_custom_regis tration'),
736 'length': length, 732 'length': length,
737 'length_tests_methods': length_tests_methods(effective_overloads_by_leng th), 733 'length_tests_methods': length_tests_methods(effective_overloads_by_leng th),
738 # 1. Let maxarg be the length of the longest type list of the 734 # 1. Let maxarg be the length of the longest type list of the
739 # entries in S. 735 # entries in S.
740 'maxarg': lengths[-1], 736 'maxarg': lengths[-1],
741 'measure_all_as': common_value(overloads, 'measure_as'), # [MeasureAs] 737 'measure_all_as': common_value(overloads, 'measure_as'), # [MeasureAs]
742 'minarg': lengths[0], 738 'minarg': lengths[0],
743 'per_context_enabled_function_all': common_value(overloads, 'per_context _enabled_function'), # [PerContextEnabled]
744 'returns_promise_all': promise_overload_count > 0, 739 'returns_promise_all': promise_overload_count > 0,
745 'runtime_determined_lengths': runtime_determined_lengths, 740 'runtime_determined_lengths': runtime_determined_lengths,
746 'runtime_enabled_function_all': common_value(overloads, 'runtime_enabled _function'), # [RuntimeEnabled] 741 'runtime_enabled_function_all': common_value(overloads, 'runtime_enabled _function'), # [RuntimeEnabled]
747 'valid_arities': lengths 742 'valid_arities': lengths
748 # Only need to report valid arities if there is a gap in the 743 # Only need to report valid arities if there is a gap in the
749 # sequence of possible lengths, otherwise invalid length means 744 # sequence of possible lengths, otherwise invalid length means
750 # "not enough arguments". 745 # "not enough arguments".
751 if lengths[-1] - lengths[0] != len(lengths) - 1 else None, 746 if lengths[-1] - lengths[0] != len(lengths) - 1 else None,
752 'visible': has_overload_visible, 747 'visible': has_overload_visible,
753 'has_partial_overloads': has_partial_overloads, 748 'has_partial_overloads': has_partial_overloads,
(...skipping 585 matching lines...) Expand 10 before | Expand all | Expand 10 after
1339 1334
1340 extended_attributes = deleter.extended_attributes 1335 extended_attributes = deleter.extended_attributes
1341 idl_type = deleter.idl_type 1336 idl_type = deleter.idl_type
1342 is_call_with_script_state = v8_utilities.has_extended_attribute_value(delete r, 'CallWith', 'ScriptState') 1337 is_call_with_script_state = v8_utilities.has_extended_attribute_value(delete r, 'CallWith', 'ScriptState')
1343 return { 1338 return {
1344 'is_call_with_script_state': is_call_with_script_state, 1339 'is_call_with_script_state': is_call_with_script_state,
1345 'is_custom': 'Custom' in extended_attributes, 1340 'is_custom': 'Custom' in extended_attributes,
1346 'is_raises_exception': 'RaisesException' in extended_attributes, 1341 'is_raises_exception': 'RaisesException' in extended_attributes,
1347 'name': cpp_name(deleter), 1342 'name': cpp_name(deleter),
1348 } 1343 }
OLDNEW
« no previous file with comments | « Source/bindings/scripts/v8_attributes.py ('k') | Source/bindings/scripts/v8_methods.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698