| Index: sdk/lib/html/scripts/generator.py
|
| diff --git a/sdk/lib/html/scripts/generator.py b/sdk/lib/html/scripts/generator.py
|
| index f203be4966a0f993f0ad5e90624cea43eac47be5..89913d2000dd4528423e9e93add3d19c0f90c7e1 100644
|
| --- a/sdk/lib/html/scripts/generator.py
|
| +++ b/sdk/lib/html/scripts/generator.py
|
| @@ -305,12 +305,7 @@ class OperationInfo(object):
|
| is named, e.g. 'fromList' in Int8Array.fromList(list).
|
| type_name: A string, the name of the return type of the operation.
|
| param_infos: A list of ParamInfo.
|
| - factory_parameters: A list of parameters used for custom designed Factory
|
| - calls.
|
| """
|
| -
|
| - def __init__(self):
|
| - self.factory_parameters = None
|
|
|
| def ParametersDeclaration(self, rename_type, force_optional=False):
|
| def FormatParam(param):
|
| @@ -361,18 +356,11 @@ class OperationInfo(object):
|
| def ConstructorFactoryName(self, rename_type):
|
| return 'create' + self._ConstructorFullName(rename_type).replace('.', '_')
|
|
|
| - def GenerateFactoryInvocation(self, rename_type, emitter, factory_name,
|
| - factory_constructor_name=None, factory_parameters=None):
|
| + def GenerateFactoryInvocation(self, rename_type, emitter, factory_provider):
|
| has_optional = any(param_info.is_optional
|
| for param_info in self.param_infos)
|
|
|
| - if not factory_constructor_name:
|
| - factory_constructor_name = self.ConstructorFactoryName(rename_type)
|
| - factory_parameters = self.ParametersAsArgumentList()
|
| - has_factory_provider = True
|
| - else:
|
| - factory_parameters = ', '.join(factory_parameters)
|
| - has_factory_provider = False
|
| + factory_name = self.ConstructorFactoryName(rename_type)
|
| if not has_optional:
|
| emitter.Emit(
|
| '\n'
|
| @@ -380,19 +368,11 @@ class OperationInfo(object):
|
| '$FACTORY.$CTOR_FACTORY_NAME($FACTORY_PARAMS);\n',
|
| CTOR=self._ConstructorFullName(rename_type),
|
| PARAMS=self.ParametersDeclaration(rename_type),
|
| - FACTORY=factory_name,
|
| - CTOR_FACTORY_NAME=factory_constructor_name,
|
| - FACTORY_PARAMS=factory_parameters)
|
| + FACTORY=factory_provider,
|
| + CTOR_FACTORY_NAME=factory_name,
|
| + FACTORY_PARAMS=self.ParametersAsArgumentList())
|
| return
|
| - if has_factory_provider:
|
| - self._GenerateFactoryOptParams(rename_type, emitter, factory_name)
|
| - else:
|
| - self._GenerateFactoryOptParamsWithoutFactoryProvider(rename_type, emitter,
|
| - factory_name, factory_constructor_name, factory_parameters)
|
|
|
| - def _GenerateFactoryOptParams(self, rename_type, emitter, factory_provider):
|
| - """Helper method for creating generic factory constructors with optional
|
| - parameters that use factory providers."""
|
| dispatcher_emitter = emitter.Emit(
|
| '\n'
|
| ' factory $CTOR($PARAMS) {\n'
|
| @@ -402,7 +382,7 @@ class OperationInfo(object):
|
| CTOR=self._ConstructorFullName(rename_type),
|
| PARAMS=self.ParametersDeclaration(rename_type),
|
| FACTORY=factory_provider,
|
| - CTOR_FACTORY_NAME=self.ConstructorFactoryName(rename_type),
|
| + CTOR_FACTORY_NAME=factory_name,
|
| FACTORY_PARAMS=self.ParametersAsArgumentList())
|
|
|
| # If we have optional parameters, check to see if they are set
|
| @@ -414,34 +394,12 @@ class OperationInfo(object):
|
| ' }\n',
|
| OPT_PARAM_NAME=self.param_infos[index].name,
|
| FACTORY=factory_provider,
|
| - CTOR_FACTORY_NAME=self.ConstructorFactoryName(rename_type),
|
| + CTOR_FACTORY_NAME=factory_name,
|
| FACTORY_PARAMS=self.ParametersAsArgumentList(index))
|
|
|
| for index, param_info in enumerate(self.param_infos):
|
| if param_info.is_optional:
|
| EmitOptionalParameterInvocation(index)
|
| -
|
| - def _GenerateFactoryOptParamsWithoutFactoryProvider(self, rename_type,
|
| - emitter, factory_name, factory_constructor_name, factory_parameters):
|
| - """Helper method for creating a factory constructor with optional
|
| - parameters that does not call a factory provider, it simply creates the
|
| - object itself. This is currently used for SVGElements and HTMLElements."""
|
| - inits = emitter.Emit(
|
| - '\n'
|
| - ' factory $CONSTRUCTOR($PARAMS) {\n'
|
| - ' var e = $FACTORY.$CTOR_FACTORY_NAME($FACTORY_PARAMS);\n'
|
| - '$!INITS'
|
| - ' return e;\n'
|
| - ' }\n',
|
| - CONSTRUCTOR=self._ConstructorFullName(rename_type),
|
| - FACTORY=factory_name,
|
| - CTOR_FACTORY_NAME=factory_constructor_name,
|
| - PARAMS=self.ParametersDeclaration(rename_type, force_optional=True),
|
| - FACTORY_PARAMS=factory_parameters)
|
| - for index, param_info in enumerate(self.param_infos):
|
| - if param_info.is_optional:
|
| - inits.Emit(' if (!?$E) e.$E = $E;\n',
|
| - E=self.param_infos[index].name)
|
|
|
| def ConstantOutputOrder(a, b):
|
| """Canonical output ordering for constants."""
|
|
|