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.
- data/CHANGELOG.rdoc +8 -0
- data/Manifest.txt +762 -48
- data/README.rdoc +2 -1
- data/Rakefile +90 -18
- data/ext/spidermonkey/conversions.c +9 -2
- data/ext/spidermonkey/ruby_land_proxy.c +1 -1
- data/ext/spidermonkey/runtime.h +1 -1
- data/ext/tracemonkey/context.cc +125 -0
- data/ext/tracemonkey/context.h +19 -0
- data/ext/tracemonkey/conversions.cc +365 -0
- data/ext/tracemonkey/conversions.h +32 -0
- data/ext/tracemonkey/debugger.cc +234 -0
- data/ext/tracemonkey/debugger.h +10 -0
- data/ext/tracemonkey/extconf.rb +37 -0
- data/ext/tracemonkey/extensions.cc +37 -0
- data/ext/tracemonkey/extensions.h +12 -0
- data/ext/tracemonkey/global.cc +40 -0
- data/ext/tracemonkey/global.h +11 -0
- data/ext/tracemonkey/idhash.cc +16 -0
- data/ext/tracemonkey/idhash.h +8 -0
- data/ext/tracemonkey/immutable_node.cc +1199 -0
- data/ext/tracemonkey/immutable_node.cc.erb +559 -0
- data/ext/tracemonkey/immutable_node.h +22 -0
- data/ext/tracemonkey/jroot.h +215 -0
- data/ext/tracemonkey/js_land_proxy.cc +620 -0
- data/ext/tracemonkey/js_land_proxy.h +20 -0
- data/ext/tracemonkey/ruby_land_proxy.cc +618 -0
- data/ext/tracemonkey/ruby_land_proxy.h +38 -0
- data/ext/tracemonkey/runtime.cc +454 -0
- data/ext/tracemonkey/runtime.h +27 -0
- data/ext/tracemonkey/split_global.cc +392 -0
- data/ext/tracemonkey/split_global.h +11 -0
- data/ext/tracemonkey/tracemonkey.cc +23 -0
- data/ext/tracemonkey/tracemonkey.h +32 -0
- data/lib/johnson.rb +12 -4
- data/lib/johnson/error.rb +5 -0
- data/lib/johnson/js/prelude.js +16 -1
- data/lib/johnson/parser.rb +2 -1
- data/lib/johnson/runtime.rb +87 -26
- data/lib/johnson/spidermonkey/runtime.rb +7 -16
- data/lib/johnson/tracemonkey.rb +13 -0
- data/lib/johnson/tracemonkey/context.rb +10 -0
- data/lib/johnson/tracemonkey/debugger.rb +67 -0
- data/lib/johnson/tracemonkey/immutable_node.rb +282 -0
- data/lib/johnson/tracemonkey/js_land_proxy.rb +64 -0
- data/lib/johnson/tracemonkey/mutable_tree_visitor.rb +242 -0
- data/lib/johnson/tracemonkey/ruby_land_proxy.rb +17 -0
- data/lib/johnson/tracemonkey/runtime.rb +80 -0
- data/test/{johnson_test.rb → generic/johnson_test.rb} +1 -1
- data/test/{parser_test.rb → generic/parser_test.rb} +1 -1
- data/test/helper.rb +23 -4
- data/test/johnson/{browser_test.rb → generic/browser_test.rb} +1 -1
- data/test/johnson/{conversions → generic/conversions}/array_test.rb +1 -1
- data/test/johnson/{conversions → generic/conversions}/boolean_test.rb +1 -1
- data/test/johnson/{conversions → generic/conversions}/callable_test.rb +1 -1
- data/test/johnson/{conversions → generic/conversions}/file_test.rb +1 -1
- data/test/johnson/generic/conversions/helper.rb +1 -0
- data/test/johnson/{conversions → generic/conversions}/nil_test.rb +1 -1
- data/test/johnson/{conversions → generic/conversions}/number_test.rb +1 -1
- data/test/johnson/{conversions → generic/conversions}/regexp_test.rb +1 -1
- data/test/johnson/{conversions → generic/conversions}/string_test.rb +1 -1
- data/test/johnson/{conversions → generic/conversions}/struct_test.rb +1 -1
- data/test/johnson/{conversions → generic/conversions}/symbol_test.rb +1 -1
- data/test/johnson/{conversions → generic/conversions}/thread_test.rb +1 -1
- data/test/johnson/{custom_conversions_test.rb → generic/custom_conversions_test.rb} +1 -1
- data/test/johnson/generic/default_test.rb +12 -0
- data/test/johnson/{error_test.rb → generic/error_test.rb} +1 -1
- data/test/johnson/{extensions_test.rb → generic/extensions_test.rb} +1 -1
- data/test/johnson/generic/helper.rb +1 -0
- data/test/johnson/{nodes → generic/nodes}/array_literal_test.rb +1 -1
- data/test/johnson/{nodes → generic/nodes}/array_node_test.rb +1 -1
- data/test/johnson/{nodes → generic/nodes}/binary_node_test.rb +1 -1
- data/test/johnson/{nodes → generic/nodes}/bracket_access_test.rb +1 -1
- data/test/johnson/{nodes → generic/nodes}/delete_test.rb +1 -1
- data/test/johnson/{nodes → generic/nodes}/do_while_test.rb +1 -1
- data/test/johnson/{nodes → generic/nodes}/dot_accessor_test.rb +1 -1
- data/test/johnson/generic/nodes/export_test.rb +11 -0
- data/test/johnson/{nodes → generic/nodes}/for_test.rb +1 -1
- data/test/johnson/{nodes → generic/nodes}/function_test.rb +1 -1
- data/test/johnson/generic/nodes/helper.rb +1 -0
- data/test/johnson/{nodes → generic/nodes}/if_test.rb +16 -6
- data/test/johnson/generic/nodes/import_test.rb +15 -0
- data/test/johnson/{nodes → generic/nodes}/label_test.rb +1 -1
- data/test/johnson/{nodes → generic/nodes}/let_test.rb +1 -1
- data/test/johnson/{nodes → generic/nodes}/object_literal_test.rb +1 -1
- data/test/johnson/{nodes → generic/nodes}/return_test.rb +1 -1
- data/test/johnson/{nodes → generic/nodes}/semi_test.rb +1 -1
- data/test/johnson/{nodes → generic/nodes}/switch_test.rb +1 -1
- data/test/johnson/{nodes → generic/nodes}/ternary_test.rb +1 -1
- data/test/johnson/{nodes → generic/nodes}/throw_test.rb +1 -1
- data/test/johnson/{nodes → generic/nodes}/try_node_test.rb +36 -6
- data/test/johnson/{nodes → generic/nodes}/typeof_test.rb +1 -1
- data/test/johnson/{nodes → generic/nodes}/unary_node_test.rb +1 -1
- data/test/johnson/{nodes → generic/nodes}/void_test.rb +1 -1
- data/test/johnson/{nodes → generic/nodes}/while_test.rb +1 -1
- data/test/johnson/{nodes → generic/nodes}/with_test.rb +1 -1
- data/test/johnson/{prelude_test.rb → generic/prelude_test.rb} +1 -1
- data/test/johnson/{runtime_test.rb → generic/runtime_test.rb} +3 -6
- data/test/johnson/generic/version_test.rb +13 -0
- data/test/johnson/{visitors → generic/visitors}/dot_visitor_test.rb +1 -1
- data/test/johnson/{visitors → generic/visitors}/enumerating_visitor_test.rb +1 -1
- data/test/johnson/generic/visitors/helper.rb +1 -0
- data/test/johnson/spidermonkey/js_land_proxy_test.rb +1 -5
- data/test/johnson/spidermonkey/ruby_land_proxy_test.rb +11 -7
- data/test/johnson/tracemonkey/context_test.rb +21 -0
- data/test/johnson/tracemonkey/immutable_node_test.rb +34 -0
- data/test/johnson/tracemonkey/js_land_proxy_test.rb +273 -0
- data/test/johnson/tracemonkey/ruby_land_proxy_test.rb +274 -0
- data/test/johnson/tracemonkey/runtime_test.rb +41 -0
- data/test/johnson/tracemonkey/split_global_test.rb +32 -0
- data/vendor/spidermonkey/js.pkg +2 -0
- data/vendor/tracemonkey/Makefile.in +668 -0
- data/vendor/tracemonkey/Makefile.ref +483 -0
- data/vendor/tracemonkey/README.html +54 -0
- data/vendor/tracemonkey/SpiderMonkey.rsp +11 -0
- data/vendor/tracemonkey/Y.js +19 -0
- data/vendor/tracemonkey/aclocal.m4 +9 -0
- data/vendor/tracemonkey/bench.sh +5 -0
- data/vendor/tracemonkey/build/autoconf/acoutput-fast.pl +202 -0
- data/vendor/tracemonkey/build/autoconf/altoptions.m4 +154 -0
- data/vendor/tracemonkey/build/autoconf/config.guess +1537 -0
- data/vendor/tracemonkey/build/autoconf/config.sub +1595 -0
- data/vendor/tracemonkey/build/autoconf/install-sh +119 -0
- data/vendor/tracemonkey/build/autoconf/make-makefile +315 -0
- data/vendor/tracemonkey/build/autoconf/match-dir.sh +101 -0
- data/vendor/tracemonkey/build/autoconf/moznbytetype.m4 +136 -0
- data/vendor/tracemonkey/build/autoconf/nspr.m4 +82 -0
- data/vendor/tracemonkey/build/autoconf/pkg.m4 +59 -0
- data/vendor/tracemonkey/build/autoconf/update-makefile.sh +118 -0
- data/vendor/tracemonkey/build/cygwin-wrapper +75 -0
- data/vendor/tracemonkey/build/hcc +111 -0
- data/vendor/tracemonkey/build/hcpp +155 -0
- data/vendor/tracemonkey/build/unix/mddepend.pl +165 -0
- data/vendor/tracemonkey/build/unix/uniq.pl +63 -0
- data/vendor/tracemonkey/build/win32/pgomerge.py +40 -0
- data/vendor/tracemonkey/builtins.tbl +91 -0
- data/vendor/tracemonkey/call.js +13 -0
- data/vendor/tracemonkey/config.mk +206 -0
- data/vendor/tracemonkey/config/Makefile.in +106 -0
- data/vendor/tracemonkey/config/Moz/Milestone.pm +232 -0
- data/vendor/tracemonkey/config/autoconf.mk.in +362 -0
- data/vendor/tracemonkey/config/check-sync-dirs.py +103 -0
- data/vendor/tracemonkey/config/check-sync-exceptions +7 -0
- data/vendor/tracemonkey/config/config.mk +881 -0
- data/vendor/tracemonkey/config/fastcwd.pl +66 -0
- data/vendor/tracemonkey/config/gcc_hidden.h +2 -0
- data/vendor/tracemonkey/config/insure.mk +53 -0
- data/vendor/tracemonkey/config/make-system-wrappers.pl +59 -0
- data/vendor/tracemonkey/config/milestone.pl +112 -0
- data/vendor/tracemonkey/config/milestone.txt +13 -0
- data/vendor/tracemonkey/config/mkdepend/Makefile.in +84 -0
- data/vendor/tracemonkey/config/mkdepend/cppsetup.c +233 -0
- data/vendor/tracemonkey/config/mkdepend/def.h +184 -0
- data/vendor/tracemonkey/config/mkdepend/ifparser.c +551 -0
- data/vendor/tracemonkey/config/mkdepend/ifparser.h +83 -0
- data/vendor/tracemonkey/config/mkdepend/imakemdep.h +733 -0
- data/vendor/tracemonkey/config/mkdepend/include.c +337 -0
- data/vendor/tracemonkey/config/mkdepend/main.c +860 -0
- data/vendor/tracemonkey/config/mkdepend/mkdepend.man +382 -0
- data/vendor/tracemonkey/config/mkdepend/parse.c +686 -0
- data/vendor/tracemonkey/config/mkdepend/pr.c +124 -0
- data/vendor/tracemonkey/config/nfspwd.pl +50 -0
- data/vendor/tracemonkey/config/nsinstall.c +481 -0
- data/vendor/tracemonkey/config/nsinstall.py +155 -0
- data/vendor/tracemonkey/config/pathsub.c +247 -0
- data/vendor/tracemonkey/config/pathsub.h +74 -0
- data/vendor/tracemonkey/config/preprocessor.pl +671 -0
- data/vendor/tracemonkey/config/revdepth-nt.pl +48 -0
- data/vendor/tracemonkey/config/revdepth.pl +51 -0
- data/vendor/tracemonkey/config/rules.mk +2310 -0
- data/vendor/tracemonkey/config/static-checking-config.mk +21 -0
- data/vendor/tracemonkey/config/static-checking.js +92 -0
- data/vendor/tracemonkey/config/string-format.js +61 -0
- data/vendor/tracemonkey/config/system-headers +1035 -0
- data/vendor/tracemonkey/config/version.mk +85 -0
- data/vendor/tracemonkey/config/version_win.pl +442 -0
- data/vendor/tracemonkey/configure +14183 -0
- data/vendor/tracemonkey/configure.in +5363 -0
- data/vendor/tracemonkey/correct.sh +23 -0
- data/vendor/tracemonkey/correct/check-3d-morph.js +55 -0
- data/vendor/tracemonkey/correct/check-3d-raytrace.js +445 -0
- data/vendor/tracemonkey/correct/check-access-binary-trees.js +52 -0
- data/vendor/tracemonkey/correct/check-access-fannkuch.js +66 -0
- data/vendor/tracemonkey/correct/check-access-nbody.js +171 -0
- data/vendor/tracemonkey/correct/check-access-nsieve.js +40 -0
- data/vendor/tracemonkey/correct/check-bitops-3bit-bits-in-byte.js +35 -0
- data/vendor/tracemonkey/correct/check-bitops-bits-in-byte.js +24 -0
- data/vendor/tracemonkey/correct/check-bitops-bitwise-and.js +29 -0
- data/vendor/tracemonkey/correct/check-bitops-nsieve-bits.js +40 -0
- data/vendor/tracemonkey/correct/check-controlflow-recursive.js +27 -0
- data/vendor/tracemonkey/correct/check-date-format-tofte.js +302 -0
- data/vendor/tracemonkey/correct/check-date-format-xparb.js +421 -0
- data/vendor/tracemonkey/correct/check-mont.js +119 -0
- data/vendor/tracemonkey/dtoa.c +3335 -0
- data/vendor/tracemonkey/editline/Makefile.in +55 -0
- data/vendor/tracemonkey/editline/Makefile.ref +143 -0
- data/vendor/tracemonkey/editline/README +83 -0
- data/vendor/tracemonkey/editline/editline.3 +175 -0
- data/vendor/tracemonkey/editline/editline.c +1371 -0
- data/vendor/tracemonkey/editline/editline.h +135 -0
- data/vendor/tracemonkey/editline/sysunix.c +182 -0
- data/vendor/tracemonkey/editline/unix.h +82 -0
- data/vendor/tracemonkey/if.js +13 -0
- data/vendor/tracemonkey/imacro_asm.js.in +396 -0
- data/vendor/tracemonkey/imacros.c.out +1034 -0
- data/vendor/tracemonkey/imacros.jsasm +770 -0
- data/vendor/tracemonkey/javascript-trace.d +73 -0
- data/vendor/tracemonkey/jitstats.tbl +55 -0
- data/vendor/tracemonkey/js-config.h.in +82 -0
- data/vendor/tracemonkey/js-config.in +111 -0
- data/vendor/tracemonkey/js.mdp +0 -0
- data/vendor/tracemonkey/js.msg +312 -0
- data/vendor/tracemonkey/js3240.rc +79 -0
- data/vendor/tracemonkey/jsOS240.def +654 -0
- data/vendor/tracemonkey/jsapi.cpp +6005 -0
- data/vendor/tracemonkey/jsapi.h +2727 -0
- data/vendor/tracemonkey/jsarena.cpp +450 -0
- data/vendor/tracemonkey/jsarena.h +318 -0
- data/vendor/tracemonkey/jsarray.cpp +3664 -0
- data/vendor/tracemonkey/jsarray.h +238 -0
- data/vendor/tracemonkey/jsatom.cpp +1244 -0
- data/vendor/tracemonkey/jsatom.h +493 -0
- data/vendor/tracemonkey/jsbit.h +249 -0
- data/vendor/tracemonkey/jsbool.cpp +184 -0
- data/vendor/tracemonkey/jsbool.h +88 -0
- data/vendor/tracemonkey/jsbuiltins.cpp +415 -0
- data/vendor/tracemonkey/jsbuiltins.h +456 -0
- data/vendor/tracemonkey/jsclist.h +139 -0
- data/vendor/tracemonkey/jscntxt.cpp +1816 -0
- data/vendor/tracemonkey/jscntxt.h +1541 -0
- data/vendor/tracemonkey/jscompat.h +57 -0
- data/vendor/tracemonkey/jsconfig.mk +181 -0
- data/vendor/tracemonkey/jscpucfg.cpp +194 -0
- data/vendor/tracemonkey/jscpucfg.h +91 -0
- data/vendor/tracemonkey/jsdate.cpp +2465 -0
- data/vendor/tracemonkey/jsdate.h +129 -0
- data/vendor/tracemonkey/jsdbgapi.cpp +2017 -0
- data/vendor/tracemonkey/jsdbgapi.h +500 -0
- data/vendor/tracemonkey/jsdhash.cpp +876 -0
- data/vendor/tracemonkey/jsdhash.h +588 -0
- data/vendor/tracemonkey/jsdtoa.cpp +572 -0
- data/vendor/tracemonkey/jsdtoa.h +131 -0
- data/vendor/tracemonkey/jsdtracef.c +318 -0
- data/vendor/tracemonkey/jsdtracef.h +81 -0
- data/vendor/tracemonkey/jsemit.cpp +7292 -0
- data/vendor/tracemonkey/jsemit.h +802 -0
- data/vendor/tracemonkey/jsexn.cpp +1337 -0
- data/vendor/tracemonkey/jsexn.h +96 -0
- data/vendor/tracemonkey/jsfile.cpp +2747 -0
- data/vendor/tracemonkey/jsfile.h +56 -0
- data/vendor/tracemonkey/jsfile.msg +90 -0
- data/vendor/tracemonkey/jsfun.cpp +3089 -0
- data/vendor/tracemonkey/jsfun.h +366 -0
- data/vendor/tracemonkey/jsgc.cpp +3816 -0
- data/vendor/tracemonkey/jsgc.h +429 -0
- data/vendor/tracemonkey/jshash.cpp +477 -0
- data/vendor/tracemonkey/jshash.h +151 -0
- data/vendor/tracemonkey/jsify.pl +483 -0
- data/vendor/tracemonkey/jsinterp.cpp +7441 -0
- data/vendor/tracemonkey/jsinterp.h +666 -0
- data/vendor/tracemonkey/jsinvoke.cpp +42 -0
- data/vendor/tracemonkey/jsiter.cpp +1040 -0
- data/vendor/tracemonkey/jsiter.h +140 -0
- data/vendor/tracemonkey/jskeyword.tbl +124 -0
- data/vendor/tracemonkey/jskwgen.cpp +460 -0
- data/vendor/tracemonkey/jslibmath.h +69 -0
- data/vendor/tracemonkey/jslock.cpp +1512 -0
- data/vendor/tracemonkey/jslock.h +325 -0
- data/vendor/tracemonkey/jslocko.asm +60 -0
- data/vendor/tracemonkey/jslog2.cpp +111 -0
- data/vendor/tracemonkey/jslong.h +167 -0
- data/vendor/tracemonkey/jsmath.cpp +806 -0
- data/vendor/tracemonkey/jsmath.h +63 -0
- data/vendor/tracemonkey/jsnum.cpp +1374 -0
- data/vendor/tracemonkey/jsnum.h +280 -0
- data/vendor/tracemonkey/jsobj.cpp +6165 -0
- data/vendor/tracemonkey/jsobj.h +870 -0
- data/vendor/tracemonkey/json.cpp +1338 -0
- data/vendor/tracemonkey/json.h +108 -0
- data/vendor/tracemonkey/jsopcode.cpp +5484 -0
- data/vendor/tracemonkey/jsopcode.h +434 -0
- data/vendor/tracemonkey/jsopcode.tbl +591 -0
- data/vendor/tracemonkey/jsoplengen.cpp +121 -0
- data/vendor/tracemonkey/jsotypes.h +202 -0
- data/vendor/tracemonkey/jsparse.cpp +9257 -0
- data/vendor/tracemonkey/jsparse.h +900 -0
- data/vendor/tracemonkey/jsprf.cpp +1262 -0
- data/vendor/tracemonkey/jsprf.h +150 -0
- data/vendor/tracemonkey/jsproto.tbl +117 -0
- data/vendor/tracemonkey/jsprvtd.h +366 -0
- data/vendor/tracemonkey/jspubtd.h +585 -0
- data/vendor/tracemonkey/jsregexp.cpp +5051 -0
- data/vendor/tracemonkey/jsregexp.h +199 -0
- data/vendor/tracemonkey/jsreops.tbl +145 -0
- data/vendor/tracemonkey/jsscan.cpp +2040 -0
- data/vendor/tracemonkey/jsscan.h +467 -0
- data/vendor/tracemonkey/jsscope.cpp +1966 -0
- data/vendor/tracemonkey/jsscope.h +487 -0
- data/vendor/tracemonkey/jsscript.cpp +1932 -0
- data/vendor/tracemonkey/jsscript.h +345 -0
- data/vendor/tracemonkey/jsshell.msg +54 -0
- data/vendor/tracemonkey/jsstack.js +167 -0
- data/vendor/tracemonkey/jsstaticcheck.h +69 -0
- data/vendor/tracemonkey/jsstddef.h +87 -0
- data/vendor/tracemonkey/jsstdint.h +96 -0
- data/vendor/tracemonkey/jsstr.cpp +5277 -0
- data/vendor/tracemonkey/jsstr.h +702 -0
- data/vendor/tracemonkey/jstracer.cpp +10991 -0
- data/vendor/tracemonkey/jstracer.h +794 -0
- data/vendor/tracemonkey/jstypes.h +481 -0
- data/vendor/tracemonkey/jsutil.cpp +361 -0
- data/vendor/tracemonkey/jsutil.h +178 -0
- data/vendor/tracemonkey/jsversion.h +243 -0
- data/vendor/tracemonkey/jswince.asm +44 -0
- data/vendor/tracemonkey/jsxdrapi.cpp +800 -0
- data/vendor/tracemonkey/jsxdrapi.h +220 -0
- data/vendor/tracemonkey/jsxml.cpp +8327 -0
- data/vendor/tracemonkey/jsxml.h +305 -0
- data/vendor/tracemonkey/liveconnect/LiveConnect.dsp +157 -0
- data/vendor/tracemonkey/liveconnect/LiveConnectShell.dsp +120 -0
- data/vendor/tracemonkey/liveconnect/LiveConnectShell.dsw +44 -0
- data/vendor/tracemonkey/liveconnect/Makefile.in +105 -0
- data/vendor/tracemonkey/liveconnect/Makefile.ref +169 -0
- data/vendor/tracemonkey/liveconnect/README.html +712 -0
- data/vendor/tracemonkey/liveconnect/_jni/netscape_javascript_JSException.h +14 -0
- data/vendor/tracemonkey/liveconnect/_jni/netscape_javascript_JSObject.h +155 -0
- data/vendor/tracemonkey/liveconnect/classes/Makefile.in +89 -0
- data/vendor/tracemonkey/liveconnect/classes/Makefile.ref +57 -0
- data/vendor/tracemonkey/liveconnect/classes/netscape/Makefile.ref +47 -0
- data/vendor/tracemonkey/liveconnect/classes/netscape/javascript/JSException.java +140 -0
- data/vendor/tracemonkey/liveconnect/classes/netscape/javascript/JSObject.java +183 -0
- data/vendor/tracemonkey/liveconnect/classes/netscape/javascript/JSProxy.java +58 -0
- data/vendor/tracemonkey/liveconnect/classes/netscape/javascript/JSRunnable.java +70 -0
- data/vendor/tracemonkey/liveconnect/classes/netscape/javascript/JSUtil.java +59 -0
- data/vendor/tracemonkey/liveconnect/classes/netscape/javascript/Makefile.ref +53 -0
- data/vendor/tracemonkey/liveconnect/config/AIX4.1.mk +45 -0
- data/vendor/tracemonkey/liveconnect/config/AIX4.2.mk +45 -0
- data/vendor/tracemonkey/liveconnect/config/AIX4.3.mk +50 -0
- data/vendor/tracemonkey/liveconnect/config/HP-UXB.10.10.mk +43 -0
- data/vendor/tracemonkey/liveconnect/config/HP-UXB.10.20.mk +43 -0
- data/vendor/tracemonkey/liveconnect/config/HP-UXB.11.00.mk +43 -0
- data/vendor/tracemonkey/liveconnect/config/IRIX6.2.mk +43 -0
- data/vendor/tracemonkey/liveconnect/config/IRIX6.3.mk +43 -0
- data/vendor/tracemonkey/liveconnect/config/IRIX6.5.mk +43 -0
- data/vendor/tracemonkey/liveconnect/config/Linux_All.mk +73 -0
- data/vendor/tracemonkey/liveconnect/config/OSF1V4.0.mk +65 -0
- data/vendor/tracemonkey/liveconnect/config/OSF1V5.0.mk +62 -0
- data/vendor/tracemonkey/liveconnect/config/SunOS5.5.1.mk +55 -0
- data/vendor/tracemonkey/liveconnect/config/SunOS5.6.mk +39 -0
- data/vendor/tracemonkey/liveconnect/config/SunOS5.7.mk +39 -0
- data/vendor/tracemonkey/liveconnect/config/SunOS5.8.mk +39 -0
- data/vendor/tracemonkey/liveconnect/config/WINNT4.0.mk +53 -0
- data/vendor/tracemonkey/liveconnect/jsj.c +886 -0
- data/vendor/tracemonkey/liveconnect/jsj.msg +98 -0
- data/vendor/tracemonkey/liveconnect/jsj_JSObject.c +1377 -0
- data/vendor/tracemonkey/liveconnect/jsj_JavaArray.c +474 -0
- data/vendor/tracemonkey/liveconnect/jsj_JavaClass.c +737 -0
- data/vendor/tracemonkey/liveconnect/jsj_JavaMember.c +191 -0
- data/vendor/tracemonkey/liveconnect/jsj_JavaObject.c +1079 -0
- data/vendor/tracemonkey/liveconnect/jsj_JavaPackage.c +569 -0
- data/vendor/tracemonkey/liveconnect/jsj_array.c +207 -0
- data/vendor/tracemonkey/liveconnect/jsj_class.c +770 -0
- data/vendor/tracemonkey/liveconnect/jsj_convert.c +902 -0
- data/vendor/tracemonkey/liveconnect/jsj_field.c +421 -0
- data/vendor/tracemonkey/liveconnect/jsj_hash.c +488 -0
- data/vendor/tracemonkey/liveconnect/jsj_hash.h +161 -0
- data/vendor/tracemonkey/liveconnect/jsj_method.c +1825 -0
- data/vendor/tracemonkey/liveconnect/jsj_nodl.c +1 -0
- data/vendor/tracemonkey/liveconnect/jsj_private.h +677 -0
- data/vendor/tracemonkey/liveconnect/jsj_simpleapi.c +219 -0
- data/vendor/tracemonkey/liveconnect/jsj_utils.c +513 -0
- data/vendor/tracemonkey/liveconnect/jsjava.h +316 -0
- data/vendor/tracemonkey/liveconnect/netscape_javascript_JSObject.h +155 -0
- data/vendor/tracemonkey/liveconnect/nsCLiveconnect.cpp +785 -0
- data/vendor/tracemonkey/liveconnect/nsCLiveconnect.h +197 -0
- data/vendor/tracemonkey/liveconnect/nsCLiveconnectFactory.cpp +118 -0
- data/vendor/tracemonkey/liveconnect/nsCLiveconnectFactory.h +76 -0
- data/vendor/tracemonkey/liveconnect/nsILiveconnect.h +197 -0
- data/vendor/tracemonkey/liveconnect/nsISecureLiveconnect.h +94 -0
- data/vendor/tracemonkey/liveconnect/nsISecurityContext.h +136 -0
- data/vendor/tracemonkey/lock_SunOS.s +119 -0
- data/vendor/tracemonkey/mandelbrot-results.js +3 -0
- data/vendor/tracemonkey/math-partial-sums.js +32 -0
- data/vendor/tracemonkey/math-trace-tests.js +507 -0
- data/vendor/tracemonkey/md5.js +289 -0
- data/vendor/tracemonkey/nanojit/Assembler.cpp +1984 -0
- data/vendor/tracemonkey/nanojit/Assembler.h +375 -0
- data/vendor/tracemonkey/nanojit/Fragmento.cpp +651 -0
- data/vendor/tracemonkey/nanojit/Fragmento.h +237 -0
- data/vendor/tracemonkey/nanojit/LIR.cpp +2314 -0
- data/vendor/tracemonkey/nanojit/LIR.h +879 -0
- data/vendor/tracemonkey/nanojit/LIRopcode.tbl +252 -0
- data/vendor/tracemonkey/nanojit/Native.h +127 -0
- data/vendor/tracemonkey/nanojit/NativeARM.cpp +1742 -0
- data/vendor/tracemonkey/nanojit/NativeARM.h +844 -0
- data/vendor/tracemonkey/nanojit/NativeSparc.cpp +1130 -0
- data/vendor/tracemonkey/nanojit/NativeSparc.h +948 -0
- data/vendor/tracemonkey/nanojit/NativeThumb.cpp +1322 -0
- data/vendor/tracemonkey/nanojit/NativeThumb.h +525 -0
- data/vendor/tracemonkey/nanojit/Nativei386.cpp +1748 -0
- data/vendor/tracemonkey/nanojit/Nativei386.h +857 -0
- data/vendor/tracemonkey/nanojit/RegAlloc.cpp +183 -0
- data/vendor/tracemonkey/nanojit/RegAlloc.h +95 -0
- data/vendor/tracemonkey/nanojit/TraceTreeDrawer.cpp +306 -0
- data/vendor/tracemonkey/nanojit/TraceTreeDrawer.h +88 -0
- data/vendor/tracemonkey/nanojit/avmplus.cpp +56 -0
- data/vendor/tracemonkey/nanojit/avmplus.h +1016 -0
- data/vendor/tracemonkey/nanojit/nanojit.h +253 -0
- data/vendor/tracemonkey/perfect.js +39 -0
- data/vendor/tracemonkey/plify_jsdhash.sed +35 -0
- data/vendor/tracemonkey/prmjtime.cpp +869 -0
- data/vendor/tracemonkey/prmjtime.h +103 -0
- data/vendor/tracemonkey/ref-config/AIX4.1.mk +65 -0
- data/vendor/tracemonkey/ref-config/AIX4.2.mk +64 -0
- data/vendor/tracemonkey/ref-config/AIX4.3.mk +65 -0
- data/vendor/tracemonkey/ref-config/Darwin.mk +85 -0
- data/vendor/tracemonkey/ref-config/Darwin1.3.mk +81 -0
- data/vendor/tracemonkey/ref-config/Darwin1.4.mk +41 -0
- data/vendor/tracemonkey/ref-config/Darwin5.2.mk +81 -0
- data/vendor/tracemonkey/ref-config/Darwin5.3.mk +81 -0
- data/vendor/tracemonkey/ref-config/Darwin64.mk +72 -0
- data/vendor/tracemonkey/ref-config/HP-UXB.10.10.mk +77 -0
- data/vendor/tracemonkey/ref-config/HP-UXB.10.20.mk +77 -0
- data/vendor/tracemonkey/ref-config/HP-UXB.11.00.mk +80 -0
- data/vendor/tracemonkey/ref-config/IRIX.mk +87 -0
- data/vendor/tracemonkey/ref-config/IRIX5.3.mk +44 -0
- data/vendor/tracemonkey/ref-config/IRIX6.1.mk +44 -0
- data/vendor/tracemonkey/ref-config/IRIX6.2.mk +44 -0
- data/vendor/tracemonkey/ref-config/IRIX6.3.mk +44 -0
- data/vendor/tracemonkey/ref-config/IRIX6.5.mk +44 -0
- data/vendor/tracemonkey/ref-config/Linux_All.mk +105 -0
- data/vendor/tracemonkey/ref-config/Mac_OS10.0.mk +82 -0
- data/vendor/tracemonkey/ref-config/OSF1V4.0.mk +72 -0
- data/vendor/tracemonkey/ref-config/OSF1V5.0.mk +69 -0
- data/vendor/tracemonkey/ref-config/SunOS4.1.4.mk +101 -0
- data/vendor/tracemonkey/ref-config/SunOS5.10.mk +50 -0
- data/vendor/tracemonkey/ref-config/SunOS5.3.mk +91 -0
- data/vendor/tracemonkey/ref-config/SunOS5.4.mk +92 -0
- data/vendor/tracemonkey/ref-config/SunOS5.5.1.mk +44 -0
- data/vendor/tracemonkey/ref-config/SunOS5.5.mk +87 -0
- data/vendor/tracemonkey/ref-config/SunOS5.6.mk +89 -0
- data/vendor/tracemonkey/ref-config/SunOS5.7.mk +44 -0
- data/vendor/tracemonkey/ref-config/SunOS5.8.mk +44 -0
- data/vendor/tracemonkey/ref-config/SunOS5.9.mk +44 -0
- data/vendor/tracemonkey/ref-config/WINNT4.0.mk +118 -0
- data/vendor/tracemonkey/ref-config/WINNT5.0.mk +118 -0
- data/vendor/tracemonkey/ref-config/WINNT5.1.mk +118 -0
- data/vendor/tracemonkey/ref-config/WINNT5.2.mk +118 -0
- data/vendor/tracemonkey/ref-config/WINNT6.0.mk +118 -0
- data/vendor/tracemonkey/ref-config/dgux.mk +64 -0
- data/vendor/tracemonkey/resource.h +15 -0
- data/vendor/tracemonkey/rules.mk +206 -0
- data/vendor/tracemonkey/shell/Makefile.in +72 -0
- data/vendor/tracemonkey/shell/js.cpp +4719 -0
- data/vendor/tracemonkey/t/3d-cube.js +337 -0
- data/vendor/tracemonkey/t/3d-morph.js +54 -0
- data/vendor/tracemonkey/t/3d-raytrace.js +441 -0
- data/vendor/tracemonkey/t/access-binary-trees.js +50 -0
- data/vendor/tracemonkey/t/access-fannkuch.js +66 -0
- data/vendor/tracemonkey/t/access-nbody.js +169 -0
- data/vendor/tracemonkey/t/access-nsieve.js +38 -0
- data/vendor/tracemonkey/t/bitops-3bit-bits-in-byte.js +32 -0
- data/vendor/tracemonkey/t/bitops-bits-in-byte.js +21 -0
- data/vendor/tracemonkey/t/bitops-bitwise-and.js +28 -0
- data/vendor/tracemonkey/t/bitops-nsieve-bits.js +32 -0
- data/vendor/tracemonkey/t/controlflow-recursive.js +25 -0
- data/vendor/tracemonkey/t/crypto-aes.js +422 -0
- data/vendor/tracemonkey/t/crypto-md5.js +286 -0
- data/vendor/tracemonkey/t/crypto-sha1.js +224 -0
- data/vendor/tracemonkey/t/date-format-tofte.js +299 -0
- data/vendor/tracemonkey/t/date-format-xparb.js +417 -0
- data/vendor/tracemonkey/t/math-cordic.js +95 -0
- data/vendor/tracemonkey/t/math-partial-sums.js +33 -0
- data/vendor/tracemonkey/t/math-spectral-norm.js +51 -0
- data/vendor/tracemonkey/t/regexp-dna.js +1712 -0
- data/vendor/tracemonkey/t/string-base64.js +135 -0
- data/vendor/tracemonkey/t/string-fasta.js +85 -0
- data/vendor/tracemonkey/t/string-tagcloud.js +265 -0
- data/vendor/tracemonkey/t/string-unpack-code.js +68 -0
- data/vendor/tracemonkey/t/string-validate-input.js +89 -0
- data/vendor/tracemonkey/time.sh +13 -0
- data/vendor/tracemonkey/trace-test.js +5564 -0
- data/vendor/tracemonkey/v8/base.js +187 -0
- data/vendor/tracemonkey/v8/crypto.js +1689 -0
- data/vendor/tracemonkey/v8/deltablue.js +880 -0
- data/vendor/tracemonkey/v8/earley-boyer.js +4682 -0
- data/vendor/tracemonkey/v8/raytrace.js +3418 -0
- data/vendor/tracemonkey/v8/richards.js +539 -0
- data/vendor/tracemonkey/v8/run-crypto.js +44 -0
- data/vendor/tracemonkey/v8/run-deltablue.js +44 -0
- data/vendor/tracemonkey/v8/run-earley-boyer.js +44 -0
- data/vendor/tracemonkey/v8/run-raytrace.js +44 -0
- data/vendor/tracemonkey/v8/run-richards.js +44 -0
- data/vendor/tracemonkey/v8/run.js +49 -0
- data/vendor/tracemonkey/vprof/readme.txt +93 -0
- data/vendor/tracemonkey/vprof/vprof.cpp +360 -0
- data/vendor/tracemonkey/vprof/vprof.h +245 -0
- data/vendor/tracemonkey/xpconnect/Makefile.in +67 -0
- data/vendor/tracemonkey/xpconnect/crashtests/117307-1.html +20 -0
- data/vendor/tracemonkey/xpconnect/crashtests/193710.html +11 -0
- data/vendor/tracemonkey/xpconnect/crashtests/290162-1.html +5 -0
- data/vendor/tracemonkey/xpconnect/crashtests/326615-1.html +16 -0
- data/vendor/tracemonkey/xpconnect/crashtests/328553-1.html +13 -0
- data/vendor/tracemonkey/xpconnect/crashtests/346258-1.html +12 -0
- data/vendor/tracemonkey/xpconnect/crashtests/346512-1-frame1.xhtml +16 -0
- data/vendor/tracemonkey/xpconnect/crashtests/346512-1-frame2.xhtml +15 -0
- data/vendor/tracemonkey/xpconnect/crashtests/346512-1.xhtml +30 -0
- data/vendor/tracemonkey/xpconnect/crashtests/382133-1.html +3 -0
- data/vendor/tracemonkey/xpconnect/crashtests/386680-1.html +22 -0
- data/vendor/tracemonkey/xpconnect/crashtests/394810-1.html +4 -0
- data/vendor/tracemonkey/xpconnect/crashtests/400349-1.html +20 -0
- data/vendor/tracemonkey/xpconnect/crashtests/403356-1.html +13 -0
- data/vendor/tracemonkey/xpconnect/crashtests/418139-1.svg +22 -0
- data/vendor/tracemonkey/xpconnect/crashtests/420513-1.html +11 -0
- data/vendor/tracemonkey/xpconnect/crashtests/453935-1.html +37 -0
- data/vendor/tracemonkey/xpconnect/crashtests/462926.html +12 -0
- data/vendor/tracemonkey/xpconnect/crashtests/468552-1.html +18 -0
- data/vendor/tracemonkey/xpconnect/crashtests/471366-1.html +12 -0
- data/vendor/tracemonkey/xpconnect/crashtests/475185-1.html +13 -0
- data/vendor/tracemonkey/xpconnect/crashtests/475291-1.html +14 -0
- data/vendor/tracemonkey/xpconnect/crashtests/503286-1.html +23 -0
- data/vendor/tracemonkey/xpconnect/crashtests/crashtests.list +21 -0
- data/vendor/tracemonkey/xpconnect/idl/Makefile.in +78 -0
- data/vendor/tracemonkey/xpconnect/idl/XPCIDispatch.idl +51 -0
- data/vendor/tracemonkey/xpconnect/idl/mozIJSSubScriptLoader.idl +64 -0
- data/vendor/tracemonkey/xpconnect/idl/nsIActiveXSecurityPolicy.idl +67 -0
- data/vendor/tracemonkey/xpconnect/idl/nsIDispatchSupport.idl +119 -0
- data/vendor/tracemonkey/xpconnect/idl/nsIJSContextStack.idl +85 -0
- data/vendor/tracemonkey/xpconnect/idl/nsIJSRuntimeService.idl +51 -0
- data/vendor/tracemonkey/xpconnect/idl/nsIScriptError.idl +102 -0
- data/vendor/tracemonkey/xpconnect/idl/nsIScriptableInterfaces.idl +67 -0
- data/vendor/tracemonkey/xpconnect/idl/nsIXPCScriptNotify.idl +66 -0
- data/vendor/tracemonkey/xpconnect/idl/nsIXPCScriptable.idl +183 -0
- data/vendor/tracemonkey/xpconnect/idl/nsIXPCSecurityManager.idl +114 -0
- data/vendor/tracemonkey/xpconnect/idl/nsIXPConnect.idl +819 -0
- data/vendor/tracemonkey/xpconnect/idl/xpcIJSModuleLoader.idl +95 -0
- data/vendor/tracemonkey/xpconnect/idl/xpcIJSWeakReference.idl +49 -0
- data/vendor/tracemonkey/xpconnect/idl/xpccomponents.idl +254 -0
- data/vendor/tracemonkey/xpconnect/idl/xpcexception.idl +66 -0
- data/vendor/tracemonkey/xpconnect/idl/xpcjsid.idl +83 -0
- data/vendor/tracemonkey/xpconnect/loader/ISO8601DateUtils.jsm +176 -0
- data/vendor/tracemonkey/xpconnect/loader/Makefile.in +63 -0
- data/vendor/tracemonkey/xpconnect/loader/XPCOMUtils.jsm +267 -0
- data/vendor/tracemonkey/xpconnect/loader/mozJSComponentLoader.cpp +1717 -0
- data/vendor/tracemonkey/xpconnect/loader/mozJSComponentLoader.h +172 -0
- data/vendor/tracemonkey/xpconnect/loader/mozJSLoaderConstructors.h +101 -0
- data/vendor/tracemonkey/xpconnect/loader/mozJSSubScriptLoader.cpp +360 -0
- data/vendor/tracemonkey/xpconnect/loader/mozJSSubScriptLoader.h +66 -0
- data/vendor/tracemonkey/xpconnect/public/Makefile.in +54 -0
- data/vendor/tracemonkey/xpconnect/public/nsAXPCNativeCallContext.h +89 -0
- data/vendor/tracemonkey/xpconnect/public/nsAutoJSValHolder.h +168 -0
- data/vendor/tracemonkey/xpconnect/public/xpc_map_end.h +327 -0
- data/vendor/tracemonkey/xpconnect/sample/Makefile.in +71 -0
- data/vendor/tracemonkey/xpconnect/sample/README +39 -0
- data/vendor/tracemonkey/xpconnect/sample/xpcsample1.cpp +337 -0
- data/vendor/tracemonkey/xpconnect/sample/xpcsample1.idl +82 -0
- data/vendor/tracemonkey/xpconnect/sample/xpcsample1.js +21 -0
- data/vendor/tracemonkey/xpconnect/shell/Makefile.in +106 -0
- data/vendor/tracemonkey/xpconnect/shell/jsshell.msg +50 -0
- data/vendor/tracemonkey/xpconnect/shell/xpcshell.cpp +1817 -0
- data/vendor/tracemonkey/xpconnect/shell/xpcshellMacUtils.h +43 -0
- data/vendor/tracemonkey/xpconnect/shell/xpcshellMacUtils.mm +54 -0
- data/vendor/tracemonkey/xpconnect/src/Makefile.in +228 -0
- data/vendor/tracemonkey/xpconnect/src/README +3 -0
- data/vendor/tracemonkey/xpconnect/src/XPCCrossOriginWrapper.cpp +1186 -0
- data/vendor/tracemonkey/xpconnect/src/XPCDispConvert.cpp +593 -0
- data/vendor/tracemonkey/xpconnect/src/XPCDispInlines.h +667 -0
- data/vendor/tracemonkey/xpconnect/src/XPCDispInterface.cpp +383 -0
- data/vendor/tracemonkey/xpconnect/src/XPCDispObject.cpp +516 -0
- data/vendor/tracemonkey/xpconnect/src/XPCDispParamPropJSClass.cpp +223 -0
- data/vendor/tracemonkey/xpconnect/src/XPCDispParams.cpp +103 -0
- data/vendor/tracemonkey/xpconnect/src/XPCDispPrivate.h +1401 -0
- data/vendor/tracemonkey/xpconnect/src/XPCDispTearOff.cpp +547 -0
- data/vendor/tracemonkey/xpconnect/src/XPCDispTypeInfo.cpp +471 -0
- data/vendor/tracemonkey/xpconnect/src/XPCIDispatchClassInfo.cpp +139 -0
- data/vendor/tracemonkey/xpconnect/src/XPCIDispatchExtension.cpp +362 -0
- data/vendor/tracemonkey/xpconnect/src/XPCNativeWrapper.cpp +1350 -0
- data/vendor/tracemonkey/xpconnect/src/XPCNativeWrapper.h +88 -0
- data/vendor/tracemonkey/xpconnect/src/XPCSafeJSObjectWrapper.cpp +1148 -0
- data/vendor/tracemonkey/xpconnect/src/XPCSystemOnlyWrapper.cpp +718 -0
- data/vendor/tracemonkey/xpconnect/src/XPCWrapper.cpp +850 -0
- data/vendor/tracemonkey/xpconnect/src/XPCWrapper.h +394 -0
- data/vendor/tracemonkey/xpconnect/src/dom_quickstubs.qsconf +568 -0
- data/vendor/tracemonkey/xpconnect/src/nsDispatchSupport.cpp +348 -0
- data/vendor/tracemonkey/xpconnect/src/nsScriptError.cpp +201 -0
- data/vendor/tracemonkey/xpconnect/src/nsXPConnect.cpp +2609 -0
- data/vendor/tracemonkey/xpconnect/src/qsgen.py +1487 -0
- data/vendor/tracemonkey/xpconnect/src/xpc.msg +217 -0
- data/vendor/tracemonkey/xpconnect/src/xpcJSWeakReference.cpp +148 -0
- data/vendor/tracemonkey/xpconnect/src/xpcJSWeakReference.h +56 -0
- data/vendor/tracemonkey/xpconnect/src/xpccallcontext.cpp +579 -0
- data/vendor/tracemonkey/xpconnect/src/xpccomponents.cpp +4144 -0
- data/vendor/tracemonkey/xpconnect/src/xpccontext.cpp +115 -0
- data/vendor/tracemonkey/xpconnect/src/xpcconvert.cpp +2298 -0
- data/vendor/tracemonkey/xpconnect/src/xpcdebug.cpp +481 -0
- data/vendor/tracemonkey/xpconnect/src/xpcexception.cpp +502 -0
- data/vendor/tracemonkey/xpconnect/src/xpcforwards.h +114 -0
- data/vendor/tracemonkey/xpconnect/src/xpcinlines.h +772 -0
- data/vendor/tracemonkey/xpconnect/src/xpcjsid.cpp +1025 -0
- data/vendor/tracemonkey/xpconnect/src/xpcjsruntime.cpp +1342 -0
- data/vendor/tracemonkey/xpconnect/src/xpclog.cpp +128 -0
- data/vendor/tracemonkey/xpconnect/src/xpclog.h +101 -0
- data/vendor/tracemonkey/xpconnect/src/xpcmaps.cpp +761 -0
- data/vendor/tracemonkey/xpconnect/src/xpcmaps.h +713 -0
- data/vendor/tracemonkey/xpconnect/src/xpcmodule.cpp +136 -0
- data/vendor/tracemonkey/xpconnect/src/xpcprivate.h +4138 -0
- data/vendor/tracemonkey/xpconnect/src/xpcquickstubs.cpp +1128 -0
- data/vendor/tracemonkey/xpconnect/src/xpcquickstubs.h +480 -0
- data/vendor/tracemonkey/xpconnect/src/xpcruntimesvc.cpp +179 -0
- data/vendor/tracemonkey/xpconnect/src/xpcstack.cpp +342 -0
- data/vendor/tracemonkey/xpconnect/src/xpcstring.cpp +139 -0
- data/vendor/tracemonkey/xpconnect/src/xpcthreadcontext.cpp +599 -0
- data/vendor/tracemonkey/xpconnect/src/xpcthrower.cpp +399 -0
- data/vendor/tracemonkey/xpconnect/src/xpcvariant.cpp +850 -0
- data/vendor/tracemonkey/xpconnect/src/xpcwrappedjs.cpp +670 -0
- data/vendor/tracemonkey/xpconnect/src/xpcwrappedjsclass.cpp +2015 -0
- data/vendor/tracemonkey/xpconnect/src/xpcwrappednative.cpp +3482 -0
- data/vendor/tracemonkey/xpconnect/src/xpcwrappednativeinfo.cpp +945 -0
- data/vendor/tracemonkey/xpconnect/src/xpcwrappednativejsops.cpp +2003 -0
- data/vendor/tracemonkey/xpconnect/src/xpcwrappednativeproto.cpp +302 -0
- data/vendor/tracemonkey/xpconnect/src/xpcwrappednativescope.cpp +991 -0
- data/vendor/tracemonkey/xpconnect/tests/Makefile.in +75 -0
- data/vendor/tracemonkey/xpconnect/tests/TestXPC.cpp +785 -0
- data/vendor/tracemonkey/xpconnect/tests/chrome/Makefile.in +51 -0
- data/vendor/tracemonkey/xpconnect/tests/chrome/test_bug500931.xul +43 -0
- data/vendor/tracemonkey/xpconnect/tests/components/Makefile.in +85 -0
- data/vendor/tracemonkey/xpconnect/tests/components/xpctest_array.cpp +388 -0
- data/vendor/tracemonkey/xpconnect/tests/components/xpctest_attributes.cpp +305 -0
- data/vendor/tracemonkey/xpconnect/tests/components/xpctest_calljs.cpp +135 -0
- data/vendor/tracemonkey/xpconnect/tests/components/xpctest_child.cpp +225 -0
- data/vendor/tracemonkey/xpconnect/tests/components/xpctest_const.cpp +76 -0
- data/vendor/tracemonkey/xpconnect/tests/components/xpctest_domstring.cpp +118 -0
- data/vendor/tracemonkey/xpconnect/tests/components/xpctest_echo.cpp +616 -0
- data/vendor/tracemonkey/xpconnect/tests/components/xpctest_in.cpp +204 -0
- data/vendor/tracemonkey/xpconnect/tests/components/xpctest_inout.cpp +171 -0
- data/vendor/tracemonkey/xpconnect/tests/components/xpctest_module.cpp +77 -0
- data/vendor/tracemonkey/xpconnect/tests/components/xpctest_multiple.cpp +554 -0
- data/vendor/tracemonkey/xpconnect/tests/components/xpctest_noisy.cpp +154 -0
- data/vendor/tracemonkey/xpconnect/tests/components/xpctest_out.cpp +335 -0
- data/vendor/tracemonkey/xpconnect/tests/components/xpctest_overloaded.cpp +250 -0
- data/vendor/tracemonkey/xpconnect/tests/components/xpctest_private.h +192 -0
- data/vendor/tracemonkey/xpconnect/tests/components/xpctest_string.cpp +185 -0
- data/vendor/tracemonkey/xpconnect/tests/components/xpctest_variant.cpp +355 -0
- data/vendor/tracemonkey/xpconnect/tests/idispatch/COM/StdAfx.cpp +12 -0
- data/vendor/tracemonkey/xpconnect/tests/idispatch/COM/StdAfx.h +28 -0
- data/vendor/tracemonkey/xpconnect/tests/idispatch/COM/XPCDispUtilities.h +28 -0
- data/vendor/tracemonkey/xpconnect/tests/idispatch/COM/XPCIDispatchTest.cpp +86 -0
- data/vendor/tracemonkey/xpconnect/tests/idispatch/COM/XPCIDispatchTest.def +9 -0
- data/vendor/tracemonkey/xpconnect/tests/idispatch/COM/XPCIDispatchTest.dsp +318 -0
- data/vendor/tracemonkey/xpconnect/tests/idispatch/COM/XPCIDispatchTest.dsw +29 -0
- data/vendor/tracemonkey/xpconnect/tests/idispatch/COM/XPCIDispatchTest.idl +454 -0
- data/vendor/tracemonkey/xpconnect/tests/idispatch/COM/XPCIDispatchTest.rc +145 -0
- data/vendor/tracemonkey/xpconnect/tests/idispatch/COM/nsXPCDispSimple.cpp +44 -0
- data/vendor/tracemonkey/xpconnect/tests/idispatch/COM/nsXPCDispSimple.h +56 -0
- data/vendor/tracemonkey/xpconnect/tests/idispatch/COM/nsXPCDispSimple.rgs +23 -0
- data/vendor/tracemonkey/xpconnect/tests/idispatch/COM/nsXPCDispTestArrays.cpp +221 -0
- data/vendor/tracemonkey/xpconnect/tests/idispatch/COM/nsXPCDispTestArrays.h +53 -0
- data/vendor/tracemonkey/xpconnect/tests/idispatch/COM/nsXPCDispTestArrays.rgs +23 -0
- data/vendor/tracemonkey/xpconnect/tests/idispatch/COM/nsXPCDispTestMethods.cpp +699 -0
- data/vendor/tracemonkey/xpconnect/tests/idispatch/COM/nsXPCDispTestMethods.h +138 -0
- data/vendor/tracemonkey/xpconnect/tests/idispatch/COM/nsXPCDispTestMethods.rgs +23 -0
- data/vendor/tracemonkey/xpconnect/tests/idispatch/COM/nsXPCDispTestNoIDispatch.cpp +23 -0
- data/vendor/tracemonkey/xpconnect/tests/idispatch/COM/nsXPCDispTestNoIDispatch.h +41 -0
- data/vendor/tracemonkey/xpconnect/tests/idispatch/COM/nsXPCDispTestNoIDispatch.rgs +23 -0
- data/vendor/tracemonkey/xpconnect/tests/idispatch/COM/nsXPCDispTestProperties.cpp +256 -0
- data/vendor/tracemonkey/xpconnect/tests/idispatch/COM/nsXPCDispTestProperties.h +88 -0
- data/vendor/tracemonkey/xpconnect/tests/idispatch/COM/nsXPCDispTestProperties.rgs +23 -0
- data/vendor/tracemonkey/xpconnect/tests/idispatch/COM/nsXPCDispTestScriptOff.cpp +23 -0
- data/vendor/tracemonkey/xpconnect/tests/idispatch/COM/nsXPCDispTestScriptOff.h +43 -0
- data/vendor/tracemonkey/xpconnect/tests/idispatch/COM/nsXPCDispTestScriptOff.rgs +23 -0
- data/vendor/tracemonkey/xpconnect/tests/idispatch/COM/nsXPCDispTestScriptOn.cpp +29 -0
- data/vendor/tracemonkey/xpconnect/tests/idispatch/COM/nsXPCDispTestScriptOn.h +45 -0
- data/vendor/tracemonkey/xpconnect/tests/idispatch/COM/nsXPCDispTestScriptOn.rgs +23 -0
- data/vendor/tracemonkey/xpconnect/tests/idispatch/COM/nsXPCDispTestWrappedJS.cpp +177 -0
- data/vendor/tracemonkey/xpconnect/tests/idispatch/COM/nsXPCDispTestWrappedJS.h +50 -0
- data/vendor/tracemonkey/xpconnect/tests/idispatch/COM/nsXPCDispTestWrappedJS.rgs +23 -0
- data/vendor/tracemonkey/xpconnect/tests/idispatch/COM/resource.h +36 -0
- data/vendor/tracemonkey/xpconnect/tests/idispatch/Tests/WrappedCOM/Arrays/XPCIDispatchArrayTests.js +54 -0
- data/vendor/tracemonkey/xpconnect/tests/idispatch/Tests/WrappedCOM/Attributes/XPCIDispatchAttributeTests.js +150 -0
- data/vendor/tracemonkey/xpconnect/tests/idispatch/Tests/WrappedCOM/General/XPCIDispatchInstantiations.js +122 -0
- data/vendor/tracemonkey/xpconnect/tests/idispatch/Tests/WrappedCOM/General/XPCStress.js +58 -0
- data/vendor/tracemonkey/xpconnect/tests/idispatch/Tests/WrappedCOM/Methods/XPCIDispatchMethodTests.js +376 -0
- data/vendor/tracemonkey/xpconnect/tests/idispatch/Tests/WrappedCOM/shell.js +377 -0
- data/vendor/tracemonkey/xpconnect/tests/idispatch/Tests/WrappedJS/General/XPCIDispatchTestWrappedJS.js +76 -0
- data/vendor/tracemonkey/xpconnect/tests/idispatch/Tests/WrappedJS/shell.js +377 -0
- data/vendor/tracemonkey/xpconnect/tests/idispatch/Tests/exectests.cmd +1 -0
- data/vendor/tracemonkey/xpconnect/tests/idispatch/Tests/jsDriver.pl +1288 -0
- data/vendor/tracemonkey/xpconnect/tests/idl/Makefile.in +61 -0
- data/vendor/tracemonkey/xpconnect/tests/idl/xpctest.idl +312 -0
- data/vendor/tracemonkey/xpconnect/tests/idl/xpctest2.idl +51 -0
- data/vendor/tracemonkey/xpconnect/tests/idl/xpctest_attributes.idl +67 -0
- data/vendor/tracemonkey/xpconnect/tests/idl/xpctest_calljs.idl +59 -0
- data/vendor/tracemonkey/xpconnect/tests/idl/xpctest_const.idl +61 -0
- data/vendor/tracemonkey/xpconnect/tests/idl/xpctest_domstring.idl +59 -0
- data/vendor/tracemonkey/xpconnect/tests/idl/xpctest_in.idl +88 -0
- data/vendor/tracemonkey/xpconnect/tests/idl/xpctest_inout.idl +86 -0
- data/vendor/tracemonkey/xpconnect/tests/idl/xpctest_multiple.idl +77 -0
- data/vendor/tracemonkey/xpconnect/tests/idl/xpctest_out.idl +142 -0
- data/vendor/tracemonkey/xpconnect/tests/js/checkid.js +82 -0
- data/vendor/tracemonkey/xpconnect/tests/js/evaluate.js +311 -0
- data/vendor/tracemonkey/xpconnect/tests/js/exceptions-2.js +153 -0
- data/vendor/tracemonkey/xpconnect/tests/js/exceptions-3.js +194 -0
- data/vendor/tracemonkey/xpconnect/tests/js/exceptions-4.js +297 -0
- data/vendor/tracemonkey/xpconnect/tests/js/exceptions-5.js +343 -0
- data/vendor/tracemonkey/xpconnect/tests/js/exceptions.js +230 -0
- data/vendor/tracemonkey/xpconnect/tests/js/javascript.js +96 -0
- data/vendor/tracemonkey/xpconnect/tests/js/multiple-2.js +151 -0
- data/vendor/tracemonkey/xpconnect/tests/js/multiple-3.js +148 -0
- data/vendor/tracemonkey/xpconnect/tests/js/multiple-4.js +152 -0
- data/vendor/tracemonkey/xpconnect/tests/js/multiple.js +137 -0
- data/vendor/tracemonkey/xpconnect/tests/js/notscriptable.js +104 -0
- data/vendor/tracemonkey/xpconnect/tests/js/old/simpletest.js +36 -0
- data/vendor/tracemonkey/xpconnect/tests/js/old/speed.js +60 -0
- data/vendor/tracemonkey/xpconnect/tests/js/old/testxpc.js +464 -0
- data/vendor/tracemonkey/xpconnect/tests/js/old/threads.js +74 -0
- data/vendor/tracemonkey/xpconnect/tests/js/old/try.js +27 -0
- data/vendor/tracemonkey/xpconnect/tests/js/old/xpctest_array.js +308 -0
- data/vendor/tracemonkey/xpconnect/tests/js/old/xpctest_callcontext.js +68 -0
- data/vendor/tracemonkey/xpconnect/tests/js/old/xpctest_echo.js +636 -0
- data/vendor/tracemonkey/xpconnect/tests/js/old/xpctest_enum_and_sort.js +28 -0
- data/vendor/tracemonkey/xpconnect/tests/js/old/xpctest_enum_constants.js +15 -0
- data/vendor/tracemonkey/xpconnect/tests/js/old/xpctest_enum_create.js +200 -0
- data/vendor/tracemonkey/xpconnect/tests/js/old/xpctest_exceptions.js +167 -0
- data/vendor/tracemonkey/xpconnect/tests/js/old/xpctest_ids.js +135 -0
- data/vendor/tracemonkey/xpconnect/tests/js/old/xpctest_observer.js +36 -0
- data/vendor/tracemonkey/xpconnect/tests/js/old/xpctest_overloaded.js +14 -0
- data/vendor/tracemonkey/xpconnect/tests/js/old/xpctest_primitives.js +141 -0
- data/vendor/tracemonkey/xpconnect/tests/js/old/xpctest_propertybag.js +36 -0
- data/vendor/tracemonkey/xpconnect/tests/js/old/xpctest_variant.js +339 -0
- data/vendor/tracemonkey/xpconnect/tests/js/old/xpctest_variant_array.js +30 -0
- data/vendor/tracemonkey/xpconnect/tests/js/readonlyattributes.js +74 -0
- data/vendor/tracemonkey/xpconnect/tests/js/readwriteattributes.js +101 -0
- data/vendor/tracemonkey/xpconnect/tests/js/scriptable.js +120 -0
- data/vendor/tracemonkey/xpconnect/tests/js/testin.js +203 -0
- data/vendor/tracemonkey/xpconnect/tests/js/xpcfun.js +234 -0
- data/vendor/tracemonkey/xpconnect/tests/js/xpctest_primitives.js +200 -0
- data/vendor/tracemonkey/xpconnect/tests/mochitest/Makefile.in +66 -0
- data/vendor/tracemonkey/xpconnect/tests/mochitest/bug500931_helper.html +7 -0
- data/vendor/tracemonkey/xpconnect/tests/mochitest/inner.html +7 -0
- data/vendor/tracemonkey/xpconnect/tests/mochitest/test_bug361111.xul +29 -0
- data/vendor/tracemonkey/xpconnect/tests/mochitest/test_bug384632.html +32 -0
- data/vendor/tracemonkey/xpconnect/tests/mochitest/test_bug390488.html +65 -0
- data/vendor/tracemonkey/xpconnect/tests/mochitest/test_bug393269.html +46 -0
- data/vendor/tracemonkey/xpconnect/tests/mochitest/test_bug396851.html +43 -0
- data/vendor/tracemonkey/xpconnect/tests/mochitest/test_bug428021.html +41 -0
- data/vendor/tracemonkey/xpconnect/tests/mochitest/test_bug446584.html +49 -0
- data/vendor/tracemonkey/xpconnect/tests/mochitest/test_bug448587.html +31 -0
- data/vendor/tracemonkey/xpconnect/tests/mochitest/test_bug462428.html +42 -0
- data/vendor/tracemonkey/xpconnect/tests/mochitest/test_bug478438.html +66 -0
- data/vendor/tracemonkey/xpconnect/tests/mochitest/test_bug484107.html +100 -0
- data/vendor/tracemonkey/xpconnect/tests/mochitest/test_bug484459.html +36 -0
- data/vendor/tracemonkey/xpconnect/tests/mochitest/test_bug500691.html +28 -0
- data/vendor/tracemonkey/xpconnect/tests/mochitest/test_wrappers.html +116 -0
- data/vendor/tracemonkey/xpconnect/tests/unit/bogus_element_type.jsm +1 -0
- data/vendor/tracemonkey/xpconnect/tests/unit/bogus_exports_type.jsm +1 -0
- data/vendor/tracemonkey/xpconnect/tests/unit/bug451678_subscript.js +2 -0
- data/vendor/tracemonkey/xpconnect/tests/unit/component_import.js +144 -0
- data/vendor/tracemonkey/xpconnect/tests/unit/recursive_importA.jsm +44 -0
- data/vendor/tracemonkey/xpconnect/tests/unit/recursive_importB.jsm +45 -0
- data/vendor/tracemonkey/xpconnect/tests/unit/syntax_error.jsm +1 -0
- data/vendor/tracemonkey/xpconnect/tests/unit/test_bogus_files.js +88 -0
- data/vendor/tracemonkey/xpconnect/tests/unit/test_bug408412.js +51 -0
- data/vendor/tracemonkey/xpconnect/tests/unit/test_bug451678.js +52 -0
- data/vendor/tracemonkey/xpconnect/tests/unit/test_bug_442086.js +68 -0
- data/vendor/tracemonkey/xpconnect/tests/unit/test_import.js +127 -0
- data/vendor/tracemonkey/xpconnect/tests/unit/test_js_weak_references.js +63 -0
- data/vendor/tracemonkey/xpconnect/tests/unit/test_recursive_import.js +62 -0
- data/vendor/tracemonkey/xpconnect/tools/Makefile.in +49 -0
- data/vendor/tracemonkey/xpconnect/tools/idl/Makefile.in +53 -0
- data/vendor/tracemonkey/xpconnect/tools/idl/nsIXPCToolsCompiler.idl +60 -0
- data/vendor/tracemonkey/xpconnect/tools/idl/nsIXPCToolsProfiler.idl +57 -0
- data/vendor/tracemonkey/xpconnect/tools/js/CompileJSFiles.js +28 -0
- data/vendor/tracemonkey/xpconnect/tools/js/ListJSFiles.js +18 -0
- data/vendor/tracemonkey/xpconnect/tools/src/Makefile.in +76 -0
- data/vendor/tracemonkey/xpconnect/tools/src/nsXPCToolsCompiler.cpp +161 -0
- data/vendor/tracemonkey/xpconnect/tools/src/nsXPCToolsModule.cpp +65 -0
- data/vendor/tracemonkey/xpconnect/tools/src/nsXPCToolsProfiler.cpp +370 -0
- data/vendor/tracemonkey/xpconnect/tools/src/xpctools_private.h +236 -0
- metadata +782 -107
- data/test/johnson/nodes/export_test.rb +0 -9
- data/test/johnson/nodes/import_test.rb +0 -13
- data/test/johnson/version_test.rb +0 -13
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
|
|
2
|
+
*
|
|
3
|
+
* ***** BEGIN LICENSE BLOCK *****
|
|
4
|
+
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
|
|
5
|
+
*
|
|
6
|
+
* The contents of this file are subject to the Mozilla Public License Version
|
|
7
|
+
* 1.1 (the "License"); you may not use this file except in compliance with
|
|
8
|
+
* the License. You may obtain a copy of the License at
|
|
9
|
+
* http://www.mozilla.org/MPL/
|
|
10
|
+
*
|
|
11
|
+
* Software distributed under the License is distributed on an "AS IS" basis,
|
|
12
|
+
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
|
13
|
+
* for the specific language governing rights and limitations under the
|
|
14
|
+
* License.
|
|
15
|
+
*
|
|
16
|
+
* The Original Code is Mozilla Communicator client code, released
|
|
17
|
+
* March 31, 1998.
|
|
18
|
+
*
|
|
19
|
+
* The Initial Developer of the Original Code is
|
|
20
|
+
* Netscape Communications Corporation.
|
|
21
|
+
* Portions created by the Initial Developer are Copyright (C) 1998
|
|
22
|
+
* the Initial Developer. All Rights Reserved.
|
|
23
|
+
*
|
|
24
|
+
* Contributor(s):
|
|
25
|
+
* John Bandhauer <jband@netscape.com>
|
|
26
|
+
*
|
|
27
|
+
* Alternatively, the contents of this file may be used under the terms of
|
|
28
|
+
* either of the GNU General Public License Version 2 or later (the "GPL"),
|
|
29
|
+
* or the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
|
|
30
|
+
* in which case the provisions of the GPL or the LGPL are applicable instead
|
|
31
|
+
* of those above. If you wish to allow use of your version of this file only
|
|
32
|
+
* under the terms of either the GPL or the LGPL, and not to allow others to
|
|
33
|
+
* use your version of this file under the terms of the MPL, indicate your
|
|
34
|
+
* decision by deleting the provisions above and replace them with the notice
|
|
35
|
+
* and other provisions required by the GPL or the LGPL. If you do not delete
|
|
36
|
+
* the provisions above, a recipient may use your version of this file under
|
|
37
|
+
* the terms of any one of the MPL, the GPL or the LGPL.
|
|
38
|
+
*
|
|
39
|
+
* ***** END LICENSE BLOCK ***** */
|
|
40
|
+
|
|
41
|
+
#include "nsISupports.h"
|
|
42
|
+
#include "xpctest_const.h"
|
|
43
|
+
#include "xpctest_private.h"
|
|
44
|
+
|
|
45
|
+
class xpcTestConst : public nsIXPCTestConst {
|
|
46
|
+
public:
|
|
47
|
+
NS_DECL_ISUPPORTS
|
|
48
|
+
NS_DECL_NSIXPCTESTCONST
|
|
49
|
+
xpcTestConst();
|
|
50
|
+
};
|
|
51
|
+
|
|
52
|
+
NS_IMPL_ISUPPORTS1(xpcTestConst, nsIXPCTestConst)
|
|
53
|
+
|
|
54
|
+
xpcTestConst :: xpcTestConst() {
|
|
55
|
+
NS_ADDREF_THIS();
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
NS_IMETHODIMP
|
|
59
|
+
xpctest::ConstructXPCTestConst(nsISupports *aOuter, REFNSIID aIID, void **aResult)
|
|
60
|
+
{
|
|
61
|
+
nsresult rv;
|
|
62
|
+
NS_ASSERTION(aOuter == nsnull, "no aggregation");
|
|
63
|
+
xpcTestConst *obj = new xpcTestConst();
|
|
64
|
+
if(obj)
|
|
65
|
+
{
|
|
66
|
+
rv = obj->QueryInterface(aIID, aResult);
|
|
67
|
+
NS_ASSERTION(NS_SUCCEEDED(rv), "unable to find correct interface");
|
|
68
|
+
NS_RELEASE(obj);
|
|
69
|
+
}
|
|
70
|
+
else
|
|
71
|
+
{
|
|
72
|
+
*aResult = nsnull;
|
|
73
|
+
rv = NS_ERROR_OUT_OF_MEMORY;
|
|
74
|
+
}
|
|
75
|
+
return rv;
|
|
76
|
+
}
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
|
|
2
|
+
*
|
|
3
|
+
* ***** BEGIN LICENSE BLOCK *****
|
|
4
|
+
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
|
|
5
|
+
*
|
|
6
|
+
* The contents of this file are subject to the Mozilla Public License Version
|
|
7
|
+
* 1.1 (the "License"); you may not use this file except in compliance with
|
|
8
|
+
* the License. You may obtain a copy of the License at
|
|
9
|
+
* http://www.mozilla.org/MPL/
|
|
10
|
+
*
|
|
11
|
+
* Software distributed under the License is distributed on an "AS IS" basis,
|
|
12
|
+
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
|
13
|
+
* for the specific language governing rights and limitations under the
|
|
14
|
+
* License.
|
|
15
|
+
*
|
|
16
|
+
* The Original Code is Mozilla Communicator client code, released
|
|
17
|
+
* March 31, 1998.
|
|
18
|
+
*
|
|
19
|
+
* The Initial Developer of the Original Code is
|
|
20
|
+
* Netscape Communications Corporation.
|
|
21
|
+
* Portions created by the Initial Developer are Copyright (C) 2001
|
|
22
|
+
* the Initial Developer. All Rights Reserved.
|
|
23
|
+
*
|
|
24
|
+
* Contributor(s):
|
|
25
|
+
* Mike Shaver <shaver@mozilla.org>
|
|
26
|
+
*
|
|
27
|
+
* Alternatively, the contents of this file may be used under the terms of
|
|
28
|
+
* either of the GNU General Public License Version 2 or later (the "GPL"),
|
|
29
|
+
* or the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
|
|
30
|
+
* in which case the provisions of the GPL or the LGPL are applicable instead
|
|
31
|
+
* of those above. If you wish to allow use of your version of this file only
|
|
32
|
+
* under the terms of either the GPL or the LGPL, and not to allow others to
|
|
33
|
+
* use your version of this file under the terms of the MPL, indicate your
|
|
34
|
+
* decision by deleting the provisions above and replace them with the notice
|
|
35
|
+
* and other provisions required by the GPL or the LGPL. If you do not delete
|
|
36
|
+
* the provisions above, a recipient may use your version of this file under
|
|
37
|
+
* the terms of any one of the MPL, the GPL or the LGPL.
|
|
38
|
+
*
|
|
39
|
+
* ***** END LICENSE BLOCK ***** */
|
|
40
|
+
|
|
41
|
+
#include "nsISupports.h"
|
|
42
|
+
#include "nsString.h"
|
|
43
|
+
#include "xpctest_domstring.h"
|
|
44
|
+
#include "xpctest_private.h"
|
|
45
|
+
|
|
46
|
+
class xpcTestDOMString : public nsIXPCTestDOMString {
|
|
47
|
+
public:
|
|
48
|
+
NS_DECL_ISUPPORTS
|
|
49
|
+
NS_DECL_NSIXPCTESTDOMSTRING
|
|
50
|
+
xpcTestDOMString();
|
|
51
|
+
virtual ~xpcTestDOMString();
|
|
52
|
+
private:
|
|
53
|
+
nsString mStr;
|
|
54
|
+
};
|
|
55
|
+
|
|
56
|
+
NS_IMPL_ISUPPORTS1(xpcTestDOMString, nsIXPCTestDOMString)
|
|
57
|
+
|
|
58
|
+
xpcTestDOMString::xpcTestDOMString()
|
|
59
|
+
{
|
|
60
|
+
NS_ADDREF_THIS();
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
xpcTestDOMString::~xpcTestDOMString()
|
|
64
|
+
{
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
NS_IMETHODIMP
|
|
68
|
+
xpcTestDOMString::HereHaveADOMString(const nsAString &str)
|
|
69
|
+
{
|
|
70
|
+
// assignment will share buffer if possible
|
|
71
|
+
mStr = str;
|
|
72
|
+
return NS_OK;
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
NS_IMETHODIMP
|
|
76
|
+
xpcTestDOMString::DontKeepThisOne(const nsAString &str)
|
|
77
|
+
{
|
|
78
|
+
nsCString c; c.AssignWithConversion(str);
|
|
79
|
+
fprintf(stderr, "xpcTestDOMString::DontKeepThisOne: \"%s\"\n", c.get());
|
|
80
|
+
return NS_OK;
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
NS_IMETHODIMP
|
|
84
|
+
xpcTestDOMString::GiveDOMStringTo(nsIXPCTestDOMString *recv)
|
|
85
|
+
{
|
|
86
|
+
NS_NAMED_LITERAL_STRING(myString, "A DOM String, Just For You");
|
|
87
|
+
return recv->HereHaveADOMString(myString);
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
NS_IMETHODIMP
|
|
91
|
+
xpcTestDOMString::PassDOMStringThroughTo(const nsAString &str,
|
|
92
|
+
nsIXPCTestDOMString *recv)
|
|
93
|
+
{
|
|
94
|
+
return recv->HereHaveADOMString(str);
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
|
|
98
|
+
NS_IMETHODIMP
|
|
99
|
+
xpctest::ConstructXPCTestDOMString(nsISupports *aOuter, REFNSIID aIID,
|
|
100
|
+
void **aResult)
|
|
101
|
+
{
|
|
102
|
+
nsresult rv;
|
|
103
|
+
NS_ASSERTION(!aOuter, "no aggregation");
|
|
104
|
+
xpcTestDOMString *obj = new xpcTestDOMString();
|
|
105
|
+
if (obj)
|
|
106
|
+
{
|
|
107
|
+
rv = obj->QueryInterface(aIID, aResult);
|
|
108
|
+
NS_ASSERTION(NS_SUCCEEDED(rv), "unable to find correct interface");
|
|
109
|
+
NS_RELEASE(obj);
|
|
110
|
+
}
|
|
111
|
+
else
|
|
112
|
+
{
|
|
113
|
+
*aResult = nsnull;
|
|
114
|
+
rv = NS_ERROR_OUT_OF_MEMORY;
|
|
115
|
+
}
|
|
116
|
+
return rv;
|
|
117
|
+
}
|
|
118
|
+
|
|
@@ -0,0 +1,616 @@
|
|
|
1
|
+
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
|
|
2
|
+
*
|
|
3
|
+
* ***** BEGIN LICENSE BLOCK *****
|
|
4
|
+
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
|
|
5
|
+
*
|
|
6
|
+
* The contents of this file are subject to the Mozilla Public License Version
|
|
7
|
+
* 1.1 (the "License"); you may not use this file except in compliance with
|
|
8
|
+
* the License. You may obtain a copy of the License at
|
|
9
|
+
* http://www.mozilla.org/MPL/
|
|
10
|
+
*
|
|
11
|
+
* Software distributed under the License is distributed on an "AS IS" basis,
|
|
12
|
+
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
|
13
|
+
* for the specific language governing rights and limitations under the
|
|
14
|
+
* License.
|
|
15
|
+
*
|
|
16
|
+
* The Original Code is Mozilla Communicator client code, released
|
|
17
|
+
* March 31, 1998.
|
|
18
|
+
*
|
|
19
|
+
* The Initial Developer of the Original Code is
|
|
20
|
+
* Netscape Communications Corporation.
|
|
21
|
+
* Portions created by the Initial Developer are Copyright (C) 1998
|
|
22
|
+
* the Initial Developer. All Rights Reserved.
|
|
23
|
+
*
|
|
24
|
+
* Contributor(s):
|
|
25
|
+
* John Bandhauer <jband@netscape.com>
|
|
26
|
+
*
|
|
27
|
+
* Alternatively, the contents of this file may be used under the terms of
|
|
28
|
+
* either of the GNU General Public License Version 2 or later (the "GPL"),
|
|
29
|
+
* or the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
|
|
30
|
+
* in which case the provisions of the GPL or the LGPL are applicable instead
|
|
31
|
+
* of those above. If you wish to allow use of your version of this file only
|
|
32
|
+
* under the terms of either the GPL or the LGPL, and not to allow others to
|
|
33
|
+
* use your version of this file under the terms of the MPL, indicate your
|
|
34
|
+
* decision by deleting the provisions above and replace them with the notice
|
|
35
|
+
* and other provisions required by the GPL or the LGPL. If you do not delete
|
|
36
|
+
* the provisions above, a recipient may use your version of this file under
|
|
37
|
+
* the terms of any one of the MPL, the GPL or the LGPL.
|
|
38
|
+
*
|
|
39
|
+
* ***** END LICENSE BLOCK ***** */
|
|
40
|
+
|
|
41
|
+
/* implement nsIEcho for testing. */
|
|
42
|
+
|
|
43
|
+
#include "xpctest_private.h"
|
|
44
|
+
|
|
45
|
+
#if defined(WIN32) && !defined(XPCONNECT_STANDALONE)
|
|
46
|
+
#define IMPLEMENT_TIMER_STUFF 1
|
|
47
|
+
#endif
|
|
48
|
+
|
|
49
|
+
class xpctestEcho : public nsIEcho
|
|
50
|
+
#ifdef IMPLEMENT_TIMER_STUFF
|
|
51
|
+
, public nsITimerCallback
|
|
52
|
+
#endif // IMPLEMENT_TIMER_STUFF
|
|
53
|
+
{
|
|
54
|
+
public:
|
|
55
|
+
NS_DECL_ISUPPORTS
|
|
56
|
+
NS_DECL_NSIECHO
|
|
57
|
+
|
|
58
|
+
#ifdef IMPLEMENT_TIMER_STUFF
|
|
59
|
+
NS_DECL_NSITIMERCALLBACK
|
|
60
|
+
#endif // IMPLEMENT_TIMER_STUFF
|
|
61
|
+
|
|
62
|
+
xpctestEcho();
|
|
63
|
+
virtual ~xpctestEcho();
|
|
64
|
+
private:
|
|
65
|
+
nsIEcho* mReceiver;
|
|
66
|
+
char* mString;
|
|
67
|
+
PRInt32 mSomeValue;
|
|
68
|
+
};
|
|
69
|
+
|
|
70
|
+
/***************************************************************************/
|
|
71
|
+
|
|
72
|
+
#ifdef IMPLEMENT_TIMER_STUFF
|
|
73
|
+
NS_IMPL_ISUPPORTS2(xpctestEcho, nsIEcho, nsITimerCallback)
|
|
74
|
+
#else
|
|
75
|
+
NS_IMPL_ISUPPORTS1(xpctestEcho, nsIEcho)
|
|
76
|
+
#endif // IMPLEMENT_TIMER_STUFF
|
|
77
|
+
|
|
78
|
+
xpctestEcho::xpctestEcho()
|
|
79
|
+
: mReceiver(nsnull), mString(nsnull), mSomeValue(0)
|
|
80
|
+
{
|
|
81
|
+
NS_ADDREF_THIS();
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
xpctestEcho::~xpctestEcho()
|
|
85
|
+
{
|
|
86
|
+
NS_IF_RELEASE(mReceiver);
|
|
87
|
+
if(mString)
|
|
88
|
+
nsMemory::Free(mString);
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
NS_IMETHODIMP xpctestEcho::SetReceiver(nsIEcho* aReceiver)
|
|
92
|
+
{
|
|
93
|
+
NS_IF_ADDREF(aReceiver);
|
|
94
|
+
NS_IF_RELEASE(mReceiver);
|
|
95
|
+
mReceiver = aReceiver;
|
|
96
|
+
return NS_OK;
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
NS_IMETHODIMP xpctestEcho::SendOneString(const char* str)
|
|
100
|
+
{
|
|
101
|
+
if(mReceiver)
|
|
102
|
+
return mReceiver->SendOneString(str);
|
|
103
|
+
return NS_OK;
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
NS_IMETHODIMP xpctestEcho::In2OutOneInt(int input, int* output)
|
|
107
|
+
{
|
|
108
|
+
*output = input;
|
|
109
|
+
return NS_OK;
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
/* DOMString In2OutOneDOMString (in DOMString input); */
|
|
113
|
+
NS_IMETHODIMP xpctestEcho::In2OutOneDOMString(const nsAString & input,
|
|
114
|
+
nsAString & _retval)
|
|
115
|
+
{
|
|
116
|
+
_retval.Assign(input);
|
|
117
|
+
return NS_OK;
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
/* DOMString EchoIn2OutOneDOMString (in DOMString input); */
|
|
121
|
+
NS_IMETHODIMP xpctestEcho::EchoIn2OutOneDOMString(const nsAString & input, nsAString & _retval)
|
|
122
|
+
{
|
|
123
|
+
if(mReceiver)
|
|
124
|
+
return mReceiver->EchoIn2OutOneDOMString(input, _retval);
|
|
125
|
+
return NS_OK;
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
/* AString In2OutOneAString (in AString input); */
|
|
129
|
+
NS_IMETHODIMP xpctestEcho::In2OutOneAString(const nsAString & input,
|
|
130
|
+
nsAString & _retval)
|
|
131
|
+
{
|
|
132
|
+
_retval.Assign(input);
|
|
133
|
+
return NS_OK;
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
/* AString EchoIn2OutOneAString (in AString input); */
|
|
137
|
+
NS_IMETHODIMP xpctestEcho::EchoIn2OutOneAString(const nsAString & input, nsAString & _retval)
|
|
138
|
+
{
|
|
139
|
+
if(mReceiver)
|
|
140
|
+
return mReceiver->EchoIn2OutOneAString(input, _retval);
|
|
141
|
+
return NS_OK;
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
|
|
145
|
+
/* UTF8String In2OutOneUTF8String (in UTF8String input); */
|
|
146
|
+
NS_IMETHODIMP xpctestEcho::In2OutOneUTF8String(const nsACString & input,
|
|
147
|
+
nsACString & _retval)
|
|
148
|
+
{
|
|
149
|
+
_retval.Assign(input);
|
|
150
|
+
return NS_OK;
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
/* UTF8String EchoIn2OutOneUTF8String (in UTF8String input); */
|
|
154
|
+
NS_IMETHODIMP xpctestEcho::EchoIn2OutOneUTF8String(const nsACString & input,
|
|
155
|
+
nsACString & _retval)
|
|
156
|
+
{
|
|
157
|
+
if(mReceiver)
|
|
158
|
+
return mReceiver->EchoIn2OutOneUTF8String(input, _retval);
|
|
159
|
+
return NS_OK;
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
/* CString In2OutOneCString (in CString input); */
|
|
163
|
+
NS_IMETHODIMP xpctestEcho::In2OutOneCString(const nsACString & input,
|
|
164
|
+
nsACString & _retval)
|
|
165
|
+
{
|
|
166
|
+
_retval.Assign(input);
|
|
167
|
+
return NS_OK;
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
/* CString EchoIn2OutOneCString (in CString input); */
|
|
171
|
+
NS_IMETHODIMP xpctestEcho::EchoIn2OutOneCString(const nsACString & input,
|
|
172
|
+
nsACString & _retval)
|
|
173
|
+
{
|
|
174
|
+
if(mReceiver)
|
|
175
|
+
return mReceiver->EchoIn2OutOneCString(input, _retval);
|
|
176
|
+
return NS_OK;
|
|
177
|
+
}
|
|
178
|
+
|
|
179
|
+
|
|
180
|
+
NS_IMETHODIMP xpctestEcho::In2OutAddTwoInts(int input1,
|
|
181
|
+
int input2,
|
|
182
|
+
int* output1,
|
|
183
|
+
int* output2,
|
|
184
|
+
int* result)
|
|
185
|
+
{
|
|
186
|
+
*output1 = input1;
|
|
187
|
+
*output2 = input2;
|
|
188
|
+
*result = input1+input2;
|
|
189
|
+
return NS_OK;
|
|
190
|
+
}
|
|
191
|
+
|
|
192
|
+
NS_IMETHODIMP xpctestEcho::In2OutOneString(const char* input, char** output)
|
|
193
|
+
{
|
|
194
|
+
char* p;
|
|
195
|
+
int len;
|
|
196
|
+
if(input && output &&
|
|
197
|
+
(nsnull != (p = (char*)nsMemory::Alloc(len=strlen(input)+1))))
|
|
198
|
+
{
|
|
199
|
+
memcpy(p, input, len);
|
|
200
|
+
*output = p;
|
|
201
|
+
return NS_OK;
|
|
202
|
+
}
|
|
203
|
+
if(output)
|
|
204
|
+
*output = nsnull;
|
|
205
|
+
return NS_ERROR_FAILURE;
|
|
206
|
+
}
|
|
207
|
+
|
|
208
|
+
NS_IMETHODIMP xpctestEcho::SimpleCallNoEcho()
|
|
209
|
+
{
|
|
210
|
+
return NS_OK;
|
|
211
|
+
}
|
|
212
|
+
|
|
213
|
+
NS_IMETHODIMP
|
|
214
|
+
xpctestEcho::SendManyTypes(PRUint8 p1,
|
|
215
|
+
PRInt16 p2,
|
|
216
|
+
PRInt32 p3,
|
|
217
|
+
PRInt64 p4,
|
|
218
|
+
PRUint8 p5,
|
|
219
|
+
PRUint16 p6,
|
|
220
|
+
PRUint32 p7,
|
|
221
|
+
PRUint64 p8,
|
|
222
|
+
float p9,
|
|
223
|
+
double p10,
|
|
224
|
+
PRBool p11,
|
|
225
|
+
char p12,
|
|
226
|
+
PRUnichar p13,
|
|
227
|
+
const nsID* p14,
|
|
228
|
+
const char* p15,
|
|
229
|
+
const PRUnichar* p16)
|
|
230
|
+
{
|
|
231
|
+
if(mReceiver)
|
|
232
|
+
return mReceiver->SendManyTypes(p1, p2, p3, p4, p5, p6, p7, p8, p9,
|
|
233
|
+
p10, p11, p12, p13, p14, p15, p16);
|
|
234
|
+
return NS_OK;
|
|
235
|
+
}
|
|
236
|
+
|
|
237
|
+
NS_IMETHODIMP
|
|
238
|
+
xpctestEcho::SendInOutManyTypes(PRUint8* p1,
|
|
239
|
+
PRInt16* p2,
|
|
240
|
+
PRInt32* p3,
|
|
241
|
+
PRInt64* p4,
|
|
242
|
+
PRUint8* p5,
|
|
243
|
+
PRUint16* p6,
|
|
244
|
+
PRUint32* p7,
|
|
245
|
+
PRUint64* p8,
|
|
246
|
+
float* p9,
|
|
247
|
+
double* p10,
|
|
248
|
+
PRBool* p11,
|
|
249
|
+
char* p12,
|
|
250
|
+
PRUnichar* p13,
|
|
251
|
+
nsID** p14,
|
|
252
|
+
char** p15,
|
|
253
|
+
PRUnichar** p16)
|
|
254
|
+
{
|
|
255
|
+
if(mReceiver)
|
|
256
|
+
return mReceiver->SendInOutManyTypes(p1, p2, p3, p4, p5, p6, p7, p8, p9,
|
|
257
|
+
p10, p11, p12, p13, p14, p15, p16);
|
|
258
|
+
return NS_OK;
|
|
259
|
+
}
|
|
260
|
+
|
|
261
|
+
NS_IMETHODIMP
|
|
262
|
+
xpctestEcho::MethodWithNative(int p1, void* p2)
|
|
263
|
+
{
|
|
264
|
+
return NS_OK;
|
|
265
|
+
}
|
|
266
|
+
|
|
267
|
+
NS_IMETHODIMP
|
|
268
|
+
xpctestEcho::ReturnCode(int code)
|
|
269
|
+
{
|
|
270
|
+
return (nsresult) code;
|
|
271
|
+
}
|
|
272
|
+
|
|
273
|
+
NS_IMETHODIMP
|
|
274
|
+
xpctestEcho::FailInJSTest(int fail)
|
|
275
|
+
{
|
|
276
|
+
if(mReceiver)
|
|
277
|
+
return mReceiver->FailInJSTest(fail);
|
|
278
|
+
return NS_OK;
|
|
279
|
+
}
|
|
280
|
+
|
|
281
|
+
NS_IMETHODIMP
|
|
282
|
+
xpctestEcho::SharedString(const char **str)
|
|
283
|
+
{
|
|
284
|
+
*str = "a static string";
|
|
285
|
+
/*
|
|
286
|
+
// to do non-shared we clone the string:
|
|
287
|
+
char buf[] = "a static string";
|
|
288
|
+
int len;
|
|
289
|
+
*str = (char*)nsMemory::Alloc(len=strlen(buf)+1);
|
|
290
|
+
memcpy(*str, buf, len);
|
|
291
|
+
*/
|
|
292
|
+
return NS_OK;
|
|
293
|
+
}
|
|
294
|
+
|
|
295
|
+
NS_IMETHODIMP
|
|
296
|
+
xpctestEcho::ReturnCode_NS_OK()
|
|
297
|
+
{return NS_OK;}
|
|
298
|
+
|
|
299
|
+
NS_IMETHODIMP
|
|
300
|
+
xpctestEcho::ReturnCode_NS_ERROR_NULL_POINTER()
|
|
301
|
+
{return NS_ERROR_NULL_POINTER;}
|
|
302
|
+
|
|
303
|
+
NS_IMETHODIMP
|
|
304
|
+
xpctestEcho::ReturnCode_NS_ERROR_UNEXPECTED()
|
|
305
|
+
{return NS_ERROR_UNEXPECTED;}
|
|
306
|
+
|
|
307
|
+
NS_IMETHODIMP
|
|
308
|
+
xpctestEcho::ReturnCode_NS_ERROR_OUT_OF_MEMORY()
|
|
309
|
+
{return NS_ERROR_OUT_OF_MEMORY;}
|
|
310
|
+
|
|
311
|
+
NS_IMETHODIMP
|
|
312
|
+
xpctestEcho::ReturnInterface(nsISupports *obj, nsISupports **_retval)
|
|
313
|
+
{
|
|
314
|
+
if(!_retval)
|
|
315
|
+
return NS_ERROR_NULL_POINTER;
|
|
316
|
+
if(obj)
|
|
317
|
+
NS_ADDREF(obj);
|
|
318
|
+
*_retval = obj;
|
|
319
|
+
return NS_OK;
|
|
320
|
+
}
|
|
321
|
+
|
|
322
|
+
/* nsIStackFrame GetStack (); */
|
|
323
|
+
NS_IMETHODIMP
|
|
324
|
+
xpctestEcho::GetStack(nsIStackFrame **_retval)
|
|
325
|
+
{
|
|
326
|
+
nsIStackFrame* stack = nsnull;
|
|
327
|
+
if(!_retval)
|
|
328
|
+
return NS_ERROR_NULL_POINTER;
|
|
329
|
+
|
|
330
|
+
nsresult rv;
|
|
331
|
+
nsCOMPtr<nsIXPConnect> xpc(do_GetService(nsIXPConnect::GetCID(), &rv));
|
|
332
|
+
if(NS_SUCCEEDED(rv))
|
|
333
|
+
{
|
|
334
|
+
nsIStackFrame* jsstack;
|
|
335
|
+
if(NS_SUCCEEDED(xpc->GetCurrentJSStack(&jsstack)) && jsstack)
|
|
336
|
+
{
|
|
337
|
+
xpc->CreateStackFrameLocation(nsIProgrammingLanguage::CPLUSPLUS,
|
|
338
|
+
__FILE__,
|
|
339
|
+
"xpctestEcho::GetStack",
|
|
340
|
+
__LINE__,
|
|
341
|
+
jsstack,
|
|
342
|
+
&stack);
|
|
343
|
+
NS_RELEASE(jsstack);
|
|
344
|
+
}
|
|
345
|
+
}
|
|
346
|
+
|
|
347
|
+
if(stack)
|
|
348
|
+
{
|
|
349
|
+
*_retval = stack;
|
|
350
|
+
return NS_OK;
|
|
351
|
+
}
|
|
352
|
+
return NS_ERROR_FAILURE;
|
|
353
|
+
}
|
|
354
|
+
|
|
355
|
+
/* void SetReceiverReturnOldReceiver (inout nsIEcho aReceiver); */
|
|
356
|
+
NS_IMETHODIMP
|
|
357
|
+
xpctestEcho::SetReceiverReturnOldReceiver(nsIEcho **aReceiver)
|
|
358
|
+
{
|
|
359
|
+
if(!aReceiver)
|
|
360
|
+
return NS_ERROR_NULL_POINTER;
|
|
361
|
+
|
|
362
|
+
nsIEcho* oldReceiver = mReceiver;
|
|
363
|
+
mReceiver = *aReceiver;
|
|
364
|
+
if(mReceiver)
|
|
365
|
+
NS_ADDREF(mReceiver);
|
|
366
|
+
|
|
367
|
+
/* don't release the reference, that is the caller's problem */
|
|
368
|
+
*aReceiver = oldReceiver;
|
|
369
|
+
return NS_OK;
|
|
370
|
+
}
|
|
371
|
+
|
|
372
|
+
/* void MethodWithForwardDeclaredParam (in nsITestXPCSomeUselessThing sut); */
|
|
373
|
+
NS_IMETHODIMP
|
|
374
|
+
xpctestEcho::MethodWithForwardDeclaredParam(nsITestXPCSomeUselessThing *sut)
|
|
375
|
+
{
|
|
376
|
+
return NS_OK;
|
|
377
|
+
}
|
|
378
|
+
|
|
379
|
+
/* void PseudoQueryInterface (in nsIIDRef uuid, [iid_is (uuid), retval] out nsQIResult result); */
|
|
380
|
+
NS_IMETHODIMP
|
|
381
|
+
xpctestEcho::PseudoQueryInterface(const nsIID & uuid, void * *result)
|
|
382
|
+
{
|
|
383
|
+
if(!result)
|
|
384
|
+
return NS_ERROR_NULL_POINTER;
|
|
385
|
+
if(mReceiver)
|
|
386
|
+
return mReceiver->PseudoQueryInterface(uuid, result);
|
|
387
|
+
return NS_OK;
|
|
388
|
+
}
|
|
389
|
+
|
|
390
|
+
/* void DebugDumpJSStack (); */
|
|
391
|
+
NS_IMETHODIMP
|
|
392
|
+
xpctestEcho::DebugDumpJSStack()
|
|
393
|
+
{
|
|
394
|
+
nsresult rv;
|
|
395
|
+
nsCOMPtr<nsIXPConnect> xpc(do_GetService(nsIXPConnect::GetCID(), &rv));
|
|
396
|
+
if(NS_SUCCEEDED(rv))
|
|
397
|
+
{
|
|
398
|
+
rv = xpc->DebugDumpJSStack(JS_TRUE, JS_TRUE, JS_TRUE);
|
|
399
|
+
}
|
|
400
|
+
return rv;
|
|
401
|
+
}
|
|
402
|
+
|
|
403
|
+
/* attribute string aString; */
|
|
404
|
+
NS_IMETHODIMP
|
|
405
|
+
xpctestEcho::GetAString(char * *aAString)
|
|
406
|
+
{
|
|
407
|
+
printf(">>>> xpctestEcho::GetAString called\n");
|
|
408
|
+
if(mString)
|
|
409
|
+
*aAString = (char*) nsMemory::Clone(mString, strlen(mString)+1);
|
|
410
|
+
else
|
|
411
|
+
*aAString = nsnull;
|
|
412
|
+
return NS_OK;
|
|
413
|
+
}
|
|
414
|
+
NS_IMETHODIMP
|
|
415
|
+
xpctestEcho::SetAString(const char * aAString)
|
|
416
|
+
{
|
|
417
|
+
printf("<<<< xpctestEcho::SetAString called\n");
|
|
418
|
+
if(mString)
|
|
419
|
+
nsMemory::Free(mString);
|
|
420
|
+
if(aAString)
|
|
421
|
+
mString = (char*) nsMemory::Clone(aAString, strlen(aAString)+1);
|
|
422
|
+
else
|
|
423
|
+
mString = nsnull;
|
|
424
|
+
return NS_OK;
|
|
425
|
+
}
|
|
426
|
+
|
|
427
|
+
|
|
428
|
+
|
|
429
|
+
/***************************************************/
|
|
430
|
+
|
|
431
|
+
// some tests of nsIXPCNativeCallContext
|
|
432
|
+
|
|
433
|
+
#define GET_CALL_CONTEXT \
|
|
434
|
+
nsresult rv; \
|
|
435
|
+
nsAXPCNativeCallContext *cc = nsnull; \
|
|
436
|
+
nsCOMPtr<nsIXPConnect> xpc(do_GetService(nsIXPConnect::GetCID(), &rv)); \
|
|
437
|
+
if(NS_SUCCEEDED(rv)) \
|
|
438
|
+
rv = xpc->GetCurrentNativeCallContext(&cc) /* no ';' */
|
|
439
|
+
|
|
440
|
+
/* void printArgTypes (); */
|
|
441
|
+
NS_IMETHODIMP
|
|
442
|
+
xpctestEcho::PrintArgTypes(void)
|
|
443
|
+
{
|
|
444
|
+
GET_CALL_CONTEXT;
|
|
445
|
+
if(NS_FAILED(rv) || !cc)
|
|
446
|
+
return NS_ERROR_FAILURE;
|
|
447
|
+
|
|
448
|
+
nsCOMPtr<nsISupports> callee;
|
|
449
|
+
if(NS_FAILED(cc->GetCallee(getter_AddRefs(callee))) ||
|
|
450
|
+
callee != static_cast<nsIEcho*>(this))
|
|
451
|
+
return NS_ERROR_FAILURE;
|
|
452
|
+
|
|
453
|
+
PRUint32 argc;
|
|
454
|
+
if(NS_SUCCEEDED(cc->GetArgc(&argc)))
|
|
455
|
+
printf("argc = %d ", (int)argc);
|
|
456
|
+
else
|
|
457
|
+
return NS_ERROR_FAILURE;
|
|
458
|
+
|
|
459
|
+
jsval* argv;
|
|
460
|
+
if(NS_FAILED(cc->GetArgvPtr(&argv)))
|
|
461
|
+
return NS_ERROR_FAILURE;
|
|
462
|
+
|
|
463
|
+
printf("argv types = [");
|
|
464
|
+
|
|
465
|
+
for(PRUint32 i = 0; i < argc; i++)
|
|
466
|
+
{
|
|
467
|
+
const char* type = "<unknown>";
|
|
468
|
+
if(JSVAL_IS_OBJECT(argv[i]))
|
|
469
|
+
{
|
|
470
|
+
if(JSVAL_IS_NULL(argv[i]))
|
|
471
|
+
type = "null";
|
|
472
|
+
else
|
|
473
|
+
type = "object";
|
|
474
|
+
}
|
|
475
|
+
else if (JSVAL_IS_BOOLEAN(argv[i]))
|
|
476
|
+
type = "boolean";
|
|
477
|
+
else if (JSVAL_IS_STRING(argv[i]))
|
|
478
|
+
type = "string";
|
|
479
|
+
else if (JSVAL_IS_DOUBLE(argv[i]))
|
|
480
|
+
type = "double";
|
|
481
|
+
else if (JSVAL_IS_INT(argv[i]))
|
|
482
|
+
type = "int";
|
|
483
|
+
else if (JSVAL_IS_VOID(argv[i]))
|
|
484
|
+
type = "void";
|
|
485
|
+
|
|
486
|
+
printf(type);
|
|
487
|
+
|
|
488
|
+
if(i < argc-1)
|
|
489
|
+
printf(", ");
|
|
490
|
+
}
|
|
491
|
+
printf("]\n");
|
|
492
|
+
|
|
493
|
+
return NS_OK;
|
|
494
|
+
}
|
|
495
|
+
|
|
496
|
+
/* void throwArg (); */
|
|
497
|
+
NS_IMETHODIMP
|
|
498
|
+
xpctestEcho::ThrowArg(void)
|
|
499
|
+
{
|
|
500
|
+
GET_CALL_CONTEXT;
|
|
501
|
+
if(NS_FAILED(rv) || !cc)
|
|
502
|
+
return NS_ERROR_FAILURE;
|
|
503
|
+
|
|
504
|
+
nsCOMPtr<nsISupports> callee;
|
|
505
|
+
if(NS_FAILED(cc->GetCallee(getter_AddRefs(callee))) ||
|
|
506
|
+
callee != static_cast<nsIEcho*>(this))
|
|
507
|
+
return NS_ERROR_FAILURE;
|
|
508
|
+
|
|
509
|
+
PRUint32 argc;
|
|
510
|
+
if(NS_FAILED(cc->GetArgc(&argc)) || !argc)
|
|
511
|
+
return NS_OK;
|
|
512
|
+
|
|
513
|
+
jsval* argv;
|
|
514
|
+
JSContext* cx;
|
|
515
|
+
if(NS_FAILED(cc->GetArgvPtr(&argv)) ||
|
|
516
|
+
NS_FAILED(cc->GetJSContext(&cx)))
|
|
517
|
+
return NS_ERROR_FAILURE;
|
|
518
|
+
|
|
519
|
+
JS_SetPendingException(cx, argv[0]);
|
|
520
|
+
return NS_OK;
|
|
521
|
+
}
|
|
522
|
+
|
|
523
|
+
/* void callReceiverSometimeLater (); */
|
|
524
|
+
NS_IMETHODIMP
|
|
525
|
+
xpctestEcho::CallReceiverSometimeLater(void)
|
|
526
|
+
{
|
|
527
|
+
// Mac does not even compile this code and Unix build systems
|
|
528
|
+
// have build order problems with linking to the static timer lib
|
|
529
|
+
// as it is built today. This is only test code and we can stand to
|
|
530
|
+
// have it only work on Win32 for now.
|
|
531
|
+
|
|
532
|
+
#ifdef IMPLEMENT_TIMER_STUFF
|
|
533
|
+
nsCOMPtr<nsITimer> timer;
|
|
534
|
+
nsresult rv;
|
|
535
|
+
timer = do_CreateInstance("@mozilla.org/timer;1", &rv);
|
|
536
|
+
if(NS_FAILED(rv))
|
|
537
|
+
return NS_ERROR_FAILURE;
|
|
538
|
+
timer->InitWithCallback(static_cast<nsITimerCallback*>(this), 2000,
|
|
539
|
+
nsITimer::TYPE_ONE_SHOT);
|
|
540
|
+
return NS_OK;
|
|
541
|
+
#else
|
|
542
|
+
return NS_ERROR_NOT_IMPLEMENTED;
|
|
543
|
+
#endif // IMPLEMENT_TIMER_STUFF
|
|
544
|
+
}
|
|
545
|
+
|
|
546
|
+
#ifdef IMPLEMENT_TIMER_STUFF
|
|
547
|
+
NS_IMETHODIMP
|
|
548
|
+
xpctestEcho::Notify(nsITimer *timer)
|
|
549
|
+
{
|
|
550
|
+
if(mReceiver)
|
|
551
|
+
mReceiver->CallReceiverSometimeLater();
|
|
552
|
+
NS_RELEASE(timer);
|
|
553
|
+
return NS_OK;
|
|
554
|
+
}
|
|
555
|
+
#endif // IMPLEMENT_TIMER_STUFF
|
|
556
|
+
|
|
557
|
+
/* readonly attribute short throwInGetter; */
|
|
558
|
+
NS_IMETHODIMP
|
|
559
|
+
xpctestEcho::GetThrowInGetter(PRInt16 *aThrowInGetter)
|
|
560
|
+
{
|
|
561
|
+
return NS_ERROR_FAILURE;
|
|
562
|
+
}
|
|
563
|
+
|
|
564
|
+
/* void callFunction (in nsITestXPCFunctionCallback callback, in string s); */
|
|
565
|
+
NS_IMETHODIMP
|
|
566
|
+
xpctestEcho::CallFunction(nsITestXPCFunctionCallback *callback, const char *s)
|
|
567
|
+
{
|
|
568
|
+
return callback->Call(s);
|
|
569
|
+
}
|
|
570
|
+
|
|
571
|
+
/* void callFunction (in nsITestXPCFunctionCallback callback, in string s); */
|
|
572
|
+
NS_IMETHODIMP
|
|
573
|
+
xpctestEcho::CallFunctionWithThis(nsITestXPCFunctionCallback *callback, nsISupports* self, const char *s)
|
|
574
|
+
{
|
|
575
|
+
return callback->CallWithThis(self, s);
|
|
576
|
+
}
|
|
577
|
+
|
|
578
|
+
/* attribute PRInt32 SomeValue; */
|
|
579
|
+
NS_IMETHODIMP
|
|
580
|
+
xpctestEcho::GetSomeValue(PRInt32 *aSomeValue)
|
|
581
|
+
{
|
|
582
|
+
*aSomeValue = mSomeValue;
|
|
583
|
+
return NS_OK;
|
|
584
|
+
}
|
|
585
|
+
|
|
586
|
+
NS_IMETHODIMP xpctestEcho::SetSomeValue(PRInt32 aSomeValue)
|
|
587
|
+
|
|
588
|
+
{
|
|
589
|
+
mSomeValue = aSomeValue;
|
|
590
|
+
return NS_OK;
|
|
591
|
+
}
|
|
592
|
+
|
|
593
|
+
/***************************************************************************/
|
|
594
|
+
|
|
595
|
+
// static
|
|
596
|
+
NS_IMETHODIMP
|
|
597
|
+
xpctest::ConstructEcho(nsISupports *aOuter, REFNSIID aIID, void **aResult)
|
|
598
|
+
{
|
|
599
|
+
nsresult rv;
|
|
600
|
+
NS_ASSERTION(aOuter == nsnull, "no aggregation");
|
|
601
|
+
xpctestEcho* obj = new xpctestEcho();
|
|
602
|
+
|
|
603
|
+
if(obj)
|
|
604
|
+
{
|
|
605
|
+
rv = obj->QueryInterface(aIID, aResult);
|
|
606
|
+
NS_ASSERTION(NS_SUCCEEDED(rv), "unable to find correct interface");
|
|
607
|
+
NS_RELEASE(obj);
|
|
608
|
+
}
|
|
609
|
+
else
|
|
610
|
+
{
|
|
611
|
+
*aResult = nsnull;
|
|
612
|
+
rv = NS_ERROR_OUT_OF_MEMORY;
|
|
613
|
+
}
|
|
614
|
+
|
|
615
|
+
return rv;
|
|
616
|
+
}
|