johnson 1.2.0 → 2.0.0.pre0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (782) hide show
  1. data/CHANGELOG.rdoc +8 -0
  2. data/Manifest.txt +762 -48
  3. data/README.rdoc +2 -1
  4. data/Rakefile +90 -18
  5. data/ext/spidermonkey/conversions.c +9 -2
  6. data/ext/spidermonkey/ruby_land_proxy.c +1 -1
  7. data/ext/spidermonkey/runtime.h +1 -1
  8. data/ext/tracemonkey/context.cc +125 -0
  9. data/ext/tracemonkey/context.h +19 -0
  10. data/ext/tracemonkey/conversions.cc +365 -0
  11. data/ext/tracemonkey/conversions.h +32 -0
  12. data/ext/tracemonkey/debugger.cc +234 -0
  13. data/ext/tracemonkey/debugger.h +10 -0
  14. data/ext/tracemonkey/extconf.rb +37 -0
  15. data/ext/tracemonkey/extensions.cc +37 -0
  16. data/ext/tracemonkey/extensions.h +12 -0
  17. data/ext/tracemonkey/global.cc +40 -0
  18. data/ext/tracemonkey/global.h +11 -0
  19. data/ext/tracemonkey/idhash.cc +16 -0
  20. data/ext/tracemonkey/idhash.h +8 -0
  21. data/ext/tracemonkey/immutable_node.cc +1199 -0
  22. data/ext/tracemonkey/immutable_node.cc.erb +559 -0
  23. data/ext/tracemonkey/immutable_node.h +22 -0
  24. data/ext/tracemonkey/jroot.h +215 -0
  25. data/ext/tracemonkey/js_land_proxy.cc +620 -0
  26. data/ext/tracemonkey/js_land_proxy.h +20 -0
  27. data/ext/tracemonkey/ruby_land_proxy.cc +618 -0
  28. data/ext/tracemonkey/ruby_land_proxy.h +38 -0
  29. data/ext/tracemonkey/runtime.cc +454 -0
  30. data/ext/tracemonkey/runtime.h +27 -0
  31. data/ext/tracemonkey/split_global.cc +392 -0
  32. data/ext/tracemonkey/split_global.h +11 -0
  33. data/ext/tracemonkey/tracemonkey.cc +23 -0
  34. data/ext/tracemonkey/tracemonkey.h +32 -0
  35. data/lib/johnson.rb +12 -4
  36. data/lib/johnson/error.rb +5 -0
  37. data/lib/johnson/js/prelude.js +16 -1
  38. data/lib/johnson/parser.rb +2 -1
  39. data/lib/johnson/runtime.rb +87 -26
  40. data/lib/johnson/spidermonkey/runtime.rb +7 -16
  41. data/lib/johnson/tracemonkey.rb +13 -0
  42. data/lib/johnson/tracemonkey/context.rb +10 -0
  43. data/lib/johnson/tracemonkey/debugger.rb +67 -0
  44. data/lib/johnson/tracemonkey/immutable_node.rb +282 -0
  45. data/lib/johnson/tracemonkey/js_land_proxy.rb +64 -0
  46. data/lib/johnson/tracemonkey/mutable_tree_visitor.rb +242 -0
  47. data/lib/johnson/tracemonkey/ruby_land_proxy.rb +17 -0
  48. data/lib/johnson/tracemonkey/runtime.rb +80 -0
  49. data/test/{johnson_test.rb → generic/johnson_test.rb} +1 -1
  50. data/test/{parser_test.rb → generic/parser_test.rb} +1 -1
  51. data/test/helper.rb +23 -4
  52. data/test/johnson/{browser_test.rb → generic/browser_test.rb} +1 -1
  53. data/test/johnson/{conversions → generic/conversions}/array_test.rb +1 -1
  54. data/test/johnson/{conversions → generic/conversions}/boolean_test.rb +1 -1
  55. data/test/johnson/{conversions → generic/conversions}/callable_test.rb +1 -1
  56. data/test/johnson/{conversions → generic/conversions}/file_test.rb +1 -1
  57. data/test/johnson/generic/conversions/helper.rb +1 -0
  58. data/test/johnson/{conversions → generic/conversions}/nil_test.rb +1 -1
  59. data/test/johnson/{conversions → generic/conversions}/number_test.rb +1 -1
  60. data/test/johnson/{conversions → generic/conversions}/regexp_test.rb +1 -1
  61. data/test/johnson/{conversions → generic/conversions}/string_test.rb +1 -1
  62. data/test/johnson/{conversions → generic/conversions}/struct_test.rb +1 -1
  63. data/test/johnson/{conversions → generic/conversions}/symbol_test.rb +1 -1
  64. data/test/johnson/{conversions → generic/conversions}/thread_test.rb +1 -1
  65. data/test/johnson/{custom_conversions_test.rb → generic/custom_conversions_test.rb} +1 -1
  66. data/test/johnson/generic/default_test.rb +12 -0
  67. data/test/johnson/{error_test.rb → generic/error_test.rb} +1 -1
  68. data/test/johnson/{extensions_test.rb → generic/extensions_test.rb} +1 -1
  69. data/test/johnson/generic/helper.rb +1 -0
  70. data/test/johnson/{nodes → generic/nodes}/array_literal_test.rb +1 -1
  71. data/test/johnson/{nodes → generic/nodes}/array_node_test.rb +1 -1
  72. data/test/johnson/{nodes → generic/nodes}/binary_node_test.rb +1 -1
  73. data/test/johnson/{nodes → generic/nodes}/bracket_access_test.rb +1 -1
  74. data/test/johnson/{nodes → generic/nodes}/delete_test.rb +1 -1
  75. data/test/johnson/{nodes → generic/nodes}/do_while_test.rb +1 -1
  76. data/test/johnson/{nodes → generic/nodes}/dot_accessor_test.rb +1 -1
  77. data/test/johnson/generic/nodes/export_test.rb +11 -0
  78. data/test/johnson/{nodes → generic/nodes}/for_test.rb +1 -1
  79. data/test/johnson/{nodes → generic/nodes}/function_test.rb +1 -1
  80. data/test/johnson/generic/nodes/helper.rb +1 -0
  81. data/test/johnson/{nodes → generic/nodes}/if_test.rb +16 -6
  82. data/test/johnson/generic/nodes/import_test.rb +15 -0
  83. data/test/johnson/{nodes → generic/nodes}/label_test.rb +1 -1
  84. data/test/johnson/{nodes → generic/nodes}/let_test.rb +1 -1
  85. data/test/johnson/{nodes → generic/nodes}/object_literal_test.rb +1 -1
  86. data/test/johnson/{nodes → generic/nodes}/return_test.rb +1 -1
  87. data/test/johnson/{nodes → generic/nodes}/semi_test.rb +1 -1
  88. data/test/johnson/{nodes → generic/nodes}/switch_test.rb +1 -1
  89. data/test/johnson/{nodes → generic/nodes}/ternary_test.rb +1 -1
  90. data/test/johnson/{nodes → generic/nodes}/throw_test.rb +1 -1
  91. data/test/johnson/{nodes → generic/nodes}/try_node_test.rb +36 -6
  92. data/test/johnson/{nodes → generic/nodes}/typeof_test.rb +1 -1
  93. data/test/johnson/{nodes → generic/nodes}/unary_node_test.rb +1 -1
  94. data/test/johnson/{nodes → generic/nodes}/void_test.rb +1 -1
  95. data/test/johnson/{nodes → generic/nodes}/while_test.rb +1 -1
  96. data/test/johnson/{nodes → generic/nodes}/with_test.rb +1 -1
  97. data/test/johnson/{prelude_test.rb → generic/prelude_test.rb} +1 -1
  98. data/test/johnson/{runtime_test.rb → generic/runtime_test.rb} +3 -6
  99. data/test/johnson/generic/version_test.rb +13 -0
  100. data/test/johnson/{visitors → generic/visitors}/dot_visitor_test.rb +1 -1
  101. data/test/johnson/{visitors → generic/visitors}/enumerating_visitor_test.rb +1 -1
  102. data/test/johnson/generic/visitors/helper.rb +1 -0
  103. data/test/johnson/spidermonkey/js_land_proxy_test.rb +1 -5
  104. data/test/johnson/spidermonkey/ruby_land_proxy_test.rb +11 -7
  105. data/test/johnson/tracemonkey/context_test.rb +21 -0
  106. data/test/johnson/tracemonkey/immutable_node_test.rb +34 -0
  107. data/test/johnson/tracemonkey/js_land_proxy_test.rb +273 -0
  108. data/test/johnson/tracemonkey/ruby_land_proxy_test.rb +274 -0
  109. data/test/johnson/tracemonkey/runtime_test.rb +41 -0
  110. data/test/johnson/tracemonkey/split_global_test.rb +32 -0
  111. data/vendor/spidermonkey/js.pkg +2 -0
  112. data/vendor/tracemonkey/Makefile.in +668 -0
  113. data/vendor/tracemonkey/Makefile.ref +483 -0
  114. data/vendor/tracemonkey/README.html +54 -0
  115. data/vendor/tracemonkey/SpiderMonkey.rsp +11 -0
  116. data/vendor/tracemonkey/Y.js +19 -0
  117. data/vendor/tracemonkey/aclocal.m4 +9 -0
  118. data/vendor/tracemonkey/bench.sh +5 -0
  119. data/vendor/tracemonkey/build/autoconf/acoutput-fast.pl +202 -0
  120. data/vendor/tracemonkey/build/autoconf/altoptions.m4 +154 -0
  121. data/vendor/tracemonkey/build/autoconf/config.guess +1537 -0
  122. data/vendor/tracemonkey/build/autoconf/config.sub +1595 -0
  123. data/vendor/tracemonkey/build/autoconf/install-sh +119 -0
  124. data/vendor/tracemonkey/build/autoconf/make-makefile +315 -0
  125. data/vendor/tracemonkey/build/autoconf/match-dir.sh +101 -0
  126. data/vendor/tracemonkey/build/autoconf/moznbytetype.m4 +136 -0
  127. data/vendor/tracemonkey/build/autoconf/nspr.m4 +82 -0
  128. data/vendor/tracemonkey/build/autoconf/pkg.m4 +59 -0
  129. data/vendor/tracemonkey/build/autoconf/update-makefile.sh +118 -0
  130. data/vendor/tracemonkey/build/cygwin-wrapper +75 -0
  131. data/vendor/tracemonkey/build/hcc +111 -0
  132. data/vendor/tracemonkey/build/hcpp +155 -0
  133. data/vendor/tracemonkey/build/unix/mddepend.pl +165 -0
  134. data/vendor/tracemonkey/build/unix/uniq.pl +63 -0
  135. data/vendor/tracemonkey/build/win32/pgomerge.py +40 -0
  136. data/vendor/tracemonkey/builtins.tbl +91 -0
  137. data/vendor/tracemonkey/call.js +13 -0
  138. data/vendor/tracemonkey/config.mk +206 -0
  139. data/vendor/tracemonkey/config/Makefile.in +106 -0
  140. data/vendor/tracemonkey/config/Moz/Milestone.pm +232 -0
  141. data/vendor/tracemonkey/config/autoconf.mk.in +362 -0
  142. data/vendor/tracemonkey/config/check-sync-dirs.py +103 -0
  143. data/vendor/tracemonkey/config/check-sync-exceptions +7 -0
  144. data/vendor/tracemonkey/config/config.mk +881 -0
  145. data/vendor/tracemonkey/config/fastcwd.pl +66 -0
  146. data/vendor/tracemonkey/config/gcc_hidden.h +2 -0
  147. data/vendor/tracemonkey/config/insure.mk +53 -0
  148. data/vendor/tracemonkey/config/make-system-wrappers.pl +59 -0
  149. data/vendor/tracemonkey/config/milestone.pl +112 -0
  150. data/vendor/tracemonkey/config/milestone.txt +13 -0
  151. data/vendor/tracemonkey/config/mkdepend/Makefile.in +84 -0
  152. data/vendor/tracemonkey/config/mkdepend/cppsetup.c +233 -0
  153. data/vendor/tracemonkey/config/mkdepend/def.h +184 -0
  154. data/vendor/tracemonkey/config/mkdepend/ifparser.c +551 -0
  155. data/vendor/tracemonkey/config/mkdepend/ifparser.h +83 -0
  156. data/vendor/tracemonkey/config/mkdepend/imakemdep.h +733 -0
  157. data/vendor/tracemonkey/config/mkdepend/include.c +337 -0
  158. data/vendor/tracemonkey/config/mkdepend/main.c +860 -0
  159. data/vendor/tracemonkey/config/mkdepend/mkdepend.man +382 -0
  160. data/vendor/tracemonkey/config/mkdepend/parse.c +686 -0
  161. data/vendor/tracemonkey/config/mkdepend/pr.c +124 -0
  162. data/vendor/tracemonkey/config/nfspwd.pl +50 -0
  163. data/vendor/tracemonkey/config/nsinstall.c +481 -0
  164. data/vendor/tracemonkey/config/nsinstall.py +155 -0
  165. data/vendor/tracemonkey/config/pathsub.c +247 -0
  166. data/vendor/tracemonkey/config/pathsub.h +74 -0
  167. data/vendor/tracemonkey/config/preprocessor.pl +671 -0
  168. data/vendor/tracemonkey/config/revdepth-nt.pl +48 -0
  169. data/vendor/tracemonkey/config/revdepth.pl +51 -0
  170. data/vendor/tracemonkey/config/rules.mk +2310 -0
  171. data/vendor/tracemonkey/config/static-checking-config.mk +21 -0
  172. data/vendor/tracemonkey/config/static-checking.js +92 -0
  173. data/vendor/tracemonkey/config/string-format.js +61 -0
  174. data/vendor/tracemonkey/config/system-headers +1035 -0
  175. data/vendor/tracemonkey/config/version.mk +85 -0
  176. data/vendor/tracemonkey/config/version_win.pl +442 -0
  177. data/vendor/tracemonkey/configure +14183 -0
  178. data/vendor/tracemonkey/configure.in +5363 -0
  179. data/vendor/tracemonkey/correct.sh +23 -0
  180. data/vendor/tracemonkey/correct/check-3d-morph.js +55 -0
  181. data/vendor/tracemonkey/correct/check-3d-raytrace.js +445 -0
  182. data/vendor/tracemonkey/correct/check-access-binary-trees.js +52 -0
  183. data/vendor/tracemonkey/correct/check-access-fannkuch.js +66 -0
  184. data/vendor/tracemonkey/correct/check-access-nbody.js +171 -0
  185. data/vendor/tracemonkey/correct/check-access-nsieve.js +40 -0
  186. data/vendor/tracemonkey/correct/check-bitops-3bit-bits-in-byte.js +35 -0
  187. data/vendor/tracemonkey/correct/check-bitops-bits-in-byte.js +24 -0
  188. data/vendor/tracemonkey/correct/check-bitops-bitwise-and.js +29 -0
  189. data/vendor/tracemonkey/correct/check-bitops-nsieve-bits.js +40 -0
  190. data/vendor/tracemonkey/correct/check-controlflow-recursive.js +27 -0
  191. data/vendor/tracemonkey/correct/check-date-format-tofte.js +302 -0
  192. data/vendor/tracemonkey/correct/check-date-format-xparb.js +421 -0
  193. data/vendor/tracemonkey/correct/check-mont.js +119 -0
  194. data/vendor/tracemonkey/dtoa.c +3335 -0
  195. data/vendor/tracemonkey/editline/Makefile.in +55 -0
  196. data/vendor/tracemonkey/editline/Makefile.ref +143 -0
  197. data/vendor/tracemonkey/editline/README +83 -0
  198. data/vendor/tracemonkey/editline/editline.3 +175 -0
  199. data/vendor/tracemonkey/editline/editline.c +1371 -0
  200. data/vendor/tracemonkey/editline/editline.h +135 -0
  201. data/vendor/tracemonkey/editline/sysunix.c +182 -0
  202. data/vendor/tracemonkey/editline/unix.h +82 -0
  203. data/vendor/tracemonkey/if.js +13 -0
  204. data/vendor/tracemonkey/imacro_asm.js.in +396 -0
  205. data/vendor/tracemonkey/imacros.c.out +1034 -0
  206. data/vendor/tracemonkey/imacros.jsasm +770 -0
  207. data/vendor/tracemonkey/javascript-trace.d +73 -0
  208. data/vendor/tracemonkey/jitstats.tbl +55 -0
  209. data/vendor/tracemonkey/js-config.h.in +82 -0
  210. data/vendor/tracemonkey/js-config.in +111 -0
  211. data/vendor/tracemonkey/js.mdp +0 -0
  212. data/vendor/tracemonkey/js.msg +312 -0
  213. data/vendor/tracemonkey/js3240.rc +79 -0
  214. data/vendor/tracemonkey/jsOS240.def +654 -0
  215. data/vendor/tracemonkey/jsapi.cpp +6005 -0
  216. data/vendor/tracemonkey/jsapi.h +2727 -0
  217. data/vendor/tracemonkey/jsarena.cpp +450 -0
  218. data/vendor/tracemonkey/jsarena.h +318 -0
  219. data/vendor/tracemonkey/jsarray.cpp +3664 -0
  220. data/vendor/tracemonkey/jsarray.h +238 -0
  221. data/vendor/tracemonkey/jsatom.cpp +1244 -0
  222. data/vendor/tracemonkey/jsatom.h +493 -0
  223. data/vendor/tracemonkey/jsbit.h +249 -0
  224. data/vendor/tracemonkey/jsbool.cpp +184 -0
  225. data/vendor/tracemonkey/jsbool.h +88 -0
  226. data/vendor/tracemonkey/jsbuiltins.cpp +415 -0
  227. data/vendor/tracemonkey/jsbuiltins.h +456 -0
  228. data/vendor/tracemonkey/jsclist.h +139 -0
  229. data/vendor/tracemonkey/jscntxt.cpp +1816 -0
  230. data/vendor/tracemonkey/jscntxt.h +1541 -0
  231. data/vendor/tracemonkey/jscompat.h +57 -0
  232. data/vendor/tracemonkey/jsconfig.mk +181 -0
  233. data/vendor/tracemonkey/jscpucfg.cpp +194 -0
  234. data/vendor/tracemonkey/jscpucfg.h +91 -0
  235. data/vendor/tracemonkey/jsdate.cpp +2465 -0
  236. data/vendor/tracemonkey/jsdate.h +129 -0
  237. data/vendor/tracemonkey/jsdbgapi.cpp +2017 -0
  238. data/vendor/tracemonkey/jsdbgapi.h +500 -0
  239. data/vendor/tracemonkey/jsdhash.cpp +876 -0
  240. data/vendor/tracemonkey/jsdhash.h +588 -0
  241. data/vendor/tracemonkey/jsdtoa.cpp +572 -0
  242. data/vendor/tracemonkey/jsdtoa.h +131 -0
  243. data/vendor/tracemonkey/jsdtracef.c +318 -0
  244. data/vendor/tracemonkey/jsdtracef.h +81 -0
  245. data/vendor/tracemonkey/jsemit.cpp +7292 -0
  246. data/vendor/tracemonkey/jsemit.h +802 -0
  247. data/vendor/tracemonkey/jsexn.cpp +1337 -0
  248. data/vendor/tracemonkey/jsexn.h +96 -0
  249. data/vendor/tracemonkey/jsfile.cpp +2747 -0
  250. data/vendor/tracemonkey/jsfile.h +56 -0
  251. data/vendor/tracemonkey/jsfile.msg +90 -0
  252. data/vendor/tracemonkey/jsfun.cpp +3089 -0
  253. data/vendor/tracemonkey/jsfun.h +366 -0
  254. data/vendor/tracemonkey/jsgc.cpp +3816 -0
  255. data/vendor/tracemonkey/jsgc.h +429 -0
  256. data/vendor/tracemonkey/jshash.cpp +477 -0
  257. data/vendor/tracemonkey/jshash.h +151 -0
  258. data/vendor/tracemonkey/jsify.pl +483 -0
  259. data/vendor/tracemonkey/jsinterp.cpp +7441 -0
  260. data/vendor/tracemonkey/jsinterp.h +666 -0
  261. data/vendor/tracemonkey/jsinvoke.cpp +42 -0
  262. data/vendor/tracemonkey/jsiter.cpp +1040 -0
  263. data/vendor/tracemonkey/jsiter.h +140 -0
  264. data/vendor/tracemonkey/jskeyword.tbl +124 -0
  265. data/vendor/tracemonkey/jskwgen.cpp +460 -0
  266. data/vendor/tracemonkey/jslibmath.h +69 -0
  267. data/vendor/tracemonkey/jslock.cpp +1512 -0
  268. data/vendor/tracemonkey/jslock.h +325 -0
  269. data/vendor/tracemonkey/jslocko.asm +60 -0
  270. data/vendor/tracemonkey/jslog2.cpp +111 -0
  271. data/vendor/tracemonkey/jslong.h +167 -0
  272. data/vendor/tracemonkey/jsmath.cpp +806 -0
  273. data/vendor/tracemonkey/jsmath.h +63 -0
  274. data/vendor/tracemonkey/jsnum.cpp +1374 -0
  275. data/vendor/tracemonkey/jsnum.h +280 -0
  276. data/vendor/tracemonkey/jsobj.cpp +6165 -0
  277. data/vendor/tracemonkey/jsobj.h +870 -0
  278. data/vendor/tracemonkey/json.cpp +1338 -0
  279. data/vendor/tracemonkey/json.h +108 -0
  280. data/vendor/tracemonkey/jsopcode.cpp +5484 -0
  281. data/vendor/tracemonkey/jsopcode.h +434 -0
  282. data/vendor/tracemonkey/jsopcode.tbl +591 -0
  283. data/vendor/tracemonkey/jsoplengen.cpp +121 -0
  284. data/vendor/tracemonkey/jsotypes.h +202 -0
  285. data/vendor/tracemonkey/jsparse.cpp +9257 -0
  286. data/vendor/tracemonkey/jsparse.h +900 -0
  287. data/vendor/tracemonkey/jsprf.cpp +1262 -0
  288. data/vendor/tracemonkey/jsprf.h +150 -0
  289. data/vendor/tracemonkey/jsproto.tbl +117 -0
  290. data/vendor/tracemonkey/jsprvtd.h +366 -0
  291. data/vendor/tracemonkey/jspubtd.h +585 -0
  292. data/vendor/tracemonkey/jsregexp.cpp +5051 -0
  293. data/vendor/tracemonkey/jsregexp.h +199 -0
  294. data/vendor/tracemonkey/jsreops.tbl +145 -0
  295. data/vendor/tracemonkey/jsscan.cpp +2040 -0
  296. data/vendor/tracemonkey/jsscan.h +467 -0
  297. data/vendor/tracemonkey/jsscope.cpp +1966 -0
  298. data/vendor/tracemonkey/jsscope.h +487 -0
  299. data/vendor/tracemonkey/jsscript.cpp +1932 -0
  300. data/vendor/tracemonkey/jsscript.h +345 -0
  301. data/vendor/tracemonkey/jsshell.msg +54 -0
  302. data/vendor/tracemonkey/jsstack.js +167 -0
  303. data/vendor/tracemonkey/jsstaticcheck.h +69 -0
  304. data/vendor/tracemonkey/jsstddef.h +87 -0
  305. data/vendor/tracemonkey/jsstdint.h +96 -0
  306. data/vendor/tracemonkey/jsstr.cpp +5277 -0
  307. data/vendor/tracemonkey/jsstr.h +702 -0
  308. data/vendor/tracemonkey/jstracer.cpp +10991 -0
  309. data/vendor/tracemonkey/jstracer.h +794 -0
  310. data/vendor/tracemonkey/jstypes.h +481 -0
  311. data/vendor/tracemonkey/jsutil.cpp +361 -0
  312. data/vendor/tracemonkey/jsutil.h +178 -0
  313. data/vendor/tracemonkey/jsversion.h +243 -0
  314. data/vendor/tracemonkey/jswince.asm +44 -0
  315. data/vendor/tracemonkey/jsxdrapi.cpp +800 -0
  316. data/vendor/tracemonkey/jsxdrapi.h +220 -0
  317. data/vendor/tracemonkey/jsxml.cpp +8327 -0
  318. data/vendor/tracemonkey/jsxml.h +305 -0
  319. data/vendor/tracemonkey/liveconnect/LiveConnect.dsp +157 -0
  320. data/vendor/tracemonkey/liveconnect/LiveConnectShell.dsp +120 -0
  321. data/vendor/tracemonkey/liveconnect/LiveConnectShell.dsw +44 -0
  322. data/vendor/tracemonkey/liveconnect/Makefile.in +105 -0
  323. data/vendor/tracemonkey/liveconnect/Makefile.ref +169 -0
  324. data/vendor/tracemonkey/liveconnect/README.html +712 -0
  325. data/vendor/tracemonkey/liveconnect/_jni/netscape_javascript_JSException.h +14 -0
  326. data/vendor/tracemonkey/liveconnect/_jni/netscape_javascript_JSObject.h +155 -0
  327. data/vendor/tracemonkey/liveconnect/classes/Makefile.in +89 -0
  328. data/vendor/tracemonkey/liveconnect/classes/Makefile.ref +57 -0
  329. data/vendor/tracemonkey/liveconnect/classes/netscape/Makefile.ref +47 -0
  330. data/vendor/tracemonkey/liveconnect/classes/netscape/javascript/JSException.java +140 -0
  331. data/vendor/tracemonkey/liveconnect/classes/netscape/javascript/JSObject.java +183 -0
  332. data/vendor/tracemonkey/liveconnect/classes/netscape/javascript/JSProxy.java +58 -0
  333. data/vendor/tracemonkey/liveconnect/classes/netscape/javascript/JSRunnable.java +70 -0
  334. data/vendor/tracemonkey/liveconnect/classes/netscape/javascript/JSUtil.java +59 -0
  335. data/vendor/tracemonkey/liveconnect/classes/netscape/javascript/Makefile.ref +53 -0
  336. data/vendor/tracemonkey/liveconnect/config/AIX4.1.mk +45 -0
  337. data/vendor/tracemonkey/liveconnect/config/AIX4.2.mk +45 -0
  338. data/vendor/tracemonkey/liveconnect/config/AIX4.3.mk +50 -0
  339. data/vendor/tracemonkey/liveconnect/config/HP-UXB.10.10.mk +43 -0
  340. data/vendor/tracemonkey/liveconnect/config/HP-UXB.10.20.mk +43 -0
  341. data/vendor/tracemonkey/liveconnect/config/HP-UXB.11.00.mk +43 -0
  342. data/vendor/tracemonkey/liveconnect/config/IRIX6.2.mk +43 -0
  343. data/vendor/tracemonkey/liveconnect/config/IRIX6.3.mk +43 -0
  344. data/vendor/tracemonkey/liveconnect/config/IRIX6.5.mk +43 -0
  345. data/vendor/tracemonkey/liveconnect/config/Linux_All.mk +73 -0
  346. data/vendor/tracemonkey/liveconnect/config/OSF1V4.0.mk +65 -0
  347. data/vendor/tracemonkey/liveconnect/config/OSF1V5.0.mk +62 -0
  348. data/vendor/tracemonkey/liveconnect/config/SunOS5.5.1.mk +55 -0
  349. data/vendor/tracemonkey/liveconnect/config/SunOS5.6.mk +39 -0
  350. data/vendor/tracemonkey/liveconnect/config/SunOS5.7.mk +39 -0
  351. data/vendor/tracemonkey/liveconnect/config/SunOS5.8.mk +39 -0
  352. data/vendor/tracemonkey/liveconnect/config/WINNT4.0.mk +53 -0
  353. data/vendor/tracemonkey/liveconnect/jsj.c +886 -0
  354. data/vendor/tracemonkey/liveconnect/jsj.msg +98 -0
  355. data/vendor/tracemonkey/liveconnect/jsj_JSObject.c +1377 -0
  356. data/vendor/tracemonkey/liveconnect/jsj_JavaArray.c +474 -0
  357. data/vendor/tracemonkey/liveconnect/jsj_JavaClass.c +737 -0
  358. data/vendor/tracemonkey/liveconnect/jsj_JavaMember.c +191 -0
  359. data/vendor/tracemonkey/liveconnect/jsj_JavaObject.c +1079 -0
  360. data/vendor/tracemonkey/liveconnect/jsj_JavaPackage.c +569 -0
  361. data/vendor/tracemonkey/liveconnect/jsj_array.c +207 -0
  362. data/vendor/tracemonkey/liveconnect/jsj_class.c +770 -0
  363. data/vendor/tracemonkey/liveconnect/jsj_convert.c +902 -0
  364. data/vendor/tracemonkey/liveconnect/jsj_field.c +421 -0
  365. data/vendor/tracemonkey/liveconnect/jsj_hash.c +488 -0
  366. data/vendor/tracemonkey/liveconnect/jsj_hash.h +161 -0
  367. data/vendor/tracemonkey/liveconnect/jsj_method.c +1825 -0
  368. data/vendor/tracemonkey/liveconnect/jsj_nodl.c +1 -0
  369. data/vendor/tracemonkey/liveconnect/jsj_private.h +677 -0
  370. data/vendor/tracemonkey/liveconnect/jsj_simpleapi.c +219 -0
  371. data/vendor/tracemonkey/liveconnect/jsj_utils.c +513 -0
  372. data/vendor/tracemonkey/liveconnect/jsjava.h +316 -0
  373. data/vendor/tracemonkey/liveconnect/netscape_javascript_JSObject.h +155 -0
  374. data/vendor/tracemonkey/liveconnect/nsCLiveconnect.cpp +785 -0
  375. data/vendor/tracemonkey/liveconnect/nsCLiveconnect.h +197 -0
  376. data/vendor/tracemonkey/liveconnect/nsCLiveconnectFactory.cpp +118 -0
  377. data/vendor/tracemonkey/liveconnect/nsCLiveconnectFactory.h +76 -0
  378. data/vendor/tracemonkey/liveconnect/nsILiveconnect.h +197 -0
  379. data/vendor/tracemonkey/liveconnect/nsISecureLiveconnect.h +94 -0
  380. data/vendor/tracemonkey/liveconnect/nsISecurityContext.h +136 -0
  381. data/vendor/tracemonkey/lock_SunOS.s +119 -0
  382. data/vendor/tracemonkey/mandelbrot-results.js +3 -0
  383. data/vendor/tracemonkey/math-partial-sums.js +32 -0
  384. data/vendor/tracemonkey/math-trace-tests.js +507 -0
  385. data/vendor/tracemonkey/md5.js +289 -0
  386. data/vendor/tracemonkey/nanojit/Assembler.cpp +1984 -0
  387. data/vendor/tracemonkey/nanojit/Assembler.h +375 -0
  388. data/vendor/tracemonkey/nanojit/Fragmento.cpp +651 -0
  389. data/vendor/tracemonkey/nanojit/Fragmento.h +237 -0
  390. data/vendor/tracemonkey/nanojit/LIR.cpp +2314 -0
  391. data/vendor/tracemonkey/nanojit/LIR.h +879 -0
  392. data/vendor/tracemonkey/nanojit/LIRopcode.tbl +252 -0
  393. data/vendor/tracemonkey/nanojit/Native.h +127 -0
  394. data/vendor/tracemonkey/nanojit/NativeARM.cpp +1742 -0
  395. data/vendor/tracemonkey/nanojit/NativeARM.h +844 -0
  396. data/vendor/tracemonkey/nanojit/NativeSparc.cpp +1130 -0
  397. data/vendor/tracemonkey/nanojit/NativeSparc.h +948 -0
  398. data/vendor/tracemonkey/nanojit/NativeThumb.cpp +1322 -0
  399. data/vendor/tracemonkey/nanojit/NativeThumb.h +525 -0
  400. data/vendor/tracemonkey/nanojit/Nativei386.cpp +1748 -0
  401. data/vendor/tracemonkey/nanojit/Nativei386.h +857 -0
  402. data/vendor/tracemonkey/nanojit/RegAlloc.cpp +183 -0
  403. data/vendor/tracemonkey/nanojit/RegAlloc.h +95 -0
  404. data/vendor/tracemonkey/nanojit/TraceTreeDrawer.cpp +306 -0
  405. data/vendor/tracemonkey/nanojit/TraceTreeDrawer.h +88 -0
  406. data/vendor/tracemonkey/nanojit/avmplus.cpp +56 -0
  407. data/vendor/tracemonkey/nanojit/avmplus.h +1016 -0
  408. data/vendor/tracemonkey/nanojit/nanojit.h +253 -0
  409. data/vendor/tracemonkey/perfect.js +39 -0
  410. data/vendor/tracemonkey/plify_jsdhash.sed +35 -0
  411. data/vendor/tracemonkey/prmjtime.cpp +869 -0
  412. data/vendor/tracemonkey/prmjtime.h +103 -0
  413. data/vendor/tracemonkey/ref-config/AIX4.1.mk +65 -0
  414. data/vendor/tracemonkey/ref-config/AIX4.2.mk +64 -0
  415. data/vendor/tracemonkey/ref-config/AIX4.3.mk +65 -0
  416. data/vendor/tracemonkey/ref-config/Darwin.mk +85 -0
  417. data/vendor/tracemonkey/ref-config/Darwin1.3.mk +81 -0
  418. data/vendor/tracemonkey/ref-config/Darwin1.4.mk +41 -0
  419. data/vendor/tracemonkey/ref-config/Darwin5.2.mk +81 -0
  420. data/vendor/tracemonkey/ref-config/Darwin5.3.mk +81 -0
  421. data/vendor/tracemonkey/ref-config/Darwin64.mk +72 -0
  422. data/vendor/tracemonkey/ref-config/HP-UXB.10.10.mk +77 -0
  423. data/vendor/tracemonkey/ref-config/HP-UXB.10.20.mk +77 -0
  424. data/vendor/tracemonkey/ref-config/HP-UXB.11.00.mk +80 -0
  425. data/vendor/tracemonkey/ref-config/IRIX.mk +87 -0
  426. data/vendor/tracemonkey/ref-config/IRIX5.3.mk +44 -0
  427. data/vendor/tracemonkey/ref-config/IRIX6.1.mk +44 -0
  428. data/vendor/tracemonkey/ref-config/IRIX6.2.mk +44 -0
  429. data/vendor/tracemonkey/ref-config/IRIX6.3.mk +44 -0
  430. data/vendor/tracemonkey/ref-config/IRIX6.5.mk +44 -0
  431. data/vendor/tracemonkey/ref-config/Linux_All.mk +105 -0
  432. data/vendor/tracemonkey/ref-config/Mac_OS10.0.mk +82 -0
  433. data/vendor/tracemonkey/ref-config/OSF1V4.0.mk +72 -0
  434. data/vendor/tracemonkey/ref-config/OSF1V5.0.mk +69 -0
  435. data/vendor/tracemonkey/ref-config/SunOS4.1.4.mk +101 -0
  436. data/vendor/tracemonkey/ref-config/SunOS5.10.mk +50 -0
  437. data/vendor/tracemonkey/ref-config/SunOS5.3.mk +91 -0
  438. data/vendor/tracemonkey/ref-config/SunOS5.4.mk +92 -0
  439. data/vendor/tracemonkey/ref-config/SunOS5.5.1.mk +44 -0
  440. data/vendor/tracemonkey/ref-config/SunOS5.5.mk +87 -0
  441. data/vendor/tracemonkey/ref-config/SunOS5.6.mk +89 -0
  442. data/vendor/tracemonkey/ref-config/SunOS5.7.mk +44 -0
  443. data/vendor/tracemonkey/ref-config/SunOS5.8.mk +44 -0
  444. data/vendor/tracemonkey/ref-config/SunOS5.9.mk +44 -0
  445. data/vendor/tracemonkey/ref-config/WINNT4.0.mk +118 -0
  446. data/vendor/tracemonkey/ref-config/WINNT5.0.mk +118 -0
  447. data/vendor/tracemonkey/ref-config/WINNT5.1.mk +118 -0
  448. data/vendor/tracemonkey/ref-config/WINNT5.2.mk +118 -0
  449. data/vendor/tracemonkey/ref-config/WINNT6.0.mk +118 -0
  450. data/vendor/tracemonkey/ref-config/dgux.mk +64 -0
  451. data/vendor/tracemonkey/resource.h +15 -0
  452. data/vendor/tracemonkey/rules.mk +206 -0
  453. data/vendor/tracemonkey/shell/Makefile.in +72 -0
  454. data/vendor/tracemonkey/shell/js.cpp +4719 -0
  455. data/vendor/tracemonkey/t/3d-cube.js +337 -0
  456. data/vendor/tracemonkey/t/3d-morph.js +54 -0
  457. data/vendor/tracemonkey/t/3d-raytrace.js +441 -0
  458. data/vendor/tracemonkey/t/access-binary-trees.js +50 -0
  459. data/vendor/tracemonkey/t/access-fannkuch.js +66 -0
  460. data/vendor/tracemonkey/t/access-nbody.js +169 -0
  461. data/vendor/tracemonkey/t/access-nsieve.js +38 -0
  462. data/vendor/tracemonkey/t/bitops-3bit-bits-in-byte.js +32 -0
  463. data/vendor/tracemonkey/t/bitops-bits-in-byte.js +21 -0
  464. data/vendor/tracemonkey/t/bitops-bitwise-and.js +28 -0
  465. data/vendor/tracemonkey/t/bitops-nsieve-bits.js +32 -0
  466. data/vendor/tracemonkey/t/controlflow-recursive.js +25 -0
  467. data/vendor/tracemonkey/t/crypto-aes.js +422 -0
  468. data/vendor/tracemonkey/t/crypto-md5.js +286 -0
  469. data/vendor/tracemonkey/t/crypto-sha1.js +224 -0
  470. data/vendor/tracemonkey/t/date-format-tofte.js +299 -0
  471. data/vendor/tracemonkey/t/date-format-xparb.js +417 -0
  472. data/vendor/tracemonkey/t/math-cordic.js +95 -0
  473. data/vendor/tracemonkey/t/math-partial-sums.js +33 -0
  474. data/vendor/tracemonkey/t/math-spectral-norm.js +51 -0
  475. data/vendor/tracemonkey/t/regexp-dna.js +1712 -0
  476. data/vendor/tracemonkey/t/string-base64.js +135 -0
  477. data/vendor/tracemonkey/t/string-fasta.js +85 -0
  478. data/vendor/tracemonkey/t/string-tagcloud.js +265 -0
  479. data/vendor/tracemonkey/t/string-unpack-code.js +68 -0
  480. data/vendor/tracemonkey/t/string-validate-input.js +89 -0
  481. data/vendor/tracemonkey/time.sh +13 -0
  482. data/vendor/tracemonkey/trace-test.js +5564 -0
  483. data/vendor/tracemonkey/v8/base.js +187 -0
  484. data/vendor/tracemonkey/v8/crypto.js +1689 -0
  485. data/vendor/tracemonkey/v8/deltablue.js +880 -0
  486. data/vendor/tracemonkey/v8/earley-boyer.js +4682 -0
  487. data/vendor/tracemonkey/v8/raytrace.js +3418 -0
  488. data/vendor/tracemonkey/v8/richards.js +539 -0
  489. data/vendor/tracemonkey/v8/run-crypto.js +44 -0
  490. data/vendor/tracemonkey/v8/run-deltablue.js +44 -0
  491. data/vendor/tracemonkey/v8/run-earley-boyer.js +44 -0
  492. data/vendor/tracemonkey/v8/run-raytrace.js +44 -0
  493. data/vendor/tracemonkey/v8/run-richards.js +44 -0
  494. data/vendor/tracemonkey/v8/run.js +49 -0
  495. data/vendor/tracemonkey/vprof/readme.txt +93 -0
  496. data/vendor/tracemonkey/vprof/vprof.cpp +360 -0
  497. data/vendor/tracemonkey/vprof/vprof.h +245 -0
  498. data/vendor/tracemonkey/xpconnect/Makefile.in +67 -0
  499. data/vendor/tracemonkey/xpconnect/crashtests/117307-1.html +20 -0
  500. data/vendor/tracemonkey/xpconnect/crashtests/193710.html +11 -0
  501. data/vendor/tracemonkey/xpconnect/crashtests/290162-1.html +5 -0
  502. data/vendor/tracemonkey/xpconnect/crashtests/326615-1.html +16 -0
  503. data/vendor/tracemonkey/xpconnect/crashtests/328553-1.html +13 -0
  504. data/vendor/tracemonkey/xpconnect/crashtests/346258-1.html +12 -0
  505. data/vendor/tracemonkey/xpconnect/crashtests/346512-1-frame1.xhtml +16 -0
  506. data/vendor/tracemonkey/xpconnect/crashtests/346512-1-frame2.xhtml +15 -0
  507. data/vendor/tracemonkey/xpconnect/crashtests/346512-1.xhtml +30 -0
  508. data/vendor/tracemonkey/xpconnect/crashtests/382133-1.html +3 -0
  509. data/vendor/tracemonkey/xpconnect/crashtests/386680-1.html +22 -0
  510. data/vendor/tracemonkey/xpconnect/crashtests/394810-1.html +4 -0
  511. data/vendor/tracemonkey/xpconnect/crashtests/400349-1.html +20 -0
  512. data/vendor/tracemonkey/xpconnect/crashtests/403356-1.html +13 -0
  513. data/vendor/tracemonkey/xpconnect/crashtests/418139-1.svg +22 -0
  514. data/vendor/tracemonkey/xpconnect/crashtests/420513-1.html +11 -0
  515. data/vendor/tracemonkey/xpconnect/crashtests/453935-1.html +37 -0
  516. data/vendor/tracemonkey/xpconnect/crashtests/462926.html +12 -0
  517. data/vendor/tracemonkey/xpconnect/crashtests/468552-1.html +18 -0
  518. data/vendor/tracemonkey/xpconnect/crashtests/471366-1.html +12 -0
  519. data/vendor/tracemonkey/xpconnect/crashtests/475185-1.html +13 -0
  520. data/vendor/tracemonkey/xpconnect/crashtests/475291-1.html +14 -0
  521. data/vendor/tracemonkey/xpconnect/crashtests/503286-1.html +23 -0
  522. data/vendor/tracemonkey/xpconnect/crashtests/crashtests.list +21 -0
  523. data/vendor/tracemonkey/xpconnect/idl/Makefile.in +78 -0
  524. data/vendor/tracemonkey/xpconnect/idl/XPCIDispatch.idl +51 -0
  525. data/vendor/tracemonkey/xpconnect/idl/mozIJSSubScriptLoader.idl +64 -0
  526. data/vendor/tracemonkey/xpconnect/idl/nsIActiveXSecurityPolicy.idl +67 -0
  527. data/vendor/tracemonkey/xpconnect/idl/nsIDispatchSupport.idl +119 -0
  528. data/vendor/tracemonkey/xpconnect/idl/nsIJSContextStack.idl +85 -0
  529. data/vendor/tracemonkey/xpconnect/idl/nsIJSRuntimeService.idl +51 -0
  530. data/vendor/tracemonkey/xpconnect/idl/nsIScriptError.idl +102 -0
  531. data/vendor/tracemonkey/xpconnect/idl/nsIScriptableInterfaces.idl +67 -0
  532. data/vendor/tracemonkey/xpconnect/idl/nsIXPCScriptNotify.idl +66 -0
  533. data/vendor/tracemonkey/xpconnect/idl/nsIXPCScriptable.idl +183 -0
  534. data/vendor/tracemonkey/xpconnect/idl/nsIXPCSecurityManager.idl +114 -0
  535. data/vendor/tracemonkey/xpconnect/idl/nsIXPConnect.idl +819 -0
  536. data/vendor/tracemonkey/xpconnect/idl/xpcIJSModuleLoader.idl +95 -0
  537. data/vendor/tracemonkey/xpconnect/idl/xpcIJSWeakReference.idl +49 -0
  538. data/vendor/tracemonkey/xpconnect/idl/xpccomponents.idl +254 -0
  539. data/vendor/tracemonkey/xpconnect/idl/xpcexception.idl +66 -0
  540. data/vendor/tracemonkey/xpconnect/idl/xpcjsid.idl +83 -0
  541. data/vendor/tracemonkey/xpconnect/loader/ISO8601DateUtils.jsm +176 -0
  542. data/vendor/tracemonkey/xpconnect/loader/Makefile.in +63 -0
  543. data/vendor/tracemonkey/xpconnect/loader/XPCOMUtils.jsm +267 -0
  544. data/vendor/tracemonkey/xpconnect/loader/mozJSComponentLoader.cpp +1717 -0
  545. data/vendor/tracemonkey/xpconnect/loader/mozJSComponentLoader.h +172 -0
  546. data/vendor/tracemonkey/xpconnect/loader/mozJSLoaderConstructors.h +101 -0
  547. data/vendor/tracemonkey/xpconnect/loader/mozJSSubScriptLoader.cpp +360 -0
  548. data/vendor/tracemonkey/xpconnect/loader/mozJSSubScriptLoader.h +66 -0
  549. data/vendor/tracemonkey/xpconnect/public/Makefile.in +54 -0
  550. data/vendor/tracemonkey/xpconnect/public/nsAXPCNativeCallContext.h +89 -0
  551. data/vendor/tracemonkey/xpconnect/public/nsAutoJSValHolder.h +168 -0
  552. data/vendor/tracemonkey/xpconnect/public/xpc_map_end.h +327 -0
  553. data/vendor/tracemonkey/xpconnect/sample/Makefile.in +71 -0
  554. data/vendor/tracemonkey/xpconnect/sample/README +39 -0
  555. data/vendor/tracemonkey/xpconnect/sample/xpcsample1.cpp +337 -0
  556. data/vendor/tracemonkey/xpconnect/sample/xpcsample1.idl +82 -0
  557. data/vendor/tracemonkey/xpconnect/sample/xpcsample1.js +21 -0
  558. data/vendor/tracemonkey/xpconnect/shell/Makefile.in +106 -0
  559. data/vendor/tracemonkey/xpconnect/shell/jsshell.msg +50 -0
  560. data/vendor/tracemonkey/xpconnect/shell/xpcshell.cpp +1817 -0
  561. data/vendor/tracemonkey/xpconnect/shell/xpcshellMacUtils.h +43 -0
  562. data/vendor/tracemonkey/xpconnect/shell/xpcshellMacUtils.mm +54 -0
  563. data/vendor/tracemonkey/xpconnect/src/Makefile.in +228 -0
  564. data/vendor/tracemonkey/xpconnect/src/README +3 -0
  565. data/vendor/tracemonkey/xpconnect/src/XPCCrossOriginWrapper.cpp +1186 -0
  566. data/vendor/tracemonkey/xpconnect/src/XPCDispConvert.cpp +593 -0
  567. data/vendor/tracemonkey/xpconnect/src/XPCDispInlines.h +667 -0
  568. data/vendor/tracemonkey/xpconnect/src/XPCDispInterface.cpp +383 -0
  569. data/vendor/tracemonkey/xpconnect/src/XPCDispObject.cpp +516 -0
  570. data/vendor/tracemonkey/xpconnect/src/XPCDispParamPropJSClass.cpp +223 -0
  571. data/vendor/tracemonkey/xpconnect/src/XPCDispParams.cpp +103 -0
  572. data/vendor/tracemonkey/xpconnect/src/XPCDispPrivate.h +1401 -0
  573. data/vendor/tracemonkey/xpconnect/src/XPCDispTearOff.cpp +547 -0
  574. data/vendor/tracemonkey/xpconnect/src/XPCDispTypeInfo.cpp +471 -0
  575. data/vendor/tracemonkey/xpconnect/src/XPCIDispatchClassInfo.cpp +139 -0
  576. data/vendor/tracemonkey/xpconnect/src/XPCIDispatchExtension.cpp +362 -0
  577. data/vendor/tracemonkey/xpconnect/src/XPCNativeWrapper.cpp +1350 -0
  578. data/vendor/tracemonkey/xpconnect/src/XPCNativeWrapper.h +88 -0
  579. data/vendor/tracemonkey/xpconnect/src/XPCSafeJSObjectWrapper.cpp +1148 -0
  580. data/vendor/tracemonkey/xpconnect/src/XPCSystemOnlyWrapper.cpp +718 -0
  581. data/vendor/tracemonkey/xpconnect/src/XPCWrapper.cpp +850 -0
  582. data/vendor/tracemonkey/xpconnect/src/XPCWrapper.h +394 -0
  583. data/vendor/tracemonkey/xpconnect/src/dom_quickstubs.qsconf +568 -0
  584. data/vendor/tracemonkey/xpconnect/src/nsDispatchSupport.cpp +348 -0
  585. data/vendor/tracemonkey/xpconnect/src/nsScriptError.cpp +201 -0
  586. data/vendor/tracemonkey/xpconnect/src/nsXPConnect.cpp +2609 -0
  587. data/vendor/tracemonkey/xpconnect/src/qsgen.py +1487 -0
  588. data/vendor/tracemonkey/xpconnect/src/xpc.msg +217 -0
  589. data/vendor/tracemonkey/xpconnect/src/xpcJSWeakReference.cpp +148 -0
  590. data/vendor/tracemonkey/xpconnect/src/xpcJSWeakReference.h +56 -0
  591. data/vendor/tracemonkey/xpconnect/src/xpccallcontext.cpp +579 -0
  592. data/vendor/tracemonkey/xpconnect/src/xpccomponents.cpp +4144 -0
  593. data/vendor/tracemonkey/xpconnect/src/xpccontext.cpp +115 -0
  594. data/vendor/tracemonkey/xpconnect/src/xpcconvert.cpp +2298 -0
  595. data/vendor/tracemonkey/xpconnect/src/xpcdebug.cpp +481 -0
  596. data/vendor/tracemonkey/xpconnect/src/xpcexception.cpp +502 -0
  597. data/vendor/tracemonkey/xpconnect/src/xpcforwards.h +114 -0
  598. data/vendor/tracemonkey/xpconnect/src/xpcinlines.h +772 -0
  599. data/vendor/tracemonkey/xpconnect/src/xpcjsid.cpp +1025 -0
  600. data/vendor/tracemonkey/xpconnect/src/xpcjsruntime.cpp +1342 -0
  601. data/vendor/tracemonkey/xpconnect/src/xpclog.cpp +128 -0
  602. data/vendor/tracemonkey/xpconnect/src/xpclog.h +101 -0
  603. data/vendor/tracemonkey/xpconnect/src/xpcmaps.cpp +761 -0
  604. data/vendor/tracemonkey/xpconnect/src/xpcmaps.h +713 -0
  605. data/vendor/tracemonkey/xpconnect/src/xpcmodule.cpp +136 -0
  606. data/vendor/tracemonkey/xpconnect/src/xpcprivate.h +4138 -0
  607. data/vendor/tracemonkey/xpconnect/src/xpcquickstubs.cpp +1128 -0
  608. data/vendor/tracemonkey/xpconnect/src/xpcquickstubs.h +480 -0
  609. data/vendor/tracemonkey/xpconnect/src/xpcruntimesvc.cpp +179 -0
  610. data/vendor/tracemonkey/xpconnect/src/xpcstack.cpp +342 -0
  611. data/vendor/tracemonkey/xpconnect/src/xpcstring.cpp +139 -0
  612. data/vendor/tracemonkey/xpconnect/src/xpcthreadcontext.cpp +599 -0
  613. data/vendor/tracemonkey/xpconnect/src/xpcthrower.cpp +399 -0
  614. data/vendor/tracemonkey/xpconnect/src/xpcvariant.cpp +850 -0
  615. data/vendor/tracemonkey/xpconnect/src/xpcwrappedjs.cpp +670 -0
  616. data/vendor/tracemonkey/xpconnect/src/xpcwrappedjsclass.cpp +2015 -0
  617. data/vendor/tracemonkey/xpconnect/src/xpcwrappednative.cpp +3482 -0
  618. data/vendor/tracemonkey/xpconnect/src/xpcwrappednativeinfo.cpp +945 -0
  619. data/vendor/tracemonkey/xpconnect/src/xpcwrappednativejsops.cpp +2003 -0
  620. data/vendor/tracemonkey/xpconnect/src/xpcwrappednativeproto.cpp +302 -0
  621. data/vendor/tracemonkey/xpconnect/src/xpcwrappednativescope.cpp +991 -0
  622. data/vendor/tracemonkey/xpconnect/tests/Makefile.in +75 -0
  623. data/vendor/tracemonkey/xpconnect/tests/TestXPC.cpp +785 -0
  624. data/vendor/tracemonkey/xpconnect/tests/chrome/Makefile.in +51 -0
  625. data/vendor/tracemonkey/xpconnect/tests/chrome/test_bug500931.xul +43 -0
  626. data/vendor/tracemonkey/xpconnect/tests/components/Makefile.in +85 -0
  627. data/vendor/tracemonkey/xpconnect/tests/components/xpctest_array.cpp +388 -0
  628. data/vendor/tracemonkey/xpconnect/tests/components/xpctest_attributes.cpp +305 -0
  629. data/vendor/tracemonkey/xpconnect/tests/components/xpctest_calljs.cpp +135 -0
  630. data/vendor/tracemonkey/xpconnect/tests/components/xpctest_child.cpp +225 -0
  631. data/vendor/tracemonkey/xpconnect/tests/components/xpctest_const.cpp +76 -0
  632. data/vendor/tracemonkey/xpconnect/tests/components/xpctest_domstring.cpp +118 -0
  633. data/vendor/tracemonkey/xpconnect/tests/components/xpctest_echo.cpp +616 -0
  634. data/vendor/tracemonkey/xpconnect/tests/components/xpctest_in.cpp +204 -0
  635. data/vendor/tracemonkey/xpconnect/tests/components/xpctest_inout.cpp +171 -0
  636. data/vendor/tracemonkey/xpconnect/tests/components/xpctest_module.cpp +77 -0
  637. data/vendor/tracemonkey/xpconnect/tests/components/xpctest_multiple.cpp +554 -0
  638. data/vendor/tracemonkey/xpconnect/tests/components/xpctest_noisy.cpp +154 -0
  639. data/vendor/tracemonkey/xpconnect/tests/components/xpctest_out.cpp +335 -0
  640. data/vendor/tracemonkey/xpconnect/tests/components/xpctest_overloaded.cpp +250 -0
  641. data/vendor/tracemonkey/xpconnect/tests/components/xpctest_private.h +192 -0
  642. data/vendor/tracemonkey/xpconnect/tests/components/xpctest_string.cpp +185 -0
  643. data/vendor/tracemonkey/xpconnect/tests/components/xpctest_variant.cpp +355 -0
  644. data/vendor/tracemonkey/xpconnect/tests/idispatch/COM/StdAfx.cpp +12 -0
  645. data/vendor/tracemonkey/xpconnect/tests/idispatch/COM/StdAfx.h +28 -0
  646. data/vendor/tracemonkey/xpconnect/tests/idispatch/COM/XPCDispUtilities.h +28 -0
  647. data/vendor/tracemonkey/xpconnect/tests/idispatch/COM/XPCIDispatchTest.cpp +86 -0
  648. data/vendor/tracemonkey/xpconnect/tests/idispatch/COM/XPCIDispatchTest.def +9 -0
  649. data/vendor/tracemonkey/xpconnect/tests/idispatch/COM/XPCIDispatchTest.dsp +318 -0
  650. data/vendor/tracemonkey/xpconnect/tests/idispatch/COM/XPCIDispatchTest.dsw +29 -0
  651. data/vendor/tracemonkey/xpconnect/tests/idispatch/COM/XPCIDispatchTest.idl +454 -0
  652. data/vendor/tracemonkey/xpconnect/tests/idispatch/COM/XPCIDispatchTest.rc +145 -0
  653. data/vendor/tracemonkey/xpconnect/tests/idispatch/COM/nsXPCDispSimple.cpp +44 -0
  654. data/vendor/tracemonkey/xpconnect/tests/idispatch/COM/nsXPCDispSimple.h +56 -0
  655. data/vendor/tracemonkey/xpconnect/tests/idispatch/COM/nsXPCDispSimple.rgs +23 -0
  656. data/vendor/tracemonkey/xpconnect/tests/idispatch/COM/nsXPCDispTestArrays.cpp +221 -0
  657. data/vendor/tracemonkey/xpconnect/tests/idispatch/COM/nsXPCDispTestArrays.h +53 -0
  658. data/vendor/tracemonkey/xpconnect/tests/idispatch/COM/nsXPCDispTestArrays.rgs +23 -0
  659. data/vendor/tracemonkey/xpconnect/tests/idispatch/COM/nsXPCDispTestMethods.cpp +699 -0
  660. data/vendor/tracemonkey/xpconnect/tests/idispatch/COM/nsXPCDispTestMethods.h +138 -0
  661. data/vendor/tracemonkey/xpconnect/tests/idispatch/COM/nsXPCDispTestMethods.rgs +23 -0
  662. data/vendor/tracemonkey/xpconnect/tests/idispatch/COM/nsXPCDispTestNoIDispatch.cpp +23 -0
  663. data/vendor/tracemonkey/xpconnect/tests/idispatch/COM/nsXPCDispTestNoIDispatch.h +41 -0
  664. data/vendor/tracemonkey/xpconnect/tests/idispatch/COM/nsXPCDispTestNoIDispatch.rgs +23 -0
  665. data/vendor/tracemonkey/xpconnect/tests/idispatch/COM/nsXPCDispTestProperties.cpp +256 -0
  666. data/vendor/tracemonkey/xpconnect/tests/idispatch/COM/nsXPCDispTestProperties.h +88 -0
  667. data/vendor/tracemonkey/xpconnect/tests/idispatch/COM/nsXPCDispTestProperties.rgs +23 -0
  668. data/vendor/tracemonkey/xpconnect/tests/idispatch/COM/nsXPCDispTestScriptOff.cpp +23 -0
  669. data/vendor/tracemonkey/xpconnect/tests/idispatch/COM/nsXPCDispTestScriptOff.h +43 -0
  670. data/vendor/tracemonkey/xpconnect/tests/idispatch/COM/nsXPCDispTestScriptOff.rgs +23 -0
  671. data/vendor/tracemonkey/xpconnect/tests/idispatch/COM/nsXPCDispTestScriptOn.cpp +29 -0
  672. data/vendor/tracemonkey/xpconnect/tests/idispatch/COM/nsXPCDispTestScriptOn.h +45 -0
  673. data/vendor/tracemonkey/xpconnect/tests/idispatch/COM/nsXPCDispTestScriptOn.rgs +23 -0
  674. data/vendor/tracemonkey/xpconnect/tests/idispatch/COM/nsXPCDispTestWrappedJS.cpp +177 -0
  675. data/vendor/tracemonkey/xpconnect/tests/idispatch/COM/nsXPCDispTestWrappedJS.h +50 -0
  676. data/vendor/tracemonkey/xpconnect/tests/idispatch/COM/nsXPCDispTestWrappedJS.rgs +23 -0
  677. data/vendor/tracemonkey/xpconnect/tests/idispatch/COM/resource.h +36 -0
  678. data/vendor/tracemonkey/xpconnect/tests/idispatch/Tests/WrappedCOM/Arrays/XPCIDispatchArrayTests.js +54 -0
  679. data/vendor/tracemonkey/xpconnect/tests/idispatch/Tests/WrappedCOM/Attributes/XPCIDispatchAttributeTests.js +150 -0
  680. data/vendor/tracemonkey/xpconnect/tests/idispatch/Tests/WrappedCOM/General/XPCIDispatchInstantiations.js +122 -0
  681. data/vendor/tracemonkey/xpconnect/tests/idispatch/Tests/WrappedCOM/General/XPCStress.js +58 -0
  682. data/vendor/tracemonkey/xpconnect/tests/idispatch/Tests/WrappedCOM/Methods/XPCIDispatchMethodTests.js +376 -0
  683. data/vendor/tracemonkey/xpconnect/tests/idispatch/Tests/WrappedCOM/shell.js +377 -0
  684. data/vendor/tracemonkey/xpconnect/tests/idispatch/Tests/WrappedJS/General/XPCIDispatchTestWrappedJS.js +76 -0
  685. data/vendor/tracemonkey/xpconnect/tests/idispatch/Tests/WrappedJS/shell.js +377 -0
  686. data/vendor/tracemonkey/xpconnect/tests/idispatch/Tests/exectests.cmd +1 -0
  687. data/vendor/tracemonkey/xpconnect/tests/idispatch/Tests/jsDriver.pl +1288 -0
  688. data/vendor/tracemonkey/xpconnect/tests/idl/Makefile.in +61 -0
  689. data/vendor/tracemonkey/xpconnect/tests/idl/xpctest.idl +312 -0
  690. data/vendor/tracemonkey/xpconnect/tests/idl/xpctest2.idl +51 -0
  691. data/vendor/tracemonkey/xpconnect/tests/idl/xpctest_attributes.idl +67 -0
  692. data/vendor/tracemonkey/xpconnect/tests/idl/xpctest_calljs.idl +59 -0
  693. data/vendor/tracemonkey/xpconnect/tests/idl/xpctest_const.idl +61 -0
  694. data/vendor/tracemonkey/xpconnect/tests/idl/xpctest_domstring.idl +59 -0
  695. data/vendor/tracemonkey/xpconnect/tests/idl/xpctest_in.idl +88 -0
  696. data/vendor/tracemonkey/xpconnect/tests/idl/xpctest_inout.idl +86 -0
  697. data/vendor/tracemonkey/xpconnect/tests/idl/xpctest_multiple.idl +77 -0
  698. data/vendor/tracemonkey/xpconnect/tests/idl/xpctest_out.idl +142 -0
  699. data/vendor/tracemonkey/xpconnect/tests/js/checkid.js +82 -0
  700. data/vendor/tracemonkey/xpconnect/tests/js/evaluate.js +311 -0
  701. data/vendor/tracemonkey/xpconnect/tests/js/exceptions-2.js +153 -0
  702. data/vendor/tracemonkey/xpconnect/tests/js/exceptions-3.js +194 -0
  703. data/vendor/tracemonkey/xpconnect/tests/js/exceptions-4.js +297 -0
  704. data/vendor/tracemonkey/xpconnect/tests/js/exceptions-5.js +343 -0
  705. data/vendor/tracemonkey/xpconnect/tests/js/exceptions.js +230 -0
  706. data/vendor/tracemonkey/xpconnect/tests/js/javascript.js +96 -0
  707. data/vendor/tracemonkey/xpconnect/tests/js/multiple-2.js +151 -0
  708. data/vendor/tracemonkey/xpconnect/tests/js/multiple-3.js +148 -0
  709. data/vendor/tracemonkey/xpconnect/tests/js/multiple-4.js +152 -0
  710. data/vendor/tracemonkey/xpconnect/tests/js/multiple.js +137 -0
  711. data/vendor/tracemonkey/xpconnect/tests/js/notscriptable.js +104 -0
  712. data/vendor/tracemonkey/xpconnect/tests/js/old/simpletest.js +36 -0
  713. data/vendor/tracemonkey/xpconnect/tests/js/old/speed.js +60 -0
  714. data/vendor/tracemonkey/xpconnect/tests/js/old/testxpc.js +464 -0
  715. data/vendor/tracemonkey/xpconnect/tests/js/old/threads.js +74 -0
  716. data/vendor/tracemonkey/xpconnect/tests/js/old/try.js +27 -0
  717. data/vendor/tracemonkey/xpconnect/tests/js/old/xpctest_array.js +308 -0
  718. data/vendor/tracemonkey/xpconnect/tests/js/old/xpctest_callcontext.js +68 -0
  719. data/vendor/tracemonkey/xpconnect/tests/js/old/xpctest_echo.js +636 -0
  720. data/vendor/tracemonkey/xpconnect/tests/js/old/xpctest_enum_and_sort.js +28 -0
  721. data/vendor/tracemonkey/xpconnect/tests/js/old/xpctest_enum_constants.js +15 -0
  722. data/vendor/tracemonkey/xpconnect/tests/js/old/xpctest_enum_create.js +200 -0
  723. data/vendor/tracemonkey/xpconnect/tests/js/old/xpctest_exceptions.js +167 -0
  724. data/vendor/tracemonkey/xpconnect/tests/js/old/xpctest_ids.js +135 -0
  725. data/vendor/tracemonkey/xpconnect/tests/js/old/xpctest_observer.js +36 -0
  726. data/vendor/tracemonkey/xpconnect/tests/js/old/xpctest_overloaded.js +14 -0
  727. data/vendor/tracemonkey/xpconnect/tests/js/old/xpctest_primitives.js +141 -0
  728. data/vendor/tracemonkey/xpconnect/tests/js/old/xpctest_propertybag.js +36 -0
  729. data/vendor/tracemonkey/xpconnect/tests/js/old/xpctest_variant.js +339 -0
  730. data/vendor/tracemonkey/xpconnect/tests/js/old/xpctest_variant_array.js +30 -0
  731. data/vendor/tracemonkey/xpconnect/tests/js/readonlyattributes.js +74 -0
  732. data/vendor/tracemonkey/xpconnect/tests/js/readwriteattributes.js +101 -0
  733. data/vendor/tracemonkey/xpconnect/tests/js/scriptable.js +120 -0
  734. data/vendor/tracemonkey/xpconnect/tests/js/testin.js +203 -0
  735. data/vendor/tracemonkey/xpconnect/tests/js/xpcfun.js +234 -0
  736. data/vendor/tracemonkey/xpconnect/tests/js/xpctest_primitives.js +200 -0
  737. data/vendor/tracemonkey/xpconnect/tests/mochitest/Makefile.in +66 -0
  738. data/vendor/tracemonkey/xpconnect/tests/mochitest/bug500931_helper.html +7 -0
  739. data/vendor/tracemonkey/xpconnect/tests/mochitest/inner.html +7 -0
  740. data/vendor/tracemonkey/xpconnect/tests/mochitest/test_bug361111.xul +29 -0
  741. data/vendor/tracemonkey/xpconnect/tests/mochitest/test_bug384632.html +32 -0
  742. data/vendor/tracemonkey/xpconnect/tests/mochitest/test_bug390488.html +65 -0
  743. data/vendor/tracemonkey/xpconnect/tests/mochitest/test_bug393269.html +46 -0
  744. data/vendor/tracemonkey/xpconnect/tests/mochitest/test_bug396851.html +43 -0
  745. data/vendor/tracemonkey/xpconnect/tests/mochitest/test_bug428021.html +41 -0
  746. data/vendor/tracemonkey/xpconnect/tests/mochitest/test_bug446584.html +49 -0
  747. data/vendor/tracemonkey/xpconnect/tests/mochitest/test_bug448587.html +31 -0
  748. data/vendor/tracemonkey/xpconnect/tests/mochitest/test_bug462428.html +42 -0
  749. data/vendor/tracemonkey/xpconnect/tests/mochitest/test_bug478438.html +66 -0
  750. data/vendor/tracemonkey/xpconnect/tests/mochitest/test_bug484107.html +100 -0
  751. data/vendor/tracemonkey/xpconnect/tests/mochitest/test_bug484459.html +36 -0
  752. data/vendor/tracemonkey/xpconnect/tests/mochitest/test_bug500691.html +28 -0
  753. data/vendor/tracemonkey/xpconnect/tests/mochitest/test_wrappers.html +116 -0
  754. data/vendor/tracemonkey/xpconnect/tests/unit/bogus_element_type.jsm +1 -0
  755. data/vendor/tracemonkey/xpconnect/tests/unit/bogus_exports_type.jsm +1 -0
  756. data/vendor/tracemonkey/xpconnect/tests/unit/bug451678_subscript.js +2 -0
  757. data/vendor/tracemonkey/xpconnect/tests/unit/component_import.js +144 -0
  758. data/vendor/tracemonkey/xpconnect/tests/unit/recursive_importA.jsm +44 -0
  759. data/vendor/tracemonkey/xpconnect/tests/unit/recursive_importB.jsm +45 -0
  760. data/vendor/tracemonkey/xpconnect/tests/unit/syntax_error.jsm +1 -0
  761. data/vendor/tracemonkey/xpconnect/tests/unit/test_bogus_files.js +88 -0
  762. data/vendor/tracemonkey/xpconnect/tests/unit/test_bug408412.js +51 -0
  763. data/vendor/tracemonkey/xpconnect/tests/unit/test_bug451678.js +52 -0
  764. data/vendor/tracemonkey/xpconnect/tests/unit/test_bug_442086.js +68 -0
  765. data/vendor/tracemonkey/xpconnect/tests/unit/test_import.js +127 -0
  766. data/vendor/tracemonkey/xpconnect/tests/unit/test_js_weak_references.js +63 -0
  767. data/vendor/tracemonkey/xpconnect/tests/unit/test_recursive_import.js +62 -0
  768. data/vendor/tracemonkey/xpconnect/tools/Makefile.in +49 -0
  769. data/vendor/tracemonkey/xpconnect/tools/idl/Makefile.in +53 -0
  770. data/vendor/tracemonkey/xpconnect/tools/idl/nsIXPCToolsCompiler.idl +60 -0
  771. data/vendor/tracemonkey/xpconnect/tools/idl/nsIXPCToolsProfiler.idl +57 -0
  772. data/vendor/tracemonkey/xpconnect/tools/js/CompileJSFiles.js +28 -0
  773. data/vendor/tracemonkey/xpconnect/tools/js/ListJSFiles.js +18 -0
  774. data/vendor/tracemonkey/xpconnect/tools/src/Makefile.in +76 -0
  775. data/vendor/tracemonkey/xpconnect/tools/src/nsXPCToolsCompiler.cpp +161 -0
  776. data/vendor/tracemonkey/xpconnect/tools/src/nsXPCToolsModule.cpp +65 -0
  777. data/vendor/tracemonkey/xpconnect/tools/src/nsXPCToolsProfiler.cpp +370 -0
  778. data/vendor/tracemonkey/xpconnect/tools/src/xpctools_private.h +236 -0
  779. metadata +782 -107
  780. data/test/johnson/nodes/export_test.rb +0 -9
  781. data/test/johnson/nodes/import_test.rb +0 -13
  782. data/test/johnson/version_test.rb +0 -13
@@ -0,0 +1,9 @@
1
+ ; XPCIDispatchTest.def : Declares the module parameters.
2
+
3
+ LIBRARY "XPCIDispatchTest.DLL"
4
+
5
+ EXPORTS
6
+ DllCanUnloadNow @1 PRIVATE
7
+ DllGetClassObject @2 PRIVATE
8
+ DllRegisterServer @3 PRIVATE
9
+ DllUnregisterServer @4 PRIVATE
@@ -0,0 +1,318 @@
1
+ # Microsoft Developer Studio Project File - Name="XPCIDispatchTest" - Package Owner=<4>
2
+ # Microsoft Developer Studio Generated Build File, Format Version 6.00
3
+ # ** DO NOT EDIT **
4
+
5
+ # TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
6
+
7
+ CFG=XPCIDispatchTest - Win32 Debug
8
+ !MESSAGE This is not a valid makefile. To build this project using NMAKE,
9
+ !MESSAGE use the Export Makefile command and run
10
+ !MESSAGE
11
+ !MESSAGE NMAKE /f "XPCIDispatchTest.mak".
12
+ !MESSAGE
13
+ !MESSAGE You can specify a configuration when running NMAKE
14
+ !MESSAGE by defining the macro CFG on the command line. For example:
15
+ !MESSAGE
16
+ !MESSAGE NMAKE /f "XPCIDispatchTest.mak" CFG="XPCIDispatchTest - Win32 Debug"
17
+ !MESSAGE
18
+ !MESSAGE Possible choices for configuration are:
19
+ !MESSAGE
20
+ !MESSAGE "XPCIDispatchTest - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
21
+ !MESSAGE "XPCIDispatchTest - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
22
+ !MESSAGE
23
+
24
+ # Begin Project
25
+ # PROP AllowPerConfigDependencies 0
26
+ # PROP Scc_ProjName ""
27
+ # PROP Scc_LocalPath ""
28
+ CPP=cl.exe
29
+ MTL=midl.exe
30
+ RSC=rc.exe
31
+
32
+ !IF "$(CFG)" == "XPCIDispatchTest - Win32 Debug"
33
+
34
+ # PROP BASE Use_MFC 0
35
+ # PROP BASE Use_Debug_Libraries 1
36
+ # PROP BASE Output_Dir "Debug"
37
+ # PROP BASE Intermediate_Dir "Debug"
38
+ # PROP BASE Target_Dir ""
39
+ # PROP Use_MFC 0
40
+ # PROP Use_Debug_Libraries 1
41
+ # PROP Output_Dir "Debug"
42
+ # PROP Intermediate_Dir "Debug"
43
+ # PROP Target_Dir ""
44
+ # ADD BASE CPP /nologo /MTd /W3 /Gm /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /Yu"stdafx.h" /FD /GZ /c
45
+ # ADD CPP /nologo /MTd /W4 /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /Yu"stdafx.h" /FD /GZ /c
46
+ # ADD BASE RSC /l 0x409 /d "_DEBUG"
47
+ # ADD RSC /l 0x409 /d "_DEBUG"
48
+ BSC32=bscmake.exe
49
+ # ADD BASE BSC32 /nologo
50
+ # ADD BSC32 /nologo
51
+ LINK32=link.exe
52
+ # ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /debug /machine:I386 /pdbtype:sept
53
+ # ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /debug /machine:I386 /pdbtype:sept
54
+ # Begin Custom Build - Performing registration
55
+ OutDir=.\Debug
56
+ TargetPath=.\Debug\XPCIDispatchTest.dll
57
+ InputPath=.\Debug\XPCIDispatchTest.dll
58
+ SOURCE="$(InputPath)"
59
+
60
+ "$(OutDir)\regsvr32.trg" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
61
+ regsvr32 /s /c "$(TargetPath)"
62
+ echo regsvr32 exec. time > "$(OutDir)\regsvr32.trg"
63
+
64
+ # End Custom Build
65
+
66
+ !ELSEIF "$(CFG)" == "XPCIDispatchTest - Win32 Release"
67
+
68
+ # PROP BASE Use_MFC 0
69
+ # PROP BASE Use_Debug_Libraries 0
70
+ # PROP BASE Output_Dir "XPCIDispatchTest___Win32_Release"
71
+ # PROP BASE Intermediate_Dir "XPCIDispatchTest___Win32_Release"
72
+ # PROP BASE Target_Dir ""
73
+ # PROP Use_MFC 0
74
+ # PROP Use_Debug_Libraries 0
75
+ # PROP Output_Dir "Release"
76
+ # PROP Intermediate_Dir "Release"
77
+ # PROP Ignore_Export_Lib 0
78
+ # PROP Target_Dir ""
79
+ # ADD BASE CPP /nologo /MT /W3 /O1 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "_ATL_DLL" /D "_ATL_MIN_CRT" /Yu"stdafx.h" /FD /c
80
+ # ADD CPP /nologo /MT /W3 /GX /O1 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "_ATL_DLL" /D "_ATL_MIN_CRT" /Yu"stdafx.h" /FD /c
81
+ # ADD BASE RSC /l 0x409 /d "NDEBUG"
82
+ # ADD RSC /l 0x409 /d "NDEBUG"
83
+ BSC32=bscmake.exe
84
+ # ADD BASE BSC32 /nologo
85
+ # ADD BSC32 /nologo
86
+ LINK32=link.exe
87
+ # ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /machine:I386
88
+ # ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /machine:I386
89
+ # Begin Custom Build - Performing registration
90
+ OutDir=.\Release
91
+ TargetPath=.\Release\XPCIDispatchTest.dll
92
+ InputPath=.\Release\XPCIDispatchTest.dll
93
+ SOURCE="$(InputPath)"
94
+
95
+ "$(OutDir)\regsvr32.trg" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
96
+ regsvr32 /s /c "$(TargetPath)"
97
+ echo regsvr32 exec. time > "$(OutDir)\regsvr32.trg"
98
+
99
+ # End Custom Build
100
+
101
+ !ENDIF
102
+
103
+ # Begin Target
104
+
105
+ # Name "XPCIDispatchTest - Win32 Debug"
106
+ # Name "XPCIDispatchTest - Win32 Release"
107
+ # Begin Group "Source Files"
108
+
109
+ # PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
110
+ # Begin Source File
111
+
112
+ SOURCE=.\nsXPCDispSimple.cpp
113
+ # End Source File
114
+ # Begin Source File
115
+
116
+ SOURCE=.\nsXPCDispTestArrays.cpp
117
+ # End Source File
118
+ # Begin Source File
119
+
120
+ SOURCE=.\nsXPCDispTestMethods.cpp
121
+ # End Source File
122
+ # Begin Source File
123
+
124
+ SOURCE=.\nsXPCDispTestNoIDispatch.cpp
125
+ # End Source File
126
+ # Begin Source File
127
+
128
+ SOURCE=.\nsXPCDispTestProperties.cpp
129
+ # End Source File
130
+ # Begin Source File
131
+
132
+ SOURCE=.\nsXPCDispTestScriptOff.cpp
133
+ # End Source File
134
+ # Begin Source File
135
+
136
+ SOURCE=.\nsXPCDispTestScriptOn.cpp
137
+ # End Source File
138
+ # Begin Source File
139
+
140
+ SOURCE=.\nsXPCDispTestWrappedJS.cpp
141
+ # End Source File
142
+ # Begin Source File
143
+
144
+ SOURCE=.\StdAfx.cpp
145
+ # ADD CPP /Yc"stdafx.h"
146
+ # End Source File
147
+ # Begin Source File
148
+
149
+ SOURCE=.\XPCIDispatchTest.cpp
150
+ # End Source File
151
+ # Begin Source File
152
+
153
+ SOURCE=.\XPCIDispatchTest.def
154
+ # End Source File
155
+ # Begin Source File
156
+
157
+ SOURCE=.\XPCIDispatchTest.idl
158
+ # ADD MTL /tlb ".\XPCIDispatchTest.tlb" /h "XPCIDispatchTest.h" /iid "XPCIDispatchTest_i.c" /Oicf
159
+ # End Source File
160
+ # Begin Source File
161
+
162
+ SOURCE=.\XPCIDispatchTest.rc
163
+ # End Source File
164
+ # End Group
165
+ # Begin Group "Header Files"
166
+
167
+ # PROP Default_Filter "h;hpp;hxx;hm;inl"
168
+ # Begin Source File
169
+
170
+ SOURCE=.\nsXPCDispSimple.h
171
+ # End Source File
172
+ # Begin Source File
173
+
174
+ SOURCE=.\nsXPCDispTestArrays.h
175
+ # End Source File
176
+ # Begin Source File
177
+
178
+ SOURCE=.\nsXPCDispTestMethods.h
179
+ # End Source File
180
+ # Begin Source File
181
+
182
+ SOURCE=.\nsXPCDispTestNoIDispatch.h
183
+ # End Source File
184
+ # Begin Source File
185
+
186
+ SOURCE=.\nsXPCDispTestProperties.h
187
+ # End Source File
188
+ # Begin Source File
189
+
190
+ SOURCE=.\nsXPCDispTestScriptOff.h
191
+ # End Source File
192
+ # Begin Source File
193
+
194
+ SOURCE=.\nsXPCDispTestScriptOn.h
195
+ # End Source File
196
+ # Begin Source File
197
+
198
+ SOURCE=.\nsXPCDispTestWrappedJS.h
199
+ # End Source File
200
+ # Begin Source File
201
+
202
+ SOURCE=.\Resource.h
203
+ # End Source File
204
+ # Begin Source File
205
+
206
+ SOURCE=.\StdAfx.h
207
+ # End Source File
208
+ # Begin Source File
209
+
210
+ SOURCE=.\XPCDispUtilities.h
211
+ # End Source File
212
+ # End Group
213
+ # Begin Group "Resource Files"
214
+
215
+ # PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
216
+ # Begin Source File
217
+
218
+ SOURCE=.\nsXPCDispSimple.rgs
219
+ # End Source File
220
+ # Begin Source File
221
+
222
+ SOURCE=.\nsXPCDispTestArrays.rgs
223
+ # End Source File
224
+ # Begin Source File
225
+
226
+ SOURCE=.\nsXPCDispTestMethods.rgs
227
+ # End Source File
228
+ # Begin Source File
229
+
230
+ SOURCE=.\nsXPCDispTestNoIDispatch.rgs
231
+ # End Source File
232
+ # Begin Source File
233
+
234
+ SOURCE=.\nsXPCDispTestNoScript.rgs
235
+ # End Source File
236
+ # Begin Source File
237
+
238
+ SOURCE=.\nsXPCDispTestProperties.rgs
239
+ # End Source File
240
+ # Begin Source File
241
+
242
+ SOURCE=.\nsXPCDispTestScriptOff.rgs
243
+ # End Source File
244
+ # Begin Source File
245
+
246
+ SOURCE=.\nsXPCDispTestScriptOn.rgs
247
+ # End Source File
248
+ # Begin Source File
249
+
250
+ SOURCE=.\nsXPCDispTestWrappedJS.rgs
251
+ # End Source File
252
+ # End Group
253
+ # Begin Group "JS Files"
254
+
255
+ # PROP Default_Filter "js"
256
+ # Begin Group "WrappedCOM"
257
+
258
+ # PROP Default_Filter ""
259
+ # Begin Group "Arrays"
260
+
261
+ # PROP Default_Filter ""
262
+ # Begin Source File
263
+
264
+ SOURCE=..\Tests\WrappedCOM\Arrays\XPCIDispatchArrayTests.js
265
+ # End Source File
266
+ # End Group
267
+ # Begin Group "Attributes"
268
+
269
+ # PROP Default_Filter ""
270
+ # Begin Source File
271
+
272
+ SOURCE=..\Tests\WrappedCOM\Attributes\XPCIDispatchAttributeTests.js
273
+ # End Source File
274
+ # End Group
275
+ # Begin Group "General"
276
+
277
+ # PROP Default_Filter ""
278
+ # Begin Source File
279
+
280
+ SOURCE=..\Tests\WrappedCOM\General\XPCIDispatchInstantiations.js
281
+ # End Source File
282
+ # Begin Source File
283
+
284
+ SOURCE=..\Tests\WrappedCOM\General\XPCStress.js
285
+ # End Source File
286
+ # End Group
287
+ # Begin Group "Methods"
288
+
289
+ # PROP Default_Filter ""
290
+ # Begin Source File
291
+
292
+ SOURCE=..\Tests\WrappedCOM\Methods\XPCIDispatchMethodTests.js
293
+ # End Source File
294
+ # End Group
295
+ # Begin Source File
296
+
297
+ SOURCE=..\Tests\WrappedCOM\shell.js
298
+ # End Source File
299
+ # End Group
300
+ # Begin Group "WrappedJS"
301
+
302
+ # PROP Default_Filter ""
303
+ # Begin Group "General (WJS)"
304
+
305
+ # PROP Default_Filter ""
306
+ # Begin Source File
307
+
308
+ SOURCE=..\Tests\WrappedJS\General\XPCIDispatchTestWrappedJS.js
309
+ # End Source File
310
+ # End Group
311
+ # Begin Source File
312
+
313
+ SOURCE=..\Tests\WrappedJS\shell.js
314
+ # End Source File
315
+ # End Group
316
+ # End Group
317
+ # End Target
318
+ # End Project
@@ -0,0 +1,29 @@
1
+ Microsoft Developer Studio Workspace File, Format Version 6.00
2
+ # WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
3
+
4
+ ###############################################################################
5
+
6
+ Project: "XPCIDispatchTest"=.\XPCIDispatchTest.dsp - Package Owner=<4>
7
+
8
+ Package=<5>
9
+ {{{
10
+ }}}
11
+
12
+ Package=<4>
13
+ {{{
14
+ }}}
15
+
16
+ ###############################################################################
17
+
18
+ Global:
19
+
20
+ Package=<5>
21
+ {{{
22
+ }}}
23
+
24
+ Package=<3>
25
+ {{{
26
+ }}}
27
+
28
+ ###############################################################################
29
+
@@ -0,0 +1,454 @@
1
+ /* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
2
+ * ***** BEGIN LICENSE BLOCK *****
3
+ * Version: MPL 1.1/GPL 2.0/LGPL 2.1
4
+ *
5
+ * The contents of this file are subject to the Mozilla Public License Version
6
+ * 1.1 (the "License"); you may not use this file except in compliance with
7
+ * the License. You may obtain a copy of the License at
8
+ * http://www.mozilla.org/MPL/
9
+ *
10
+ * Software distributed under the License is distributed on an "AS IS" basis,
11
+ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
12
+ * for the specific language governing rights and limitations under the
13
+ * License.
14
+ *
15
+ * The Original Code is the IDispatch implementation for XPConnect.
16
+ *
17
+ * The Initial Developer of the Original Code is
18
+ * David Bradley.
19
+ * Portions created by the Initial Developer are Copyright (C) 2002
20
+ * the Initial Developer. All Rights Reserved.
21
+ *
22
+ * Contributor(s):
23
+ *
24
+ * Alternatively, the contents of this file may be used under the terms of
25
+ * either the GNU General Public License Version 2 or later (the "GPL"), or
26
+ * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
27
+ * in which case the provisions of the GPL or the LGPL are applicable instead
28
+ * of those above. If you wish to allow use of your version of this file only
29
+ * under the terms of either the GPL or the LGPL, and not to allow others to
30
+ * use your version of this file under the terms of the MPL, indicate your
31
+ * decision by deleting the provisions above and replace them with the notice
32
+ * and other provisions required by the GPL or the LGPL. If you do not delete
33
+ * the provisions above, a recipient may use your version of this file under
34
+ * the terms of any one of the MPL, the GPL or the LGPL.
35
+ *
36
+ * ***** END LICENSE BLOCK ***** */
37
+
38
+ // XPCIDispatchTest.idl : IDL source for XPCIDispatchTest.dll
39
+ //
40
+
41
+ // This file will be processed by the MIDL tool to
42
+ // produce the type library (XPCIDispatchTest.tlb) and marshalling code.
43
+
44
+ import "oaidl.idl";
45
+ import "ocidl.idl";
46
+ import "objsafe.idl";
47
+
48
+ [
49
+ uuid(83A51226-F49D-488A-8F78-75BB2F927F4C),
50
+ version(1.0),
51
+ helpstring("XPCIDispatchTest 1.0 Type Library")
52
+ ]
53
+ library IDispatchTestLib
54
+ {
55
+ importlib("stdole32.tlb");
56
+ importlib("stdole2.tlb");
57
+
58
+ [
59
+ object,
60
+ uuid(0de5dbae-1d78-45cb-91a2-24516fef2837),
61
+ dual,
62
+ helpstring("nsIXPCDispSimple interface"),
63
+ pointer_default(unique)
64
+ ]
65
+ interface nsIXPCDispSimple : IDispatch
66
+ {
67
+ [id(1), helpstring("Simple method returning the name of the class")]
68
+ HRESULT ClassName([out]BSTR * name);
69
+ [propget, id(2), helpstring("Simple number property")]
70
+ HRESULT Number([out, retval]long * result);
71
+ [propput, id(2), helpstring("Simple number property")]
72
+ HRESULT Number([in]long result);
73
+ }
74
+ [
75
+ uuid(9F39237C-D179-4260-8EF3-4B6D4D7D5570),
76
+ helpstring("nsXPCDispSimple Class")
77
+ ]
78
+ coclass nsXPCDispSimple
79
+ {
80
+ [default] interface nsIXPCDispSimple;
81
+ };
82
+ [
83
+ object,
84
+ uuid(47bf6c99-a30c-4105-8af6-de76dcfdd6dd),
85
+ dual,
86
+ helpstring("nsIXPCDispTestMethods interface"),
87
+ pointer_default(unique)
88
+ ]
89
+ interface nsIXPCDispTestMethods : IDispatch
90
+ {
91
+ /* Return values test */
92
+ [id(1), helpstring("method with no parameters")]
93
+ HRESULT NoParameters();
94
+ [id(2), helpstring("method that returns a string")]
95
+ HRESULT ReturnBSTR([out, retval]BSTR * result);
96
+ [id(3), helpstring("method that returns a 32 bit signed integer")]
97
+ HRESULT ReturnI4([out, retval]int * result);
98
+ [id(4), helpstring("method that returns an 8 bit unsigned integer")]
99
+ HRESULT ReturnUI1([out, retval]unsigned char * result);
100
+ [id(5), helpstring("method that returns a 16 bit signed integer")]
101
+ HRESULT ReturnI2([out, retval]short * result);
102
+ [id(6), helpstring("method that returns a 32 bit floating point number")]
103
+ HRESULT ReturnR4([out, retval]float * result);
104
+ [id(7), helpstring("method that returns a 64 bit floating point number")]
105
+ HRESULT ReturnR8([out, retval]double * result);
106
+ [id(8), helpstring("method that returns a boolean")]
107
+ HRESULT ReturnBool([out, retval]VARIANT_BOOL * result);
108
+ [id(9), helpstring("method that returns an IDispatch pointer")]
109
+ HRESULT ReturnIDispatch([out, retval]IDispatch ** result);
110
+ [id(10), helpstring("method that returns an error")]
111
+ HRESULT ReturnError([out, retval]SCODE * result);
112
+ [id(12), helpstring("method that returns a date")]
113
+ HRESULT ReturnDate([out, retval]DATE * result);
114
+ [id(13), helpstring("method that returns an IUnknown")]
115
+ HRESULT ReturnIUnknown([out, retval]IUnknown ** result);
116
+ [id(14), helpstring("method that returns a signed 8 bit integer")]
117
+ HRESULT ReturnI1([out, retval]char * result);
118
+ [id(15), helpstring("method that returns an unsigned 16 bit integer")]
119
+ HRESULT ReturnUI2([out, retval]unsigned short * result);
120
+ [id(16), helpstring("method that returns an unsigned 32 bit integer")]
121
+ HRESULT ReturnUI4([out, retval]unsigned long * result);
122
+ [id(17), helpstring("method that returns an integer")]
123
+ HRESULT ReturnInt([out, retval]int * result);
124
+ [id(18), helpstring("method that returns an unsigned integer")]
125
+ HRESULT ReturnUInt([out, retval]unsigned int * result);
126
+
127
+ /* Single input parameter tests */
128
+ [id(19), helpstring("method that takes a string")]
129
+ HRESULT TakesBSTR([in]BSTR result);
130
+ [id(20), helpstring("method that takes a 32 bit signed integer")]
131
+ HRESULT TakesI4([in]int result);
132
+ [id(21), helpstring("method that takes an 8 bit unsigned integer")]
133
+ HRESULT TakesUI1([in]unsigned char result);
134
+ [id(22), helpstring("method that takes a 16 bit signed integer")]
135
+ HRESULT TakesI2([in]short result);
136
+ [id(23), helpstring("method that takes a 32 bit floating point number")]
137
+ HRESULT TakesR4([in]float result);
138
+ [id(24), helpstring("method that takes a 64 bit floating point number")]
139
+ HRESULT TakesR8([in]double result);
140
+ [id(25), helpstring("method that takes a boolean")]
141
+ HRESULT TakesBool([in]VARIANT_BOOL result);
142
+ [id(26), helpstring("method that takes an IDispatch pointer")]
143
+ HRESULT TakesIDispatch([in]IDispatch * result);
144
+ [id(27), helpstring("method that takes an error")]
145
+ HRESULT TakesError([in]SCODE result);
146
+ [id(29), helpstring("method that takes a date")]
147
+ HRESULT TakesDate([in]DATE result);
148
+ [id(30), helpstring("method that takes an IUnknown")]
149
+ HRESULT TakesIUnknown([in]IUnknown * result);
150
+ [id(31), helpstring("method that takes a signed 8 bit integer")]
151
+ HRESULT TakesI1([in]char result);
152
+ [id(32), helpstring("method that takes an unsigned 16 bit integer")]
153
+ HRESULT TakesUI2([in]unsigned short result);
154
+ [id(33), helpstring("method that takes an unsigned 32 bit integer")]
155
+ HRESULT TakesUI4([in]unsigned long result);
156
+ [id(34), helpstring("method that takes an integer")]
157
+ HRESULT TakesInt([in]int result);
158
+ [id(35), helpstring("method that takes an unsigned integer")]
159
+ HRESULT TakesUInt([in]unsigned int result);
160
+
161
+ /* output parameter tests */
162
+ [id(36), helpstring("method that outputs a string")]
163
+ HRESULT OutputsBSTR([out]BSTR * result);
164
+ [id(37), helpstring("method that outputs a 32 bit signed integer")]
165
+ HRESULT OutputsI4([out]long * result);
166
+ [id(38), helpstring("method that outputs an 8 bit unsigned integer")]
167
+ HRESULT OutputsUI1([out]unsigned char * result);
168
+ [id(39), helpstring("method that outputs a 16 bit signed integer")]
169
+ HRESULT OutputsI2([out]short * result);
170
+ [id(40), helpstring("method that outputs a 32 bit floating point number")]
171
+ HRESULT OutputsR4([out]float * result);
172
+ [id(41), helpstring("method that outputs a 64 bit floating point number")]
173
+ HRESULT OutputsR8([out]double * result);
174
+ [id(42), helpstring("method that outputs a boolean")]
175
+ HRESULT OutputsBool([out]VARIANT_BOOL * result);
176
+ [id(43), helpstring("method that outputs an IDispatch pointer")]
177
+ HRESULT OutputsIDispatch([out]IDispatch ** result);
178
+ [id(44), helpstring("method that outputs an error")]
179
+ HRESULT OutputsError([out]SCODE * result);
180
+ [id(46), helpstring("method that outputs a date")]
181
+ HRESULT OutputsDate([out]DATE * result);
182
+ [id(47), helpstring("method that outputs an IUnknown")]
183
+ HRESULT OutputsIUnknown([out]IUnknown ** result);
184
+ [id(48), helpstring("method that outputs a signed 8 bit integer")]
185
+ HRESULT OutputsI1([out]char * result);
186
+ [id(49), helpstring("method that outputs an unsigned 16 bit integer")]
187
+ HRESULT OutputsUI2([out]unsigned short * result);
188
+ [id(50), helpstring("method that outputs an unsigned 32 bit integer")]
189
+ HRESULT OutputsUI4([out]unsigned long * result);
190
+
191
+ /* in/outparameter tests */
192
+ [id(53), helpstring("method that in/outs a string")]
193
+ HRESULT InOutsBSTR([in, out]BSTR * result);
194
+ [id(54), helpstring("method that in/outs a 32 bit signed integer")]
195
+ HRESULT InOutsI4([in, out]long * result);
196
+ [id(55), helpstring("method that in/outs an 8 bit unsigned integer")]
197
+ HRESULT InOutsUI1([in, out]unsigned char * result);
198
+ [id(56), helpstring("method that in/outs a 16 bit signed integer")]
199
+ HRESULT InOutsI2([in, out]short * result);
200
+ [id(57), helpstring("method that in/outs a 32 bit floating point number")]
201
+ HRESULT InOutsR4([in, out]float * result);
202
+ [id(58), helpstring("method that in/outs a 64 bit floating point number")]
203
+ HRESULT InOutsR8([in, out]double * result);
204
+ [id(59), helpstring("method that in/outs a boolean")]
205
+ HRESULT InOutsBool([in, out]VARIANT_BOOL * result);
206
+ [id(60), helpstring("method that in/outs an IDispatch pointer")]
207
+ HRESULT InOutsIDispatch([in, out]IDispatch ** result);
208
+ [id(61), helpstring("method that in/outs an error")]
209
+ HRESULT InOutsError([in, out]SCODE * result);
210
+ [id(63), helpstring("method that in/outs a date")]
211
+ HRESULT InOutsDate([in, out]DATE * result);
212
+ [id(64), helpstring("method that in/outs an IUnknown")]
213
+ HRESULT InOutsIUnknown([in, out]IUnknown ** result);
214
+ [id(65), helpstring("method that in/outs a signed 8 bit integer")]
215
+ HRESULT InOutsI1([in, out]char * result);
216
+ [id(66), helpstring("method that in/outs an unsigned 16 bit integer")]
217
+ HRESULT InOutsUI2([in, out]unsigned short * result);
218
+ [id(67), helpstring("method that in/outs an unsigned 32 bit integer")]
219
+ HRESULT InOutsUI4([in, out]unsigned long * result);
220
+
221
+ /* input and return tests*/
222
+ [id(70), helpstring("method that takes an long and returns it")]
223
+ HRESULT OneParameterWithReturn([in]long input, [out,retval]long* result);
224
+ [id(71), helpstring("method that takes a string and returns it")]
225
+ HRESULT StringInputAndReturn([in]BSTR str, [out, retval]BSTR* result);
226
+ [id(72), helpstring("method that takes an IDispatch and returns it")]
227
+ HRESULT IDispatchInputAndReturn([in]IDispatch* input, [out,retval]IDispatch** result);
228
+
229
+ /* Multiple parameters */
230
+ [id(73), helpstring("method that takes two parameters")]
231
+ HRESULT TwoParameters([in]long one, [in]long two);
232
+ [id(74), helpstring("method that takes 12 input parameters")]
233
+ HRESULT TwelveInParameters([in]long one, [in]long two, [in]long three,
234
+ [in]long four, [in]long five, [in]long six,
235
+ [in]long seven, [in]long eight,
236
+ [in]long nine, [in]long ten,
237
+ [in]long eleven, [in]long twelve);
238
+ [id(75), helpstring("method that takes 12 out parameters")]
239
+ HRESULT TwelveOutParameters([out]long *one, [out]long *two,
240
+ [out]long *three, [out]long *four,
241
+ [out]long *five, [out]long *six,
242
+ [out]long *seven, [out]long *eight,
243
+ [out]long *nine, [out]long *ten,
244
+ [out]long *eleven, [out]long *twelve);
245
+ [id(76), helpstring("method that takes 12 input string parameters")]
246
+ HRESULT TwelveStrings([in]BSTR one, [in]BSTR two, [in]BSTR three,
247
+ [in]BSTR four, [in]BSTR five, [in]BSTR six,
248
+ [in]BSTR seven, [in]BSTR eight, [in]BSTR nine,
249
+ [in]BSTR ten, [in]BSTR eleven, [in]BSTR twelve);
250
+ [id(77), helpstring("method that takes 12 input string parameters")]
251
+ HRESULT TwelveOutStrings([out]BSTR* one, [out]BSTR* two,
252
+ [out]BSTR* three, [out]BSTR* four,
253
+ [out]BSTR* five, [out]BSTR* six,
254
+ [out]BSTR* seven, [out]BSTR* eight,
255
+ [out]BSTR* nine, [out]BSTR* ten,
256
+ [out]BSTR* eleven, [out]BSTR* twelve);
257
+ [id(78), helpstring("method that takes 12 input string parameters")]
258
+ HRESULT TwelveIDispatch([in]IDispatch* one, [in]IDispatch* two,
259
+ [in]IDispatch* three, [in]IDispatch* four,
260
+ [in]IDispatch* five, [in]IDispatch* six,
261
+ [in]IDispatch* seven, [in]IDispatch* eight,
262
+ [in]IDispatch* nine, [in]IDispatch* ten,
263
+ [in]IDispatch* eleven,
264
+ [in]IDispatch* twelve);
265
+ [id(79), helpstring("method that takes 12 input string parameters")]
266
+ HRESULT TwelveOutIDispatch([out]IDispatch** one,
267
+ [out]IDispatch** two,
268
+ [out]IDispatch** three,
269
+ [out]IDispatch** four,
270
+ [out]IDispatch** five,
271
+ [out]IDispatch** six,
272
+ [out]IDispatch** seven,
273
+ [out]IDispatch** eight,
274
+ [out]IDispatch** nine,
275
+ [out]IDispatch** ten,
276
+ [out]IDispatch** eleven,
277
+ [out]IDispatch** twelve);
278
+ [id(80), helpstring("method that generates an error")]
279
+ HRESULT CreateError();
280
+ }
281
+ [
282
+ uuid(745D1149-9F46-418C-B176-71EAA98974BA),
283
+ helpstring("nsXPCDispTestMethods Class")
284
+ ]
285
+ coclass nsXPCDispTestMethods
286
+ {
287
+ [default] interface nsIXPCDispTestMethods;
288
+ };
289
+ [
290
+ object,
291
+ uuid(f876c083-ae00-4b78-93b8-8305980f0864),
292
+ dual,
293
+ helpstring("nsIXPCDispTestArrays interface"),
294
+ pointer_default(unique)
295
+ ]
296
+ interface nsIXPCDispTestArrays : IDispatch
297
+ {
298
+ [id(1), helpstring("returns a SAFEARRAY")]
299
+ HRESULT ReturnSafeArray([out, retval]SAFEARRAY(VARIANT)* result);
300
+ [id(2), helpstring("returns a SAFEARRAY")]
301
+ HRESULT ReturnSafeArrayBSTR([out, retval]SAFEARRAY(VARIANT)* result);
302
+ [id(3), helpstring("returns a SAFEARRAY")]
303
+ HRESULT ReturnSafeArrayIDispatch([out, retval]SAFEARRAY(VARIANT)* result);
304
+ [id(4), helpstring("method that takes a SAFEARRAY")]
305
+ HRESULT TakesSafeArray([in]SAFEARRAY(VARIANT) array);
306
+ [id(5), helpstring("method that takes a SAFEARRAY")]
307
+ HRESULT TakesSafeArrayBSTR([in]SAFEARRAY(VARIANT) array);
308
+ [id(6), helpstring("method that takes a SAFEARRAY")]
309
+ HRESULT TakesSafeArrayIDispatch([in]SAFEARRAY(VARIANT) array);
310
+ [id(7), helpstring("method that takes a SAFEARRAY")]
311
+ HRESULT InOutSafeArray([in, out]SAFEARRAY(VARIANT) * array);
312
+ [id(8), helpstring("method that takes a SAFEARRAY")]
313
+ HRESULT InOutSafeArrayBSTR([in, out]SAFEARRAY(VARIANT) * array);
314
+ [id(9), helpstring("method that takes a SAFEARRAY")]
315
+ HRESULT InOutSafeArrayIDispatch([in, out]SAFEARRAY(VARIANT) * array);
316
+ }
317
+ [
318
+ uuid(AB085C43-C619-48C8-B68C-C495BDE12DFB),
319
+ helpstring("nsXPCDispTestArrays Class")
320
+ ]
321
+ coclass nsXPCDispTestArrays
322
+ {
323
+ [default] interface nsIXPCDispTestArrays;
324
+ };
325
+ [
326
+ object,
327
+ uuid(9782107f-14cc-40b2-b0cd-988d81a46e9e),
328
+ dual,
329
+ helpstring("nsIXPCDispTestNoIDispatch interface"),
330
+ pointer_default(unique)
331
+ ]
332
+ interface nsIXPCDispTestNoIDispatch : IUnknown
333
+ {
334
+ }
335
+ [
336
+ uuid(7414404F-A4CC-4E3C-9B32-BB20CB22F541),
337
+ helpstring("nsXPCDispTestNoIDispatch Class")
338
+ ]
339
+ coclass nsXPCDispTestNoIDispatch
340
+ {
341
+ [default] interface nsIXPCDispTestNoIDispatch;
342
+ };
343
+ [
344
+ object,
345
+ uuid(7830CACE-5019-489D-8B69-029E70CF39B7),
346
+ dual,
347
+ helpstring("nsIXPCDispTestProperties Interface"),
348
+ pointer_default(unique)
349
+ ]
350
+ interface nsIXPCDispTestProperties : IDispatch
351
+ {
352
+ [propget, id(1), helpstring("property Short")] HRESULT Short([out, retval] short *pVal);
353
+ [propput, id(1), helpstring("property Short")] HRESULT Short([in] short newVal);
354
+ [propget, id(2), helpstring("property Long")] HRESULT Long([out, retval] long *pVal);
355
+ [propput, id(2), helpstring("property Long")] HRESULT Long([in] long newVal);
356
+ [propget, id(3), helpstring("property Float")] HRESULT Float([out, retval] float *pVal);
357
+ [propput, id(3), helpstring("property Float")] HRESULT Float([in] float newVal);
358
+ [propget, id(4), helpstring("property Double")] HRESULT Double([out, retval] double *pVal);
359
+ [propput, id(4), helpstring("property Double")] HRESULT Double([in] double newVal);
360
+ [propget, id(5), helpstring("property Currency")] HRESULT Currency([out, retval] CURRENCY *pVal);
361
+ [propput, id(5), helpstring("property Currency")] HRESULT Currency([in] CURRENCY newVal);
362
+ [propget, id(6), helpstring("property Date")] HRESULT Date([out, retval] DATE *pVal);
363
+ [propput, id(6), helpstring("property Date")] HRESULT Date([in] DATE newVal);
364
+ [propget, id(7), helpstring("property String")] HRESULT String([out, retval] BSTR *pVal);
365
+ [propput, id(7), helpstring("property String")] HRESULT String([in] BSTR newVal);
366
+ [propget, id(8), helpstring("property DispatchPtr")] HRESULT DispatchPtr([out, retval] IDispatch* *pVal);
367
+ [propput, id(8), helpstring("property DispatchPtr")] HRESULT DispatchPtr([in] IDispatch* newVal);
368
+ [propget, id(9), helpstring("property SCode")] HRESULT SCode([out, retval] SCODE *pVal);
369
+ [propput, id(9), helpstring("property SCode")] HRESULT SCode([in] SCODE newVal);
370
+ [propget, id(10), helpstring("property Boolean")] HRESULT Boolean([out, retval] BOOL *pVal);
371
+ [propput, id(10), helpstring("property Boolean")] HRESULT Boolean([in] BOOL newVal);
372
+ [propget, id(11), helpstring("property Variant")] HRESULT Variant([out, retval] VARIANT *pVal);
373
+ [propput, id(11), helpstring("property Variant")] HRESULT Variant([in] VARIANT newVal);
374
+ [propget, id(12), helpstring("property COMPtr")] HRESULT COMPtr([out, retval] IUnknown* *pVal);
375
+ [propput, id(12), helpstring("property COMPtr")] HRESULT COMPtr([in] IUnknown* newVal);
376
+ [propget, id(13), helpstring("property Char")] HRESULT Char([out, retval] unsigned char *pVal);
377
+ [propput, id(13), helpstring("property Char")] HRESULT Char([in] unsigned char newVal);
378
+ [propget, id(14), helpstring("property ParameterizedProperty")] HRESULT ParameterizedProperty([in]long aIndex, [out, retval] long *pVal);
379
+ [propput, id(14), helpstring("property ParameterizedProperty")] HRESULT ParameterizedProperty([in]long aIndex, [in] long newVal);
380
+ [propget, id(15), helpstring("property ParameterizedPropertyCount")] HRESULT ParameterizedPropertyCount([out, retval] long *pVal);
381
+ };
382
+
383
+ [
384
+ object,
385
+ uuid(0797788A-CB08-4995-BD45-7BF8C468DE21),
386
+ dual,
387
+ helpstring("nsIXPCDispTestScriptOn Interface"),
388
+ pointer_default(unique)
389
+ ]
390
+ interface nsIXPCDispTestScriptOn : IDispatch
391
+ {
392
+ };
393
+
394
+ [
395
+ uuid(2A06373F-3E61-4882-A3D7-A104F70B09ED),
396
+ helpstring("nsXPCDispTestScriptOn Class")
397
+ ]
398
+ coclass nsXPCDispTestScriptOn
399
+ {
400
+ [default] interface nsIXPCDispTestScriptOn;
401
+ };
402
+
403
+ [
404
+ object,
405
+ uuid(EE6F9DB5-890F-422D-B9DC-9C5AB5A1D654),
406
+ dual,
407
+ helpstring("nsIXPCDispTestScriptOff Interface"),
408
+ pointer_default(unique)
409
+ ]
410
+ interface nsIXPCDispTestScriptOff : IDispatch
411
+ {
412
+ };
413
+
414
+ [
415
+ object,
416
+ uuid(D84352CA-1A01-4E72-9072-77AFA669B3AD),
417
+ dual,
418
+ helpstring("nsIXPCDispTestWrappedJS Interface"),
419
+ pointer_default(unique)
420
+ ]
421
+ interface nsIXPCDispTestWrappedJS : IDispatch
422
+ {
423
+ [id(1), helpstring("method TestParamTypes")] HRESULT TestParamTypes([in] IDispatch * obj, [out, retval]BSTR * errMsg);
424
+ };
425
+
426
+ [
427
+ uuid(EAEE6BB2-C005-4B91-BCA7-6613236F6F69),
428
+ helpstring("nsXPCDispTestWrappedJS Class")
429
+ ]
430
+ coclass nsXPCDispTestWrappedJS
431
+ {
432
+ [default] interface nsIXPCDispTestWrappedJS;
433
+ };
434
+
435
+ [
436
+ uuid(959CD122-9826-4757-BA09-DE327D55F9E7),
437
+ helpstring("nsXPCDispTestScriptOff Class")
438
+ ]
439
+ coclass nsXPCDispTestScriptOff
440
+ {
441
+ [default] interface nsIXPCDispTestScriptOff;
442
+ };
443
+
444
+ [
445
+ uuid(D8B4265B-1768-4CA9-A285-7CCAEEB51C74),
446
+ helpstring("nsXPCDispTestProperties Class")
447
+ ]
448
+ coclass nsXPCDispTestProperties
449
+ {
450
+ [default] interface nsIXPCDispTestProperties;
451
+ };
452
+
453
+
454
+ };