| OLD | NEW |
| 1 # Copyright 2013 The Chromium Authors. All rights reserved. | 1 # Copyright 2013 The Chromium Authors. All rights reserved. |
| 2 # Use of this source code is governed by a BSD-style license that can be | 2 # Use of this source code is governed by a BSD-style license that can be |
| 3 # found in the LICENSE file. | 3 # found in the LICENSE file. |
| 4 | 4 |
| 5 """Generates JavaScript source files from a mojom.Module.""" | 5 """Generates JavaScript source files from a mojom.Module.""" |
| 6 | 6 |
| 7 import mojom.generate.generator as generator | 7 import mojom.generate.generator as generator |
| 8 import mojom.generate.module as mojom | 8 import mojom.generate.module as mojom |
| 9 import mojom.generate.pack as pack | 9 import mojom.generate.pack as pack |
| 10 import os | 10 import os |
| (...skipping 142 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 153 def _GenerateAMDModule(self): | 153 def _GenerateAMDModule(self): |
| 154 return self._GetParameters() | 154 return self._GetParameters() |
| 155 | 155 |
| 156 def GenerateFiles(self, args): | 156 def GenerateFiles(self, args): |
| 157 if self.variant: | 157 if self.variant: |
| 158 raise Exception("Variants not supported in JavaScript bindings.") | 158 raise Exception("Variants not supported in JavaScript bindings.") |
| 159 | 159 |
| 160 # TODO(yzshen): Remove this method once the old JS bindings go away. | 160 # TODO(yzshen): Remove this method once the old JS bindings go away. |
| 161 self._SetUniqueNameForImports() | 161 self._SetUniqueNameForImports() |
| 162 | 162 |
| 163 # TODO(yzshen): Add a JavaScriptStylizer. |
| 164 self.module.Stylize(generator.Stylizer()) |
| 165 |
| 163 self.Write(self._GenerateAMDModule(), | 166 self.Write(self._GenerateAMDModule(), |
| 164 self.MatchMojomFilePath("%s.js" % self.module.name)) | 167 self.MatchMojomFilePath("%s.js" % self.module.name)) |
| 165 | 168 |
| 166 def _SetUniqueNameForImports(self): | 169 def _SetUniqueNameForImports(self): |
| 167 used_names = set() | 170 used_names = set() |
| 168 for each_import in self.module.imports: | 171 for each_import in self.module.imports: |
| 169 simple_name = each_import.name.split(".")[0] | 172 simple_name = each_import.name.split(".")[0] |
| 170 | 173 |
| 171 # Since each import is assigned a variable in JS, they need to have unique | 174 # Since each import is assigned a variable in JS, they need to have unique |
| 172 # names. | 175 # names. |
| (...skipping 201 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 374 return self._TranslateConstants(value) | 377 return self._TranslateConstants(value) |
| 375 | 378 |
| 376 def _GetStructsFromMethods(self): | 379 def _GetStructsFromMethods(self): |
| 377 result = [] | 380 result = [] |
| 378 for interface in self.module.interfaces: | 381 for interface in self.module.interfaces: |
| 379 for method in interface.methods: | 382 for method in interface.methods: |
| 380 result.append(method.param_struct) | 383 result.append(method.param_struct) |
| 381 if method.response_param_struct is not None: | 384 if method.response_param_struct is not None: |
| 382 result.append(method.response_param_struct) | 385 result.append(method.response_param_struct) |
| 383 return result | 386 return result |
| OLD | NEW |